Seminar on Topics in Computer Science: IOS Programming

Course number: 
CIS 4350
Fall 2016
Name E-mail Office location
Ola Ajaj
Science Education and Research Center (SERC), Room 315

Students must have a knowledge of both C and Object-Oriented concepts. Therefore; C- Or better in CIS2168 and CIS2107 are required.

There is no required textbook for this course. Instead, the documentation available at Apple's iOS Dev Center will be extensively used. Once you've installed the SDK you'll have the documentation available locally in XCode. You can also view it online at
Topics covered: 
  • Introduction to mobile system development. Introduction to Mac OS X framework stack.
  • Object-oriented Programming
  • Objective-C
  • Unix&MacOSX
  • iPhone Development Tools
  • Custom Classes
  • XCode
  • Application Frameworks
  • Graphics and Animation basics
  • Interface Design
  • Navigation Controllers
  • Table Views
  • MultiTouch
  • OpenGL, Core Animation
Course goals: 
In this course, we will learn to create applications for Apple’s iOS on both the iPhone and the iPad using Objective-C and the iOS SDK. Since its introduction, the Apple iOS SDK has proved to be a powerful platform upon which to build sophisticated applications. Without actually having to own an iPhone or an iPad, students will be able to build and test their applications on Intel Apple Macs using the freely available compiler and simulator. Students will become proficient in the object-oriented language Objective-C, Apple iOS Frameworks, and the XCode development environment. This is a new, dynamic, constantly-evolving topic, and students will be at the forefront a new technological advancement.
  • This course is an introduction to software development for the iOS platform.
  • Students will become familiar with the native object-oriented programming language used for development, Objective-C, as well as the design patterns necessary to carry out development of apps for iPhone, iTouch, and iPad.
  • This includes proper Objective-C syntax, defining classes, and proper object-oriented techniques such as abstraction and inheritance.
  • Common design patterns, such as the Model-View-Controller and Delegate patterns, will be discussed as a foundation needed to comprehend and take full advantage of the core objects used in the iOS Software Development Kit.
  • Finally, we will dive into the vast library that makes up the SDK, and become familiar with many of the most commonly used APIs that are necessary for great iPhone applications.
  • Throughout the term, we will discuss the theory of what makes a “great” iPhone application, such as proper design considerations, usability, and acceptable performance characteristics.
  • Most of these guidelines are outlined by Apple, and many are required in order to meet the standards necessary to publish to the App Store, and as such, are just as important to an application as the code that drives it.
Attendance policy: 
Attendance to all meetings of the class is mandatory
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following