98-222: Intro to iOS Development
This is the course website for the CMU Student Led Course (StuCo) 98-222: Introduction to iOS Development. In this very brief and fast-paced course, we will teach you the basics of Swift, Xcode, and Cocoa Touch, as well as how to use some 3rd-party iOS APIs. We do not require any prior iOS experience, though some object-oriented programming experience is strongly recommended. By the end of the course, all students will have built their very own feature-complete iOS app from scratch-- in past semesters some students have even successfully deployed their apps to the App Store. No iOS device is required, but all development will be done on a Mac computer. If a student does not own a Mac, he or she can use one of the Mac labs on campus to complete assignments.
Even though this course has a tougher curriculum than most StuCo's, we want it to be a very fun, open-ended, and creative experience. Topics covered in the second half of the semester are mostly chosen by students, and we try to incorporate new and upcoming APIs and technologies into our course, such as the Apple Watch. Students should enter this course with an open mind and a desire to learn and become independent with a new, very marketable skill.
- (Apr 26) Multithreading has just been added to the Tidbits section.
- (Apr 19) Lecture 12 has been posted.
- (Mar 31) Lecture 11 has been posted.
- (Mar 30) Lecture 10 has been posted.
- (Mar 16) The Final Project has been posted. Presentations on 4/27, due on 4/28.
- (Mar 16) Lecture 8 has been posted. Hope you all enjoyed Spring Break!
- (Feb 22) Lecture 7 has been posted.
- (Feb 16) A tidbit on Bridging Swift and Objective-C and a tidbit on a backend-as-a-service called Parse has been posted.
- (Feb 16) Lecture 6 has been posted.
- (Feb 9) Tidbit on running apps on iOS hardware through CMU developer program is finally posted.
- (Feb 9) The midterm project is posted. Checkpoints due every Monday. Entire project due on 3/2. You may use up to two late days.
- (Feb 9) Homework 4 is cancelled. Also, Lecture 5 is posted.
- (Feb 4) A more complete version of Lecture 4 has been posted. HW4 to be announced later today.
- (Feb 2) An incomplete version of Lecture 4 has been posted! A complete version and HW4 are soon to come.
- (Jan 28) HW3 has been posted! Due Wed 2/4 at 11:59 PM.
- (Jan 25) Lecture 3 has been posted. HW3 soon to come...
- (Jan 19) Lecture 2 and HW2 have been posted. HW2 is due on 1/26/15 at 11:59 PM.
- (Jan 15) Tidbits have been added to the Lectures page!
- (Jan 11) Lecture 1 and HW1 have been posted. HW1 is due on 1/20/15 at 11:59 PM.
- (Jan 10) Mac users: make sure to download the latest version of Xcode.
- (Jan 10) Welcome to Intro to iOS Development!
Lecture and Office Hours
This course is pass/fail: students will either receive a P or an N on their transcript. However, we will internally use the following simple grading scale:
- 10% Attendance
- 20% Weekly assignments
- 30% Midterm project
- 40% Final project
The midterm project and the final project are mandatory. Not doing these projects will automatically guarantee a grade of an N.
Late Assignment Policy
Late assignments are not accepted, unless there are truly extenuating circumstances. Students are permitted exactly TWO (2) late days to use during the semester. Students can use the late days on any assignment or project, and can use both late days on the same assignment, if the student chooses.
At the beginning of class, we will hand out a sign-in sheet that will be passed around to the whole class. All students should make sure they sign the sign-in sheet. As per StuCo policy, students are only permitted to miss up to 2 lectures. This includes midterm and final project presentations. On a student's third absence, he or she will be removed from the course. This policy is applied to all StuCo courses, and is not unique to this course.
If a student must miss a class for any excusable reason (sickness, travel, etc.), that student must email someone in the course staff as soon as possible, and it must be before lecture. Otherwise, it will count as an unexcused absence. Excused absences will not count towards a student's removal of the course, but the student is still expected to make up the material he or she missed.
We traditionally use Facebook in place of Piazza or Blackboard as a common space for students to ask questions. It is, by far, the quickest way to reach the course staff, and almost everybody has a Facebook anyways. Students should treat the course Facebook Group like a Piazza and use it to ask questions and search for project teammates. Students can also message the course staff privately for any private questions.
Students should check the course Facebook Group somewhat frequently for announcements, since it will be our main platform for announcing things.