The objective of this course is to develop several projects for iPhone/iPod/iPad using the Xcode development environment and a variation of Node.js. The projects will be developed in a group setting
The course roughly divides into a skill-building phase, where you will be given working programs to study, followed by a project development section. During the first half of the semester, through the implementation of smaller projects, you will learn Objective-C and the use of the user interface elements of the iPhone SDK. These projects will teach you Apple's development methodology for the iPhone/iPod platforms. In the second part of the semester, we will switch to Node.js and follow the same plan --- start with working projects and then build new ones.
Required: iOS Programming, Big Nerd Ranch, Christian Keur, Aaron Hilligass, and Joe Conway, 2014.
In addition, the following is a list of online-books that are available through our library's web-pages.
iPhone/iPad/iPod Touch applications can be developed on Intel-based, Apple computer systems only. For this reason, we will use the iMacs in Darwin 25 and Darwin 28 for project development. Of course, you are welcome to use your MacBook laptops for this purpose if you own one. For the second part of the semester, the projects are going to be based on Node.js. The same facilities will be used for this part of the course.
For the final semester project, you will work in groups of two or three students each. Each group proposes a project and once approved, will implement the project.
The following is the breakdown of your grade for this course.
| Semester Project | 30% |
| Skill-building projects | 40% |
| Quizzes & Reports | 30% |
| A- | 90 | A | 93 | ||
| B- | 80 | B | 83 | B+ | 87 |
| C- | 70 | C | 73 | C+ | 77 |
| D- | 60 | D | 63 | D+ | 67 |
All material turned in for credit must be your team's work. For the projects, you may discuss design issues with other teams, but you must write your own code. Copying part or all of another team's project, with or without the team's knowledge, is prohibited.
For the details of University policies regarding add and drop, cheating and plagiarism, grade appeal, access to programs for students with disability, and diversity statement, refer to Important Policies and Procedures for Students web-site.
CS majors must take this course for a letter grade. University guidelines regarding the grade of Incomplete will be strictly adhered to. Incomplete grades will only be given for circumstances beyond a student's control; inability to keep up with the work due to an excessive course load, for example, is insufficient to warrant an Incomplete.