Skip to content

keith9820/iOS-Programming

Repository files navigation

NYU


#iOS App Development

  Course:	INFO1-CE9236
Semester:	Summer 2014
 Section:	#1 Monday 6:30PM - 9:30PM
Date:	June 09 - August 11    
Location:	7 E. 12th Street

Instructor: Keith Harris ([email protected])

NYU Academic Calendar

Course Description


This course will teach students how to create applications for the Apple iPad, iPhone, and iPod Touch using the iPhone operating system iOS. Learn the Objective-C language, write apps in the Macintosh Xcode development environment using Apple's Cocoa Touch API of classes, protocols, and objects. Build the visual interface of the app with touch-sensitive windows and views containing common UI elements such as buttons, sliders, and tables. Distinguish between taps and swipes, responding to them with animations. Explore the roles played by objects as delegates, targets, controllers, and data sources integrated into the Model-View-Controller design pattern.

Prerequisite Skills

Students should have experience programming in any object-oriented language. Students are expected to understand programming constructs such as operators, loops, conditional statements, and functions as implemented in languages such as C#, Java or C++.

Grading

No tests will be given, the final grade will be determined by student attendance and the correctness of submitted homework assignments.

20% - Attendance

80% - Assignments

Prerequisite Resources

Students must use an Intel based Mac running Maverics or Lion with the latest updates of Xcode 5 and iOS 7 installed.

Textbook

iOS Programming, 4th ed.

iOS Programming: The Big Nerd Ranch Guide 4th Edition by Christian Keur, Aaron Hillegass, & Joe Conway

Reading

If given, the reading assignment will either help you prepare you for the next class, or review what was presented in the previous class.

Syllabus Updates

The current syllabus lists many topics and it is possible that more or fewer will be covered in class. Syllabus revisions may be made after gauging the skill level of students. Throughout the term, we may decide to discuss additional relevant topics for which there is significant student interest.

Assignments

Programming assignments are due by midnight of the due date.

Projects will be submitted to the course management system unless otherwise indicated.

If you have any class-related questions, send an email to the instructor.

Statement on Plagiarism

New York University takes plagiarism very seriously and regards it as a form of fraud. The definition of plagiarism that has been adopted by the School of Continuing and Professional Studies is as follows:

"Plagiarism is presenting someone else's work as though it were one's own. 
More specifically, plagiarism is to present as one's own words quoted without quotation marks 
from another writer; a paraphrased passage from another writer’s work; or facts or ideas gathered, 
organized, and reported by someone else, orally and/or in writing. Since plagiarism is a matter of 
fact, not of the student's intention, it is crucial that acknowledgement of the sources be accurate 
and complete. Even where there is not a conscious intention to deceive, the failure to make 
appropriate acknowledgement constitutes plagiarism. Penalties for plagiarism range from failure for 
a paper or course to dismissal from the University.”

Concerning software development, it is common practice among developers to share code and many useful code snippets can be found on the Internet. In this course, students are encouraged to research problems online and are free to use found code (so long as the copyright owner has published no objection), provided the code is typed in by the student and not pasted from the clipboard. The reason against pasting from the clipboard is that the act of typing furthers the learning process and affords more code writing opportunities.

Course Content

  1. Course introduction, Objective-C
  2. Views
  3. View Controllers and delegation
  4. UITableView and UITableViewController
  5. UINavigationController and the camera
  6. Autolayout
  7. Autorotation, UIPopoverController and modal view controllers
  8. Subclassing UITableViewCell and dynamic type
  9. Web Services, the UIWebView, and UISplitViewController
  10. Core Data

Lesson 1

Course Introduction

Chapters 1-3

No lab during this class, ensure prerequisites are met
Complete the Quiz application from chapter 1
  • Course introduction
  • Introduction to iOS development, the Cocoa Touch Framework, and the Xcode IDE
  • C language highlights
  • Overview of Objective-C

Lesson 2

Views

Chapters 4-5

Lesson 3

View Controllers and delegation

Chapters 6-7

Lesson 4

UITableView and UITableViewController

Chapters 8-9

Lesson 5

UINavigationController and camera

Chapters 10-11

Lesson 6

Autolayout

Chapters 15-16

Lesson 7

Autorotation, Popover Controllers, and Modal View Controllers
Saving and loading application state

Chapters 17-18

Lesson 8

Subclassing UITableViewCell
Dynamic Type

Chapters 19-20

Lesson 9

Web Services, UIWebView, and UISplitViewController

Chapters 21-22

Lesson 10

Core Data

Chapters 23-24

About

iOS Programming INFO1-CE9236

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published