• Do you own a Mac machine? • Have you done the iPhone SDK and done iPhone development? • Have submitted apps to the App Store?
Hardware and Software Requirement • Required Hardware & Software: – Intel-based Macintosh, running Mac OS X 10.5 Leopard – iPhone SDK
• iPhone or iPod touch is not required – Assignments may be completed using the iPhone Simulator
• MacLab (365) – Four Macs with iPhone SDK installed
IPhone SDK • Iphone developer university program – The iOS Developer University Program is a free program designed for higher education institutions looking to introduce iOS development into their curriculum.
• Steps to get free SDK – All Program participants must first register as Apple Developers. – Students can then be invited by their Course Instructor to join a team. – During the invitation acceptance process, students are required to review and agree to the iOS Developer Program Student Agreement prior to becoming an active member of the team.
Texbooks • Required Textbooks: N/A • Recommended Textbook: – Learn Objective-C on the Mac – Beginning iPhone 3 Development (Exploring the iPhone SDK) – The iPhone Developer's Cookbook: Building Applications with the iPhone SDK
• 6 Free Apple E-book (iBOOKStorge) – The Objective-C Programming Language – iOS Application Programming – …
• Apple Development Center
Cocoa Touch & iPhone SDK • Based on Cocoa – Mature, polished, highly consistent APIs
• Provides a very rich starting point for exploring app design • Shows “real-world” implementations of OO design patterns • Designs learned on iPhone translate directly to Mac OS X
Objective-C • ObjC is a language focused on simplicity and the elegance of OO design – Based on ANSI C – Brings many object oriented principles, but with a minimal amount of syntax (SmallTalk)
• A data point to compare with designs of C, C++ and Java
Homeworks and Projects • 4-5 homeworks • One presentation (during the last month in the class) – Study an open-source Iphone Apps
• One course project – Topic Selected in early March – Demo in the last day of class
• Team-up for Presentation and Course Project (2 students)
Final Projects • 2 months to work on them • By yourself or with a partner • Categories to consider: – – – –
Student life apps Educational tools Games Social / location-aware software
• Find a project that you or your friends would actually like to use! • Post it on the app store (internally)
Main Topics • Objective C – Inheritance, Memory Management, Properties, Categories, Protocols
• Foundation Kit • SDK (Xcode/Interface Builder) • Application design patterns • View controllers • Presenting data – Table views
• Loading & saving data – Property lists, Core Data, web services
• Text input • Address Book and other system integration • Core Location/Map…
Lab and Office Hour • We will try to run several labs • Office hours: Monday/Wednesday 4:30pm -5:30pm • Class Schedule