Mobile Application Development ITP 342 (3 Units) Fall 2013 Objective This course teaches how to develop applications for mobile devices such as iphones and ipads (ios). We will go through the process of building a mobile application from start to finish using the ios SDK (Software Development Kit). In lecture sessions, you will learn the basics of the Objective- C programming language, how to design mobile interfaces, how to use the libraries to build applications that have the proper look and feel, how to use table views, how to design and handle user input, and other aspects as time permits. During the lab sessions, students will create applications using the Xcode IDE (Integrated Development Environment). Concepts Mobile development, user interface design, object- oriented programming Prerequisites ITP 140 can be waived if not enrolling in Mobile App Development minor Programming experience such as ITP 109, ITP 115, ITP 165 or CSCI 101/102 Instructor Trina Gregory Contacting the trina.gregory@usc.edu Instructor OHE 412 Office Hours Listed on Blackboard under Contacts Lab Assistants Listed on Blackboard under Contacts Lecture/Lab 2 hours, twice a week, for a total of 4 hours Required Textbooks Beginning ios 6 Development: Exploring the ios SDK; David Mark, Jack Nutting, Jeff LaMarche, Fredrik Olsson; Apress: ISBN- 13: 978-1- 4302-4512- 4. Optional Textbooks None. Website All course material will be on Blackboard (http://blackboard.usc.edu). Grading The following percentage breakdown will be used in determining the grade for the course. Page 1 of 8
Assignments Midterm Final Project Total 55% 20% 25% 100% Grading Scale The following shows the grading scale to be used to determine the letter grade. 93% and above A 90% - 92% A- 87% - 89% B+ 83% - 86% B 80% - 82% B- 77% - 79% C+ 73% - 76% C 70% - 72% C- 67% - 69% D+ 64% - 66% D 63% and below F Policies No make- up exams (except for documented medical or family emergencies) will be offered nor will there be any changes made to the Final Exam schedule. The labs will be posted on Blackboard under the Assignments section. Each lab will include instructions, a due date, and a link for electronic submission. Labs must be submitted using this link. Do not email them to the lecturer or lab assistant. Always keep a backup copy of them. It is your responsibility to submit your assignments on or before the due date. Assignments turned in one day late will have 10% of the total points deducted from the graded score. Assignments turned in two days late will have 20% of the total points deducted from the graded score. Assignments turned in three days late will have 50% of the total points deducted from the graded score. After three days, submissions will not be accepted and you will receive a 0. ITP will have open lab hours starting the second week of the semester. The open labs will not have an ITP 342 lab assistant to assist with labs. These lab times are there in case you need extra time to complete a lab. Each time the class meets, a roster will be passed around the room. Please initial by your name for the appropriate week. Page 2 of 8
Incomplete and Missing Grades Excerpts for this section have been taken from the University Grading Handbook, located at http://www.usc.edu/dept/arr/grades/gradinghandbook/index.html. Please see the link for more details on this and any other grading concerns. A grade of Missing Grade (MG) should only be assigned in unique or unusual situations for those cases in which a student does not complete work for the course before the semester ends. All missing grades must be resolved by the instructor through the Correction of Grade Process. One calendar year is allowed to resolve a MG. If an MG is not resolved [within] one year the grade is changed to [Unofficial Withdrawal] UW and will be calculated into the grade point average a zero grade points. A grade of Incomplete (IN) is assigned when work is no completed because of documented illness or other emergency occurring after the twelfth week of the semester (or 12 th week equivalency for any course scheduled for less than 15 weeks). Academic Integrity USC seeks to maintain an optimal learning environment. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one s own academic work from misuse by others as well as to avoid using another s work as one s own. All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A: http://www.usc.edu/dept/publications/scampus/gov/. Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at: http://www.usc.edu/student- affairs/sjacs/. If the instructor, a grader, or a lab assistant suspects you of academic dishonesty, it has to be reported to SJACS. Do not share lab assignments with other students. Do not submit another student s work as your own. Do not look at other students papers during exams. Do not leave the room during an exam. Do not cheat! As Trojans, we are faithful, scholarly, skillful, courageous, and ambitious. Page 3 of 8
Students with Disabilities Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to your course instructor (or TA) as early in the semester as possible. If you need accommodations for an exam, the form needs to be given to the instructor at least two weeks before the exam. DSP is located in STU 301 and is open from 8:30am to 5:00pm, Monday through Friday. Contact info: 213-740- 0776 (Phone), 213-740- 6948 (TDD only), 213-740- 8216 (FAX), ability@usc.edu, http://sait.usc.edu/academicsupport/centerprograms/dsp/home_index.html. Emergency Preparedness/Course Continuity in a Crisis In case of emergency, when travel to campus is difficult, if not impossible, USC executive leadership will announce a digital way for instructors to teach students in their residence halls or homes using a combination of the Blackboard LMS (Learning Management System), teleconferencing, and other technologies. Instructors should be prepared to assign students a Plan B project that can be completed at a distance. For additional information about maintaining your classes in an emergency, please access: http://cst.usc.edu/services/emergencyprep.html Page 4 of 8
Mobile Application Development ITP 342 (3 Units) Course Outline Week 1 Introduction - Course overview - Overview of the mobile development - Specifics of mobile devices - Intro to Xcode (IDE for ios development) - Testing apps in the ios Simulator First ios app Hello World Week 2 ios & Objective- C Fundamentals - Variables and data types - Classes - Method messaging - Connections - IBOutlets and IBActions - User interface components labels, image views, and buttons Chapter 1-2 Ninja vs. Pirate app Week 3 User Interaction - Storyboards - User interface components textfields - Icon images Chapter 3 Talking Ninja vs. Pirate app Week 4 User Interface Components - Views and view controllers - Slider, segmented control, switch, and stepper - Action sheet and alert view Chapter 4 Page 5 of 8
Mad Libs app Week 5 Collections and Delegates - Collections - NSArray, NSDictionary, and NSSet - Delegates and protocols Chapter 4 Mad Libs app with action sheet Week 6 Model View Controller (MVC) - MVC paradigm - Properties for model - Gestures - Animation Chapters 6 and 17 Magic 8 Ball app Week 7 Segues - Navigation bar - First responder and keyboard - Segues Chapter 7 Text Input app Week 8 Tables - Table view - Displaying cells - Deleting rows - Inserting rows - Custom cells Chapter 8-9 Answers app Page 6 of 8
Week 9 Midterm - Midterm review - Midterm Week 10 Data Persistence - User defaults - File persistence - Singleton Chapters 12-13 Magic 8 Ball with file persistence Week 11 Audio and Accelerometer - Audio play sounds - Vibration force device to vibrate - Getting device orientation (x, y, z axes) - Getting accelerometer data Chapter 19 Magic 8 Ball with audio Week 12 ipad and Pickers - Master- detail app - Split view and popup - Constraints - Pickers Chapters 11 and 7 Websites app Week 13 Core Location - Core Location - Location Manager - Map Kit Chapter 18 Locate Me app Week 14 Camera and Photo Library - Accessing the camera Page 7 of 8
- Photo library Chapter 20 Final Project app Week 15 Other Topics - icloud - Drawing with Quartz and OpenGL - Background processing - Collection views Chapters 14-16 Final Project app Final Project - Final project app - Each student will give a demonstration of their Final Project app Date, Time, and Place According to the final exam schedule Page 8 of 8