Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information Technology degree will be awarded to a student who has successfully completed all modules at Level 1, all modules at Level 2 and six degree level modules. The six degree level modules students must successfully complete are the five mandatory modules of CA, MS00B, HSA, CTA and SDA and one of the elective modules MSA or CB. Students who have successfully completed both the MSA and CB modules prior to the start of the 2015/2016 academic year must complete the modules CA, CB, MSA, MS00B, CTA and HSA to be eligible for award of the degree. Description This module covers a variety of key topics in software development including, testing, documentation, version control, XML, client/server and network communication, User Interface and User Experience design, developing using APIs and SDKS, developing for platforms with constrained resources, using input from sensors, and presentation of developed work to others in written and oral modes. Students will learn fundamental principles, methodologies and design patterns and apply them using Java and the Android mobile application development platform. Learning Outcomes Upon completing this course students should be able to: 1. Use XML to model data 2. Explain a mobile platform's organization in terms of its SDK and APIs 3. Evaluate and select strategies for differentiating and porting between mobile platforms 4. Use design patterns to create event driven user interfaces for mobile applications. 5. Debug and optimise a mobile application 6. Unit Test applications using appropriate tools 7. Document programmes using appropriate tools 8. Demonstrate, in designing and building applications, how to accommodate the key forces and constraints acting on handheld devices 9. Use version control to develop software 10. Develop applications that are capable of interfacing with smartphone hardware e.g. camera, compass, accelerometer and global positioning system (GPS) receiver. 11. Create network enabled applications for smartphone devices that are capable of connecting to the Internet and interacting with web services. 12. Develop smartphone applications with integrated support for multimedia.
13. Create applications that can persist, retrieve and share data. 14. Use the various features of the android development framework including UI, resources, security, multimedia, location, etc. 15. Demonstrate and present the results of work in written form 16. Present and discuss the results of work orally Assessment Breakdown Continuous assessment 100% Examination Weight 0% Coursework Breakdown Type Description % of Total Assessment Date Student Research Paper Compare different mobile platforms: Research: market share, jobs, native Vs Multi platform, functionality 15 Oct 2014 Project Security, Activities, debug and optimise Unit Testing, XML, UI, MVC, Data Access, Version Control, Communication Development of mobile application and associated documentation: Project: hardware access and sensors, 15 Nov 2014 15 Dec 2014 15 Jan 2015 30 April 2015
Presentation Presentation and demonstration of completed app. 10 April 2015 Reassessment Requirement 1 = A resit is available for all components of the module 1 Indicative Content and Learning Activities Mobile Development Android Platform Mobile Development Platform Android Platform Linux Kernel, Dalvik Virtual Machine. Android ART ( new virtual machine) Setting up Android Environment Eclipse IDE, Android SDK, Emulators, Debugger Compare & contrast Android with a multi platform development environment & tool kit Phonegap Mobile Design Issues Memory Screen Size Security Modes of Interaction Android Application Building Blocks 1 Android Classes in detail Activity Intent Permissions User Interface Design Design Patterns Guidelines & Heuristics Prototyping 1 Some elements requiring the presence of other students may not be repeatable such as presentations
XML Android User Interface Classes Prerequisite XML Android UI Based Classes Views Layouts Menus Dialogs Widgets Fragments Version Control, Unit Testing, Documentation GIT repository JUnit Testing Android Specific Testing JavaDoc Design Pattern: Event Handling. MVC Android Building Block 2 Android Classes concerned with Services Receivers: SMS Receiver etc Content Providers Data Management: SQLite Communication Hardware Communication Overview :Bluetooth, Network, NFC, Wi Fi Internet communication: Internet resources, Cloud, Web Services Android Communication Based Classes Hardware Access and Sensors Overview of sensors, camera etc Android specific s classes for sensors and camera Location Based Services & Maps Android Classes concerned with Maps Geocoding
Location based Services Graphics & Media Graphics & animation Multimedia Expanded Topics Expand the UI: Widgets Multi touch and gestures Expanded Topics Advanced Services: Threads & Messages Notifications & Alarms