COMP07170 2018 Mobile Application Development

General Details

Full Title
Mobile Application Development
Transcript Title
Mobile Application Development
Code
COMP07170
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
Level
07 - Level 7
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Colm Davey, John Weir, Shaun McBrearty
Programme Membership
SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KGADV_B07 201800 Bachelor of Science in Computing in Games Development SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KGADV_B07 202100 Bachelor of Science in Computing in Games Development SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202400 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202400 Bachelor of Science (Honours) in Computing
Description

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;

1.

Describe the fundamental aspects of a mobile phone operating system and its subsystems.

2.

Design an appropriate mobile application structure from a given brief, employing appropriate industry design guidelines.

3.

Implement, debug and test mobile phone applications using an OS emulator.

4.

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

Prerequisites
COMP06240 201800 Object Oriented Programming COMP06241 201800 Object Oriented Development

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 & Continuous Assessment
100 %

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
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Required & Recommended Book List

Recommended Reading
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.

Recommended Reading
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!

Recommended Reading
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

  1. Xamarin Setup
  2. Hello, Platforms!
  3. Code Sharing Between iOS and Android
  4. XamSnap - A Cross-Platform App
  5. XamSnap for iOS
  6. XamSnap for Android
  7. Deploying and Testing on Devices
  8. Contacts, Camera, and Location
  9. Web Services with Push Notifications
  10. Third-Party Libraries
  11. Xamarin.Forms
  12. App Store Submission

Module Resources

URL 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/
Other Resources

Access to an Apple Mac (with XCode installed) will be required should the subject lecturer opt for iOS/Swift development (Room E1010).