CE-491 (Winter 2014)

Mobile App Development:

This course discusses an overview of how to get started developing mobile applications for Android and iOS platform. These two popular mobile application platforms are from different approaches to the mobile environment. They share same issues but have different solutions to address them. We will be able to compare one to another to broaden our view to this new emerging ecosystem.

Weekly Schedule:

The schedule is subject to change without notice.

Week Day Topic Milestone
1 Mon Introduction to Mobile App Programming  
Wed Introduction to Android  
Thr aLab1: Hello Kettering  
Fri Application Fundamentals  
2 Mon NO CLASS
Wed Creating User Interface  
Thr aLab2: User Interface  
Fri Creating User Interface  
3 Mon Action Bar and Navigation  
Wed Adapter and List View  
Thr aLab3: Location/Maps (Revised) Project Proposal
Fri Fragments / Using Debugging Tools  
4 Mon Location Based Services
Wed Peer Teaching 1 / Data Storage
Thr aLab4: Database / Content Provider Progress Report
Fri Peer Teaching 2 and 3
5 Mon Peer Teaching 4 and 5
Wed Peer Teaching 6, 7, and 8
Thr Midterm Project Presentation Midterm Project Report
Fri Cross-platform Development
6 Mon Introduction to iOS
Wed Objective-C & Foundation Framework
Thr iLab1: Hello Kettering (kettering.png)
Fri Objective-C & Foundation Framework
7 Mon Objective-C & Foundation Framework
Wed Application Architecture
Thr iLab2: User Interface
Fri Windows and Views
8 Mon View Controller
Wed TableView
Thr Project Proposal Project Proposal
Fri NO CLASS
9 Mon Storyboard/Protocol/Delegate
Wed Data Management / CoreData
Thr iLab3: View Controllers (images.zip) Progress Report
Fri Auto Layout
10 Mon Location Awareness
Wed Network / Peer Teaching 1
Thr Lab4: Core Location / MapKit
Fri Peer Teaching 2 / Peer Teaching 3
11 Mon Peer Teaching 4 / Peer Teaching 5
Tue Peer Teaching 6 / Peer Teaching 7
Final Project Presentation- TBD Final Project Report

Projects:

Two projects are required: Android for Midterm and iOS for Final. Working on projects students will be able to recognize opportunities that have technical solutions. They will be able to apply critical thinking to solving problems based on knowledge from classes.

The list of projects in this term. Students will teach each other based on the techniques that they will use for their project.

Midterm Projects

  • Off the record: Tim / Blaise  – Peer Teaching 1 (p2p comm. over wifi)
  • Wargaming Statics Tracker: Anthony – Peer Teaching 2 (Database)
  • KU Scheduler: Dillion / Jacob – Peer Teaching 3 (Google’s Calendar API, JSON)
  • Mobile Touch Electronic Music Generator: Kai / Yuesong – Peer Teaching  4 (Gesture, Touch interfaces)
  • Remote Fireworks Ignition: Logan – Peer Teaching 5 (Bluetooth)
  • Mobile Authentication: Matt – Peer Teaching 6 (Google’s Notification API, Web Services)
  • Pantry Tracker: Ray – Peer Teaching 7 (?)
  • 3D Graphing: Reza / Hooman – Peer Teaching 8 (2D drawing, Graphics)

Final Projects

  • MHC – game: Tim / Blaise  – Peer Teaching 1 (Sprite Engine)
  • Wargaming Statics Tracker: Anthony – Peer Teaching 2 (CoreData)
  • Presentation via Chromecast: Dillion / Jacob – Peer Teaching 3 (Chromecast APIs)
  • Calorie Budget Manager: Kai / Yuesong – Peer Teaching  4 (Sensors)
  • Internet-connected Coffee Maker: Logan – Peer Teaching 5 (Web Services, Raspberry Pi+Relay)
  • Personal Drug Management: Matt / Ray – Peer Teaching 6 (RESTful APIs)
  • 3D Graphing: Reza / Hooman – Peer Teaching 7 (OpenGL)

Proposals

The goals are to learn better the objectives of this course, to implement your idea, and to turn the project marketable. Your proposals will be presented during lab sessions in Week 3 and Week 8.

