COMP07170 2018 Mobile Application Development
The aim of this module is to provide learners with the ability to design, develop, test and deploy native touchscreen mobile applications that adhere to the design guidelines of the targeted smartphone operating system.
Learning Outcomes
On completion of this module the learner will/should be able to;
Describe the fundamental aspects of a mobile phone operating system and its subsystems.
Design an appropriate mobile application structure from a given brief, employing appropriate industry design guidelines.
Implement, debug and test mobile phone applications using an OS emulator.
Deploy a mobile application to a phone and app store.
Teaching and Learning Strategies
Delivery of the module will comprise a one-hour lecture and a two-hour practical session.
The one-hour lecture will be used to introduce key concepts concepts relating to mobile application development. These concepts will later be applied practically in the subsequent two-hour practical session.
Additionally, flipped-learning and inquiry based learning will be used where appropriate.
Module Assessment Strategies
At the outset of the module, the learner will be provided with a number of requirements specification documents for a variety of potential mobile applications. The user must choose one of the available applications and then design and implement the choosen application as part of the module.
In the first assignment, the learner must develop a sequence of wireframes and paper prototypes showcasing the information architecture and visual design of their chosen application. This will be carried out over a number of weeks - beginning in Week 4, with assignment submission in Week 6.
The second assignment will see the learner implement, test and deploy their choosen application (whilst also incorporating feeback received on their application design from the first assignment). This will be carried out over a number of weeks - beginning in Week 7, with assignment submission in Week 12.
Repeat Assessments
Repeat assessment for the module will take the same form as that outlined in the Assessment Strategy section; albeit a different set of application requirements will be provided to students repeating the module.
Module Dependencies
Indicative Syllabus
1) Describe the fundamental aspects of a mobile phone operating system and its subsystems.
- Android/iOS Internal Architecture.
- OS Capabilities.
- OS Limitations.
- Mobile Application Lifecycle.
- Mobile App Architecture.
2) Design an appropriate mobile application structure from a given brief, employing appropriate industry design guidelines.
- Information Architecture.
- Android Material Design Guidelines/Apple Human Interface Guidelines (Visual Style/Design, Navigation Design, Layout Managers, UI Elements and Intended Usage).
- Use Wireframing/Prototyping Tools (Balsamiq, InVision).
3) Implement, debug and test mobile phone applications using an OS emulator.
- Android Studio/Apple XCode Primer.
- Java/Swift Language Primer.
- System Permissions.
- UI Construction.
- Event Handling.
- Local Storage.
- Push Notifications (GCM, APNS).
- Emulator Deployment.
- Unit Testing.
4) Deploy a mobile application to a phone and app store.
- Connected Device Deployment.
- App Store Submission Guidelines.
- Google Play Store/Apple App Store Submission.
- App Monetization Strategies.
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Assignment 1 - Design Document | Coursework Assessment | Assignment | 40 % | OnGoing | 2 |
2 | Assignment 2 - Develop A Mobile Application | Coursework Assessment | Assignment | 60 % | OnGoing | 1,3,4 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Lecture | 1 | Weekly | 1.00 |
Supervision | Computer Laboratory | Practical | 3 | Weekly | 3.00 |
Independent Learning | Not Specified | Independent Learning | 3 | Weekly | 3.00 |
Required & Recommended Book List
2017-08-09 Head First Android Development: A Brain-Friendly Guide O'Reilly Media
What will you learn from this book?
If you have an idea for a killer Android app, this fully revised and updated edition will help you build your first working application in a jiffy. Youll learn hands-on how to structure your app, design flexible and interactive interfaces, run services in the background, make your app work on various smartphones and tablets, and much more. Its like having an experienced Android developer sitting right next to you! All you need to get started is some Java know-how.
Why does this book look so different?
Based on the latest research in cognitive science and learning theory, Head First Android Development uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.
2017-09-26 iOS 11 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics O'Reilly Media
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 9 IDE, Cocoa Touch, and the latest version of Apples acclaimed programming language, Swift 4. With this thoroughly updated guide, youll learn the Swift language, understand Apples Xcode development tools, and discover the Cocoa framework.
- Explore Swifts object-oriented concepts
- Become familiar with built-in Swift types
- Dive deep into Swift objects, protocols, and generics
- Tour the lifecycle of an Xcode project
- Learn how nibs are loaded
- Understand Cocoas event-driven design
- Communicate with C and Objective-C
In this edition, catch up on the latest iOS programming features.
- Multiline strings and improved dictionaries
- Object serialization
- Key paths and keyvalue observing
- Expanded git integration
- Code refactoring
- And more!
2016-12-26 Xamarin 4.x Cross-Platform Application Development - Third Edition Packt Publishing
Key Features
- Write native cross-platform applications with Xamarin
- Design user interfaces that can be shared across Android, iOS, and Windows Phone using Xamarin.Forms
- Practical cross-platform development strategies
Book Description
Xamarin is a leading cross-platform application development tool used by top companies such as Coca-Cola, Honeywell, and Alaska Airlines to build apps. Version 4 features significant updates to the platform including the release of Xamarin.Forms 2.0 and improvements have been made to the iOS and Android designers. Xamarin was acquired by Microsoft so it is now a part of the Visual Studio family.
This book will show you how to build applications for iOS, Android, and Windows. You will be walked through the process of creating an application that comes complete with a back-end web service and native features such as GPS location, camera, push notifications, and other core features. Additionally, you'll learn how to use external libraries with Xamarin and Xamarin.Forms to create user interfaces. This book also provides instructions for Visual Studio and Windows.
This edition has been updated with new screenshots and detailed steps to provide you with a holistic overview of the new features in Xamarin 4.
What you will learn
- Apple's MVC design pattern
- The Android activity lifecycle
- Share C# code across platforms and call native Objective-C or Java libraries from C#
- Create a real web service back end in Windows Azure using SQL Azure as database storage
- Set up third-party libraries such as NuGet and Objective Sharpie in many different ways, and port a desktop .NET library to Xamarin
- Use Xamarin.Mobile for camera, contacts, and location
About the Author
Jonathan Peppers is a Xamarin MVP and lead developer on popular apps and games at Hitcents such as the Hanx Writer (for Tom Hanks) and the Draw a Stickman franchise. Jon has been working with C# for over 10 years working on a wide range of projects at Hitcents. Jon began his career working Self-Checkout software written in WinForms and later migrated to WPF. Over his career, he has worked with many .NET-centric technologies such as ASP.Net WebForms, MVC, Windows Azure, WinRT/UWP, F#, and Unity3D.
In recent years, Hitcents has been heavily investing in mobile development with Xamarin, and has development over 50 mobile applications across multiple platforms.
Table of Contents
- Xamarin Setup
- Hello, Platforms!
- Code Sharing Between iOS and Android
- XamSnap - A Cross-Platform App
- XamSnap for iOS
- XamSnap for Android
- Deploying and Testing on Devices
- Contacts, Camera, and Location
- Web Services with Push Notifications
- Third-Party Libraries
- Xamarin.Forms
- App Store Submission
Module Resources
Google Android Design/Development:
- https://material.io/
- https://developer.android.com/design/
- https://design.google/resources/
- https://developer.android.com/index.html
- https://developers.google.com/training/android/
Apple iOS Design/Development:
- https://developer.apple.com/design/
- https://developer.apple.com/develop/
Microsoft Xamarin Development:
- https://www.xamarin.com/
Access to an Apple Mac (with XCode installed) will be required should the subject lecturer opt for iOS/Swift development (Room E1010).