|
|
|
|
|
|
|
CS330D01 |
|
iPhone App Development |
|
Spring 2012 |
TIME & LOCATION: Monday and Wednesday, 1:10PM to 2:40PM, Mac Lab/Business Center
REQUIRED TEXT: iPhone for Programmers; an App-Driven Approach, Prentice Hall, by Paul Deitel, Harvey Deitel, Abbey Deitel, Eric Kern, Michael Morgano
REFERENCE TEXT: Not applicable
GOALS AND OUTCOMES:
1. Will be able to develop apps using the Xcode development environment
2. Will be able to code classes in Objective-C
3. Will be able to use Interface Builder
4. Will be able to use Cocoa Frameworks
5. Will be able to code a project using the Model-View-Controller architecture
6. Will be able to incorporate multiple views within an app and make the views communicate
7. Will be able to code a project using event driven programming
8. Will be able to implement sound memory management coding techniques
9. Will be able to code a universal app (iphone and ipad) as well as manage orientations (horizontal and vertical)
COURSE SUMMARY AND SCHEDULE:
The Xcode development environment; Objective-C, Object Oriented Programming in Objective-C. Interface Builder. Event-driven programming. Existing framework utility classes, user-defined classes. Memory Management. Views, Multiple views, managing and communication between multiple views; delegate design pattern. XML, internationalization of an app. Swipes. Media classes: drawing, animation, sound. Various utility and view application templates. Here is the tentative schedule:
WEEK OF
|
CHAPTER |
TOPICS (Tentative Schedule of
Topics) |
EVENTS |
|
|
1 |
Jan 9, 11
|
3 |
Syllabus; Introduction, Welcome app, Console output, OOP, Classes |
|
|
2 |
Jan 16, 18 |
4 |
MLK Jr day – no class on Jan 18 – Interface Builder, event driven programming. Tip Calculator app |
|
|
3 |
Jan 23, 25 |
4 |
Tip Calculator app – Model View Controller architecture |
|
|
4 |
Jan 30, Feb 1 |
5 |
Arrays, dictionaries, buttons, accessing the web, implementing components with code; Favorite Twitter Searches app |
Quiz 1 (Jan 30) |
|
5 |
Feb 6, 8 |
5 |
Favorite Twitter Searches App; Utility application template, managing multiple views, writing to and reading from a file |
|
|
6 |
Feb 13, 15 |
|
Memory management |
Quiz 2 (Feb 13) |
|
7 |
Feb 20, 22 |
10 |
Table views, navigation based application template, editable cells |
|
|
8 |
Feb 27, 29 |
|
iPad vs iPhone, universal apps - Midterm review |
Quiz 3 (Feb 27) |
|
9 |
Mar 5, 7 |
|
Midterm – Horizontal vs vertical orientations |
Midterm (Mar 5) |
|
10 |
Mar 12, 14 |
|
Spring break – no class |
|
|
11 |
Mar 19, 21 |
|
Navigating the User Interface; GUI hierarchy – More MVC (Tic-Tac-Toe) |
|
|
12 |
Mar 26, 28 |
|
XML – International apps |
Quiz 4 (Mar 26) |
|
13 |
Apr 2, 4 |
7 |
Animation, Playing sounds, handling touches |
|
|
14 |
Apr 9, 11 |
8 |
Timer, generating events, processing tap events, performing collision detection, Canon Game app |
Quiz 5 (Apr 9) |
|
15 |
Apr 16, 18 |
8 |
Canon Game app |
|
|
16 |
Apr 23, 25 |
10 |
Map kit, core location |
Quiz 6 (Apr 23) |
|
17 |
Apr 30, May 2, 7 |
|
Review for Final exam, Final exam |
|
The above schedule is tentative and subject to change.
Last day to drop a course with a W is March 15, 2012
|
PROFESSOR: |
Hervé Franceschi |
M202 |
X 3613 |
|
|
|
|
|
|
|
|
|
Software: C++ or Java; Java can be downloaded free of charge from the web
Lab Facilities: C++ and Java are available in the Capitol-College lab
Getting Help: Please feel free to ask questions during
class as necessary. For additional help, visit me
during my office hours or by appointment, or call me at the above given numbers, or send me an email.
Office Hours:
|
DAYS |
HOURS |
|
Monday |
12:20PM to 1:10PM and 2:40PM to 5:00PM |
|
Tuesday |
12:20PM to 1:10PM |
|
Wednesday |
12:20PM to 1:10PM and 2:40PM to 5:00PM |
|
Thursday |
12:20PM to 1:10PM |
|
SEMESTER GRADES: |
Projects (3 to 5) |
20% |
<A: 90-100%> |
|
|
Quizzes (6) |
10% |
<B: 80-89%> |
|
|
Midterm |
15% |
<C: 70-79%> |
|
|
Final |
25% |
<D: 60-69%> |
|
|
Semester Project |
20% |
<F: < 60%> |
|
|
|
|
|
|
|
Total |
100% |
|
Homework: There will be 3 to 5 individual projects, 1 semester project (1 or 2 students); the
individual projects must be completed individually. You must completely understand all work that
you submit; you must be able to provide explanations for all work that you submit.
Assignments: As a general rule, all assignments must be completed to pass the course.
Late assignments : Loss of 11% per week late. Example : perfect assignment 3 days late = grade of 89
Very late assignments may be handed in with your final exam at the end of the semester for a
maximum grade of 40%.
QUIZZES: There are 6 quizzes total; you can drop your worst quiz grade (i.e. only your 5 best quizzes
will count). No make ups will be allowed.
TESTS & FINAL: There are 2 tests in this class: 1 midterm and 1 final. The final is cumulative.
Make ups are possible in exceptional circumstances provided advance
notice and suitable
documentation is provided to me.
Unless otherwise stated, make-ups must be completed
within 1 week of the original exam date.
ATTENDANCE: Attendance is important; a lot of labs are scheduled for this class and a lot of learning will happen in the classroom. Please send me an email if you are going to miss a lecture.
WRITING REQUIREMENTS: The ability to communicate ideas using established rules of the English language is an important outcome of everyone’s technical education. In this course, you will be required to complete assignments for which writing is an important component, and attention to the grammar, spelling, and style of writing that you employ will have a significant impact on your grade in such assignments. You may seek help at the tutoring resource center to improve your writing abilities, should you feel that such help is necessary.
INFORMATION LITERACY: Given the magnitude of information that we are expected to deal with in performance of our tasks, it is important to learn the proper ways of finding, retrieving, storing, processing and incorporating the right type of information. This course may include assignments that would require the use of on-campus and on-line libraries, the Internet or other sources of publicly available information.
OUTCOMES ASSESSMENT: In order to determine the level of learning
achieved in this course through the semester, you will be given a pre-test that
covers some of the fundamental topics covered in this course and possibly in
the prerequisite courses, accompanied by an exit test toward the end of the
semester. The grades you receive in the
pre-test and exit test will not affect your overall grade for this course. They are used for the sole purpose of
institutional assessment of learning outcomes.
THE "INCOMPLETE" GRADE: There is occasionally a misunderstanding about “incompletes.” College regulation specifies that an incomplete grade may be awarded only if the student has completed almost all the work for a course and has a valid, institution-approved, reason for being unable to complete it. If you are awarded an incomplete grade, it is your responsibility to complete all work for the course within the first 4 weeks of the next semester or summer term. After this time, the Registrar automatically converts the incomplete to an F.
ACADEMIC INTEGRITY: It goes without saying that all work handed in for grading must be your own, but you must go further than this. Avoid situations that could compromise your integrity. For example, do not allow others to copy your work. If inclusion of another person’s writings in your submitted work is appropriate, then proper credit should be given to the author of that writing. I will report any instance of suspected academic dishonesty to the appropriate committees of the school for further investigation and possible sanctions.
USE OF MATLAB: Not applicable
First Homework Assignment: From the email address that you most frequently use, send me an email to my address at hfranceschi@capitol-college.edu with the following format:
Subject: CS330
Content: Your first name, last name, and major
Please remember to type the course number in the subject area of all future mail that you send me.
Body: Make sure you have a body which makes sense, particularly if there is an attachment with your email; I do not open attachment if I am not comfortable with the body of an email.
Web Site: I will maintain a web site for this course that can be reached from the following address:
http://faculty.capitol-college.edu/~hfranceschi/. Starting from this homepage you can follow the appropriate links to see postings for assignments, homework, examples, etc. related to this course. This syllabus is also posted on line.