You must this template at https://kettering.blackboard.com/bbcswebdav/users/jkwon/CE-491-14T1/Projects/msw_usletter_format_nov12.doc for your project proposals. Following sections should be populated in the proposals.

  1. Introduction
    • Present the need of the project.
    • Explain what kind of benefits we can get.
  2. Objectives
    • Propose what you will do.
  3. Scope of Project
    • Specifications that you will implement.
  4. Related Works
    • Research on other people’s work.
  5. Implementation Details
    • Challenges you faced.
    • How to address the challenges.
    • Identify techniques.
  6. Conclusion
    • Summarize the project. What the original plan was.

These sections above are also similar to the NABC method. N for Need, A for Approach, B for Benefit, and C for Competition. You can develop and assess your idea through the NABC method.

Turn-ins

The term project proposals should include both the presentation and the report file.

Progress report

Progress reports will be presented during lab sessions in Week 4 and Week 9. The reports must be a modified version of your proposal. You must update your proposal according to your progress and add two following sections at the end of your report.  Please itemize works.

  1. What you have done
  2. What you will do

Turn-ins

The progress report should include both the presentation and the report file.

Final report

The final report consists following four parts.

  • Project report – Use the progress report. Remove the section, “Progress Report.” And finalize your report by updating all sections 
  • Project poster – 4 pages (12″x18″) in a poster board. You will be given a form board.
    • Campus Printing is a convenient place to print your posters.
    • You may deliver your poster in the electronic form as a PDF file designed to 12″ x 18″ to one of contact persons in the Campus Printing.
    • Following are two examples of posters
      Actual appearance of the posters
  • Project presentation file.
  • Project files folder where your source code resides

Grading

You will be graded on the presentation and project as follows:

  1. Presentation matters.
    • Practice the presentation since it will be a big portion of your grade.
  2. Items that I concern
    • Demonstration skills: 20%
    • Functioning prototype of the idea: 40%
    • Documentation: 20%
    • Technical difficulty level: 20%

Text:

References:

General:

Book

  • Professional Mobile Application Development by Jeff McWherter and Scott Gowell

Android:

Books

  • Android for Programmers: An App-Driven Approach by Paul Deitel and Harvey Deitel
  • Android Programming Unleashed by Harwani, B.M.
  • Pro Android by Sayed Y. Hashimi and Satya Komatineni
  • Professional Android 2 Application Development by Reto Meier

Online

IOS:

Books

  • iOS 7 Programming Fundamentals: Objective-C, Xcode, and Cocoa Basics by Neuburg, Matt
  • iOS 7 Programming Cookbook by Nahavandipoor, Vandad
  • The iOS Developer’s Cookbook 3rd Edition by Erica Sadun
  • iPhone Programming by Joe Conway & Aaron Hillegass

Online

Instructor:

Jaerock Kwon, Ph.D.

  • Office: AB 2-703K
  • Office Hours: MW: 4:40pm ~ 5:40pm or by appointment
  • Email: jkwon@kettering.edu (preferred)
  • Phone: (810) 762-9500 ext. 5917

Grading:

  • Pop Quiz: 10%
  • Labs: 15%
  • Homework: 15%
  • Midterm Project: 30%
  • Final project: 30%
    • See details in the Project section.

Attendance:

This course will include many in-class activities. To ensure that all students are participating and to avoid issues later in the course, attendance is mandatory. Each student is allowed one unexcused absence. After three unexcused absences, the student will be administratively withdrawn from the course. Students must follow all procedures in the handbook for an absence to be excused.

Pop Quizzes:

There will be a pop quiz before each class ends if necessary.

Electronic Submittals:

Use Google Drive to submit your work.

  • Create a folder in your Google Drive and name it as “CE-491-201401-13543-FirstName LastName.”
  • Share the folder with the instructor, Jaerock Kwon (jkwon@kettering.edu).
  • Create following folders inside the folder.
    • aHW
    • aLab
    • aProject
    • iHW
    • iLab
    • iProject
  • Place your work in a corresponding folder when you are asked to submit your work.

Labs Assignments:

