CS3680
Mobile Device Programming

Spring 2017


Dr. Brian Durney
Office: CS520C
Phone: 801-863-6390
Email: bdurney@uvu.edu
Office Hours: M W 1:00-2:30, Tu Th 12:00-1:00

Course Objectives

If you learn the material for this course you should be able to design, implement, test, and debug Android or iOS mobile device programs.


Course Philosophy

The premise for this course is that you learn by doing. In order to reach the objectives listed above you will need to practice doing those kinds of things: designing, implementing, testing and debugging mobile device programs. The more practice you get, the more you will learn and the better you will understand the material. Keep in mind that you cannot learn mobile device programming by sitting in class any more than you could learn to ride a bike by watching someone else ride.

Textbook

You only need to buy a book for the platform (iOS or Android) that you plan to use for the programming projects.

iPhone
iOS Programming: The Big Nerd Ranch Guide
5th or 6th edition
by Christian Keur, Aaron Hillegass & Joe Conway

Android
Android Programming: The Big Nerd Ranch Guide
2nd edition
by Bill Phillips, Chris Stewart, Brian Hardy & Kristin Marsicano

You can download the "solutions" (source code) for this book at https://www.bignerdranch.com/we-write/android-programming/


ATTENTION STUDENTS WITH DISABILITIES

If you have any disability which may impair your ability to successfully complete this course, please contact the Accessibility Services office, 863-8747, LC 312. Academic accommodations are granted for all students who have qualified documented disabilities. All services are coordinated with the Accessibility Services office.

Grades

Grades will be based on the following, possibly subject to adjustment during the semester:

Quizzes Extra Credit
Programming Assignments 70%
Midterm Exam 15%
Final Exam 15%


Grading scale:
    93% and above A 90% to 92% A-
87% to 89% B+ 83% to 86% B 80% to 82% B-
77% to 79% C+ 73% to 76% C 70% to 72% C-
67% to 69% D+ 63% to 66% D 60% to 62% D-
   59% and below F   


Programming Assignments

Programming assignments are a very important part of this class, because there is no way you can learn how to design and write mobile device programs without a lot of practice.

Late Policy—There will be a 10% penalty per calendar day late. Nothing turned in more than 5 days late will be accepted. For example, if 100 points are possible on an assignment, and a student turns in the assignment two days late, 20 points will be subtracted from the score the student would have received for turning in the work on time.

Do not copy someone else's code or files or allow someone else to copy yours. You are welcome, and encouraged, to discuss assignments with others, get help from other students, and so on, but what you turn in should be your own work, and should be code that you wrote and typed in yourself. Make sure that you understand everything in your program.

The development tools needed to program iOS and Android applications are not available in the UVU labs. You will need to install the tools on a computer that you can use. If you want to program iOS applications, you will need to have access to a Macintosh computer.

Be prepared to spend some time learning how to use the development tools. There will be some demonstrations in class, but for the most part you will need to learn them on your own. Also, in the past some students have found it difficult to install the Android tools. More recent tools seem to be better, but it might take some time to get them working properly.

Please be careful to follow the specifications for each programming assignment. Failure to follow the specifications will result in deductions and/or a delay in receiving your score.


Exams and Quizzes

There will be one exam in the testing center at the end of March. It will be available in the testing center for several days, so no late exams will be given. Exams may cover anything from class, the sections of the textbook listed on the syllabus, and assignments.

A final project and a presentation will take the place of a final exam. We will do presentations during our scheduled final exam time.

Quizzes will be in Canvas.


Course Schedule