COMP7506A - Smart phone apps development

Semester 1, 2017-18

Instructor
Dr. T.W. Chim
Teaching assistant
Mr. Weixin Zhang
Syllabus Smart phones have become very popular in recent years. For iPhones alone, CEO Tim Cook announced that Apple has sold the billionth iPhone in July 2016. In addition to iPhones, there are also Android phones, Symbian phones as well as Windows phones. Smart phones play an important role in mobile communication and applications.

Smart phones are powerful as they support a wide range of applications (called apps). Most of the time, smart phone users just purchase their favorite apps wirelessly from the vendors. There is a great potential for software developer to reach worldwide users.

This course aims at introducing the design issues of smart phone apps. For examples, the smart phone screen is usually much smaller than the computer monitor. We have to pay special attention to this aspect in order to develop attractive and successful apps. Different smart phone apps development environments and programming techniques (such as Java for Android phones, Objective-C and Swift for iPhones) will be introduced to facilitate students to develop their own apps.

Students should have basic programming knowledge, e.g. C++ or Java.
Introduction by Instructor Smart phones are now indispensible tool for everyone. They can be used not only for traditional voice communications, but also serve as personal digital assistant, gaming console, media box, or miniature PC that perform tasks that could originally be done only on PC. The versatility of smart phones’ capabilities is actually backup by a wide range of applications (or simply apps).

Smart phones open up another dimension for software developer to develop applications that interact with their users. But since smart phones are nothing like desktop computers (e.g. substantially smaller monitor screen, touch-screen oriented, etc.), special care has to be taken in order to develop successful apps. In this course, students will learn about the design issues of smart phone apps, as well as apps development environments and programming techniques (e.g. Java for Android and Swift for iOS).
Learning Outcomes
Course Learning Outcomes Relevant Programme Learning Outcomes
CLO1. Able to analyze and design attractive smart phone apps based on different user requirements PLO.3, 6, 7, 8, 9, 10, 11, 12
CLO2. Able to understand basic algorithms and programming techniques for smart phone apps development PLO.5, 6, 7, 8, 9, 16
CLO3. Able to implement smart phone apps using common Integrated Development Environments (IDEs) in the market PLO.3, 4, 6, 7, 8, 14, 15
View Programme Learning Outcomes
Pre-requisites Students should have basic programming knowledge, e.g. C++ or Java.
Compatibility Students who have taken "ICOM6042 Designing apps for smart mobile phones" should not be allowed to take COMP7506.
Topics covered
Course Content No. of Hours Course Learning Outcomes
1. Introduction of smart phone applications 3 CLO1
2. Hardware consideration 3 CLO2
3. Programming Android apps 9 CLO2, CLO3
4. Programming iOS apps 9 CLO2, CLO3
5. Server supported smart phone applications 3 CLO2, CLO3
6. Advanced topics 3 CLO1, CLO2
 
Assessment
Description Type Weighting * Examination Period ^ Course Learning Outcomes
Individual programming assignment Continuous Assessment 20% - CLO3
Group programming project Continuous Assessment 30% End of teaching period CLO3
Written exam covers all contents taught in the course Written Examination 50% Dec 8 to 23, 2017 CLO2
* The weighting of coursework and examination marks is subject to approval
^ The exact examination date uses to be released when all enrolments are confirmed after add/drop period by the Examinations Office.  Students must oblige to the examination schedule. Students should NOT enrol in the course if they are not certain that they will be in Hong Kong during the examination period.  Absent from examination may result in failure in the course. There is no supplementary examination for all MSc curriculums in the Faculty of Engineering.

For reference:
Course materials Recommended readings:
  • Will be announced after discussion of each topic
Session dates
Date Time Venue Remark
Session 1 6 Sep 2017 (Wed) 2:00pm - 5:00pm CB-C  
Session 2 13 Sep 2017 (Wed) 2:00pm - 5:00pm CB-C  
Session 3 20 Sep 2017 (Wed) 2:00pm - 4:00pm CB-C  
Session 3 - Workshop 20 Sep 2017 (Wed) 4:00pm - 5:00pm HW-311 & HW-312  
Session 4 27 Sep 2017 (Wed) 2:00pm - 4:00pm CB-C  
Session 4 - Workshop 27 Sep 2017 (Wed) 4:00pm - 5:00pm HW-311 & HW-312  
Session 5 4 Oct 2017 (Wed) 2:00pm - 4:00pm CB-C  
Session 5 - Workshop 4 Oct 2017 (Wed) 4:00pm - 5:00pm HW-311 & HW-312  
Session 6 11 Oct 2017 (Wed) 2:00pm - 4:00pm CB-C  
Session 6 - Workshop 11 Oct 2017 (Wed) 4:00pm - 5:00pm HW-311 & HW-312  
Session 7 25 Oct 2017 (Wed) 2:00pm - 5:00pm CB-C  
Session 8 1 Nov 2017 (Wed) 2:00pm - 5:00pm CB-C  
Session 9 - Workshop 8 Nov 2017 (Wed) 2:00pm - 5:00pm CP-LG104  
Session 10 15 Nov 2017 (Wed) 2:00pm - 4:00pm CB-C  
Session 10 - Workshop 15 Nov 2017 (Wed) 4:00pm - 5:00pm HW-311 & HW-312  
CB - Chow Yei Ching Building CP - Composite Building HW - Haking Wong Building
Add/drop 1 September, 2017 - 14 September, 2017
Quota 100
Back