Lab assignments will be worked on in groups of no more than two, and students must be in the same course section. Late assignments are not accepted. Only one set of deliverables needs to be submitted per group. The deliverables for each assignment and the method of submittal will be specified on a per assignment basis. The following guidelines must be followed when submitting the appropriate materials.

Electronic submittals:

  • See the “Assignment Electronic Submittals” section first.
  • Open aLab or iLab folder based on the topic. (‘a’ is for Android and ‘I’ is for iOS labs).
  • Create a folder and name after the type and the lab number. (e.g. aLab2 for the second lab assignment).
  • Copy your entire project folder for the assignment to the newly created folder.
  • Electronic version should be submitted individually even if you have a group in lab sessions.

Paper Submittals:

  • The assignment must have your name, day and time of class, and lab number.
  • All pages must be stapled together in the upper left corner.
  • Handwritten answers, when permitted, must be legible and the answer clearly marked.

Homework Assignments:

Homework assignments will be worked individually. Late assignments are not accepted. The deliverables for each assignment and the method of submittal will be specified on a per assignment basis. The following guidelines must be followed when submitting the appropriate materials.

Electronic submittals:

  • See the “Assignment Electronic Submittals” section first.
  • Open aHW or iHW folder based on the topic. (‘a’ is for Android and ‘I’ is for iOS labs).
  • Create a folder and name after the type and the lab number. (e.g. aHW2 for the second lab assignment).
  • Copy your entire project folder for the assignment to the newly created folder.
  • Electronic version should be submitted individually even if you have a group in lab sessions.

Paper Submittal:

  • The assignment must have the group members’ names, day and time of class, and assignment number.
  • All pages must be stapled together in the upper left corner.
  • Handwritten answers, when permitted, must be legible and the answer clearly marked.

Responsibilities:

The following describes what is expected of a student who wishes to do well in the course.

  • Attend class.
  • Spend a minimum of 2 to 2.5 hours per hour of lecture on course activities outside the classroom. These activities include reading the textbook, reviewing lecture notes, completing homework assignments, reviewing the course objectives, seeking help with the instructor, etc.
  • Begin working on an assignment shortly after it is released. This will enable you to better understand the following lectures and class discussions. Also, with limited lab stations and multiple class sections, computer availability the night before a due date may be problematic. This issue will never be a justified excuse for a late assignment.
  • Monitor your progress in the course through Blackboard.
  • Ask the instructor if you have questions about anything (lecture material, homework questions, your performance in the course, etc.).  It is your responsibility to seek help from the instructor when you do not yet feel you fully understand a topic.
  • The following is a list of responsibilities that you may expect from the instructor.
  • Provide lectures that reach as broad a range of learning styles as is feasible within the constraints of the amount of material that must be covered and the time available for lectures.
  • Be available outside of class for explanations and answers tailored to individual students.
  • Grade materials promptly to keep each student’s progress on Blackboard up to date.
  • Make the student aware of the learning objectives and provide assignments that both teach basic use and application of the objectives.

Common Statement on Ethics in the University and Academic Integrity:

Kettering University values academic honesty and integrity. Cheating, collusion, misconduct, fabrication, and plagiarism are serious offenses. Each student has a responsibility to understand, accept, and comply with the University’s standards of academic conduct as set forth in our statement, “Ethics in the University,” and “Academic Integrity” as well as policies established by individual professors.

Several clarifications of the policy to note are as follows. Seeking assistance for a graded assignment from others, which includes but is not limited to another group in the class, another student, a tutor, other professors, or any online sources, is cheating. Allowing another group access to your work (this term or any following term) is also cheating. You may get assistance in understanding course notes and book problems from any source. You may get unlimited assistance in anything from the course instructor.

Common Statement on Students with Documented Disabilities:

The University will make reasonable accommodations for persons with documented disabilities. Students need to register with Wellness Center every term they are enrolled in classes. To be assured of having services when they are needed, students should contact the Wellness Center during the first week of each term. Note that it is the student’s responsibility to arrange accommodations with each professor.

Follow

Get every new post delivered to your Inbox.

Join 147 other followers

%d bloggers like this: