The emergence of a new generation of highly-capable mobile devices and platforms such as the Apple iPhone, Google Android and Microsoft Windows Mobile has opened up new opportunities for application developers. This class focuses on the programming, use, and HCI concerns of mobile media applications. Students work in small collaborative design teams to propose, build, and document a semester-long project focused on mobile applications for cell phones. We will examine the development models for both the Apple iPhone, Google Android and Microsoft Windows Mobile. Course is mostly related with Android but Windows Mobile and iOS development will be experienced as well.
Prerequisite(s)
Corequisite(s)
Special Requisite(s)
Instructor(s)
Course Assistant(s)
Schedule
Office Hour(s)
Teaching Methods and Techniques
Principle Sources
Other Sources
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to Android
2. Week
Android Market and App Business Issues
3. Week
First Application with the ADT Plugin
4. Week
Building an Android App with Java
5. Week
SharedPreferences, Buttons, Nested Layouts, Intents, AlertDialogs, Inflating XML Layouts and the Manifest File
6. Week
Assets, AssetManager, Tweened Animations, Handler, Menus and Logging Error Messages
7. Week
Listening for Touches and Gestures
8. Week
Midterm Exam
9. Week
AnimatorListener, Thread-Safe Collections, Default SharedPreferences for an Activity
10. Week
Two-Dimensional Graphics, SensorManager, Multitouch Events and Toasts
11. Week
ListActivity, AdapterViews, Adapters, Multiple
Activities, SQLite, GUI Styles, Menu Resources
12. Week
Google Maps API, GPS, LocationManager, MapActivity, MapView and Overlay
13. Week
Gallery and Media Library Access, Built-In Content Providers
14. Week
Serializing Data, Taking Pictures with the Camera and Playing Video
15. Week
Web Services
16. Week
Final Project Presentations
17. Week
Final Exam
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
20
Homework / Term Projects / Presentations
1
30
Program Outcomes
PO-1
Ability to apply theoretical and practical knowledge gained by Mathematics, Science and their engineering fields and ability to use their knowledge in solving complex engineering problems.
PO-2
Ability of determining, defining, formulating and solving complex engineering problems; for that purpose develop the ability of selecting and implementing suitable models and methods of analysis.
PO-3
Ability of designing a complex system, process, device or product under real world constraints and conditions serving certain needs; for this purpose ability of applying modern design techniques
PO-4
Ability of selecting and using the modern techniques and devices which are necessary for analyzing and solving complex problems in engineering implementations; ability of efficient usage of information technologies.
PO-5
Ability of designing experiments, conducting tests, collecting data and analyzing and interpreting the solutions to investigate of complex engineering problems or discipline-specific research topics.
PO-6
Ability of working efficiently in intra-disciplinary and multi-disciplinary teams; individual working ability and habits.
PO-7
Ability of verbal and written communication skills; and at least one foreign language skills, ability to write effective reports and understand written reports, ability to prepare design and production reports, ability to make impressive presentation, ability to give and receive clear and understandable instructions
PO-8
Awareness of importance of lifelong learning; ability to access data, to follow up the recent innovation in science and technology for continuous self-improvement.
PO-9
Conformity to ethical principles; knowledge about occupational and ethical responsibility, and standards used in engineering applications.
PO-10
Knowledge about work life implementations such as project management, risk management and change management; awareness about entrepreneurship and innovativeness; knowledge about sustainable development.
PO-11
Knowledge about effects of engineering applications on health, environment and security in global and social dimensions, and on the problems of the modern age in engineering; awareness about legal outcomes of engineering solutions.
Learning Outcomes
LO-1
Identify requirements and implement mobile solutions
LO-2
Create effective user interfaces that leverage evolving mobile device capabilities
LO-3
Design and develop websites that deploy to different devices and platforms
LO-4
Design and develop device-specific, native applications
LO-5
Research and apply various software development kits (SDKs), frameworks and toolkits
LO-6
Collaborate in a team-based mobile development project
LO-7
Publish and market mobile applications to an online store