iPhone and iPad SDK Programming Class

Programming the Apple iPhone and iPad devices using the IOS SDK can be challenging for beginners, but rewarding. This class covers a broad overview of iPhone and iPad programming, including a coverage of Objective-C, UIKit framework, and other frameworks needed for successful completion of iOS projects.

Lecture 8 - OpenGL Basics, Multi-Threading and Concurrency - 11/24/2010

In this lecture we will get a whirlwind tour of OpenGL, followed up with the important but complex topic of running things on background threads.

Homework Assignment - TBD, something with running a job on a background thread.

Lecture 7 - Quartz and Multimedia - 11/17/2010

In this lecture, we wrapped up our coverage of Quartz and discussed classes used to play audio and video on the iOS platform.

Homework Assignment - Choose one of the three, more if you would like a challenge.

1) Wheel of Fortune - Display a wheel divided into segments. The user spins the wheel by swiping. The wheel decelerates at a resonable speed, and if it stops on a winning segment, a happy sound is played.

2) Virtual Keyboard - when the user touches one of the keys (a button or an image), a note is played. Consider allowing them to record a song as a bonus.

3) Russian Roulette - Place 6 views randomly on the screen. If the winning view is selected, highlight that view with a bounce effect and play a happy sound. After a two second delay, the views are randomly redrawn for the next round.

Lecture 6 - iOS Animation - 11/10/2010

In this lecture, we will cover basic animation techniques available in the iOS SDK, including UIView animation blocks, Core Animation, UIImage animation introduced last week, and a full run loop created with a scheduled NSTimer and DrawRect method of a custom UIView class.

Homework Assignment - Create a basic game with tiles, each tile having a letter. The letters make up a word that is scrambled. The user will drag the tiles into squares at the bottom of the screen. If the user gets the word correct, it will move onto the next random scrambled word.

Lecture 5 - View Controller Containers - UINavigationController, UITabViewController - 11/3/2010

In this lecture, we started by looking at delegates and protocols. This was demonstrated by investigating the UITableView class, with it's two delegates UITableViewDelegate and UITableViewDataSource. From there, we looked at the UINavigation controller and the UITabViewController classes which act as view controller containers. We screen captured ClassDemo_TableViewBasics.m4v (76MB, 25min) showing the basics of the UITabView class.

Homework 4: Create a tab based iOS app with at least three tabs; Tab one should have a UINavigationController with at least two levels, tab two should be a UIImageView with an image at least twice the size of the physical screen, tab three should contain a UIWebView that displays your favorite non-offensive, UCLA-friendly web site. The posted examples should help you out, including the Example_Web.zip, a project that demonstrates the UIWebView class.

Lecture 4 - UIKit Views and View Controllers

In this lecture, we continued to cover the UIView class and the view heirarchy as well as the UIViewController class. We screen captured ClassDemo_Homework3Answer.m4v (123MB, 40min) as a possible answer for your homework, an MVC-based app with at least three views.

Homework 3a: optionally improve homework 3 with information that you have learned from lecture and from lessons learned during your previous attempt.

Lecture 3 - UIKit Views and View Controllers

In this lecture, we covered UIViews and their heirarchy. We screen captured ClassDemo_HomeworkAlbumwindow.m4v (68MB, 23min) as a possible answer for your homework, displaying your desert island albums on a window. You might be interested in checking out a quick video on touchable views ipad-touchable-views.mp4 (23MB)
Homework 3: Create an MVC based application with at least three views.

Lecture 2 - Cocoa Touch Foundation, UIKit Views

In this lecture, we tied the main.m call to the UIApplicationDelegate and saw how the iPhone application lifecycle works. We screen captured ClassDemo_Homework1Answer.m4v
as a possible answer for homework 1, console based app that display three albums. We looked at the XCode-supplied window based template as a starting point for iOS applications.

Homework 2: Create an iPhone based application that displays your three albums on a UIView. If you feel like using Interface Builder, you might want to check out a video on IB Basics: iPhone_HomeworkHelpBasicIBa-Computer.mp4 (36MB)

Lecture 1 - iPhone/iPad Platform and Objective-C

In this lecture, we introduced the Objective-C language and its elements.

Homework 1: Install the iPhone SDK, Read the Objective-C Primer Listed below. Create an Objective-C console-based application that displays at least three albums that you would take if stranded on a desert island.

Apple Documentation - Objective-C, A Primer. http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/

All XCode Projects - Class Demos, Examples and Homework Answers

All Class Videos

All Class Slides

Class Logistics

home Site Map Terms of Use Privacy Policy Client Directories