Computer Science-Information Technology 559—Advanced Programming for Mobile Devices Schedule and Syllabus Fall 2016 — Section 3185 General Course Information Course Load: 3 Units Prerequisites: The usual prerequisite is knowledge of Object-oriented C++ equivalent to Pierce Computer Science 540. It is permissible to substitute Computer Science 552, but a knowledge of C++ is essential. However, for this semester, I will be teaching the course using the Swift language introduced by Apple in 2014, and updated extensively to version 3.0 as of June 2016. As a result, one semester of any programming language (C++, Visual Basic, Java, or even a scripting language) should be adequate preparation. We will update the formal prerequisites if this semester is successful with Swift. General familiarity with Hypertext Markup Language (HTML) is useful, and may be acquired through courses such as CS550. Section Number: 3185 Class Meets: Monday Nights Lab: 5:45 to 7:50, Room 1505 Lecture: 7:55 to 10:00, Room 1414 Catalog Description: This course provides students with advanced programming concepts and skills for creating mobile applications for today's most popular platforms. Students will learn to create multi-screen, multi-touch applications; send/receive SMS and emails programmatically from within applications; read and update contacts through public contact API; use media and browser content providers; use sensors and location-based services programmatically; develop services; create a home screen widget. Students will learn about exception handling, will create manageable user preferences and will learn to incorporate security and permissions. Students will learn to sign, publish and distribute developed applications. Note that this course is only aimed at creating applications for Apple’s iOS operating system. If you have a pressing need to do an Android project, please consult the instructor. (The Computer Science Department is proposing an Android-centric course to the Pierce Curriculum Committee, but we cannot guarantee when this will be approved and scheduled.) Also, some of the elements in the catalog description have become generally deprecated since the course was originally developed, specifically use of the user’s contact information, and will be deprecated in this course. The planned instructional schedule for this evening course is shown in the table below. Date Topic Quiz/Exam 8/29/2016 Course overview, Introduction to Swift; XCode introduction (lab) 9/5/2016 Labor Day Holiday 9/12/2016 More Swift 9/19/2016 Devices, Windows, Views, Points Quiz 1 9/26/2016 Labels, Text Boxes, Buttons Lab 1 due 10/3/2016 Images/icons, MVC (Design Patterns), multi- screen applications 10/11/2016 Core Data, media and browser access Lab 2 due 10/18/2016 UI Guidelines Application Proposal due, Quiz 2 10/25/2016 User preferences 10/31/2016 Touch Services Lab 3 due; Quiz 3 11/7/2016 Location Services 11/14/2016 Apple Developer App submission process 11/21/2016 Sqlite – in-phone relational data base Lab 4 due 11/28/2016 Multi-threading (Grand Central Dispatch) 12/5/2016 Review, Topics TBA Quiz 4 12/12/2016 Final Examination Final Exam & Project Presentations Student Learning Outcomes One. Use Apple Xcode or Android Studio to create an application Two. Develop basic iOS or Android applications with text and/or touch input Three. Implement multi-view applications Four. Process an application submission through the Apple App Store or Google Play Notes: 1. Quizzes are intended to both give you feedback on how you are doing, and to give the instructor some idea on how the class is progressing. The schedule of quizzes depends on class progress and similar factors and is subject to change. Some may be take-home quizzes. 2. Grading standards are modified to take the sum total of the points earned by the student during the semester, divided by the total assigned, to develop the percentage for the grade. This will be approximately: Quizzes - 15% (Best three scores) Lab Assignments - 30% (Best three) Final Project - 40% Final Exam - 15% Grading Standards are projected to be: A = 90% B = 80% C = 70% Additionally, the following achievements will result in awarding automatic grades: - Submitting an application to the Apple App Store or Google Play – automatic B, Final exam may raise to A - Having your application accepted in the Apple App Store or Google Play– automatic A (final exam is still required) 3. Quizzes and tests will be open notes, no electronic devices. 4. One or two extra credit assignments may be provided at five points each. 5. The Los Angeles Pierce College Conduct Code for Students is incorporated by reference. Please refer to the college catalog. 6. Cheating will be detected by a number of methods. You must plan on doing all of your work yourself. Detection of cheating will result in penalties at the instructor's discretion, up to and including exclusion from the class, a grade of F, or such other penalties as are appropriate. 7. Students should not collaborate on graded lab assignments unless this is approved in advance. 8. This instructor is on campus during the day. I will make myself available for scheduled office hours on Tuesdays and Wednesdays from 2:30 to 3:30 in room 1505. 9. If needed, you may mail assignments to J.H.Murphy, Computer Science, Box 716, Los Angeles Pierce College, 6201 Winnetka Blvd., Woodland Hills 91371. 10. The instructor will probably arrive late to class during the semester. In the event that I am certain I will be late, I will attempt to contact the Computer Science software lab. If I have not arrived, please do not leave the lab before 6:15, or a later time if notified by the Computer Science department. 11. Course texts – there aren’t any yet. Due to the recent introduction of Swift version 3.0, none of the usual authors have produced a book suitable for a course text yet. The instructor expects that some acceptable books will become available during the semester, and will make recommendations at that point. In the meantime, we will use the online Apple iBooks for Swift 3.0 as a reference, and recommended reading will be assigned from that. You will need a Mac, iPad, or iPhone to read the iBooks. Alternatively, you may use the iMacs in the Computer Science lab (room 1505). The instructor is not aware of software to read iBooks under Windows or Linux, but it may exist. 12. Quizzes will be returned by the following week. Lab assignments usually take longer. Not all assignments will be returned at the end of the course. If you turn in work late, it will be graded late. 13. You will be required to perform simple arithmetic in some quizzes and tests. Calculators and cell phones may not be used in any way during a quiz or test. 14. Late assignments are usually accepted for one week only. Please hand in late assignments immediately upon entering class. Missed quizzes can usually be made up on the following week only. No late work or makeup quizzes will be permitted after week 14 (Dec. 4, 2013). 15. The course web site is: http://faculty.piercecollege.edu/murphyh/