Advanced Apps Programming using Apple Mobile Devices

I.     Course Prefix/Number: CIS 267

       Course Name: Advanced Apps Programming using Apple Mobile Devices

       Credits: 4 (3 lecture; 2 lab)

II.    Prerequisite


III.   Course (Catalog) Description

Course covers the advanced concepts needed to build rich iOS applications for the iPad and iPhone mobile platforms. Students will code, compile, execute, and debug mobile applications using the Swift programming language to develop programs using advanced programming concepts such as Storyboarding, Master-Detail viewability, Push Notification, etc. SQLite databases will be introduced including database design techniques for mobile devices. Deploying apps to the Apple Store will be included. Recommended: CIS257 or comparable programming knowledge or consent of the instructor or the program coordinator.

IV.   Learning Objectives

Upon completion of this course, the student should be able to:

  1. Explain data key.
  2. Design and develop split views (Master/Detail views) for the iPad.
  3. Write code to recognize gestures (swiping, rotation), detect touches (pinch, drag) and orientations for both iPhone and iPad devices.
  4. Use Storyboards for rapid application development.
  5. Use data persistence.
  6. Explain memory management and efficient memory usage including plists, NSDictionary, SQLite databases.
  7. Store, retrieve, create, modify and query SQLite databases.
  8. Explain Interface layout and resizing techniques.
  9. Explain file handling procedures.
  10. Create robust graphical drawing and animations.
  11. Integrate iAds into mobile apps.
  12. Integrate location services and map management into mobile apps.
  13. Integrate camera accessibility and video playback support into mobile apps.
  14. Integrate Push notifications into mobile apps.
  15. Upload apps to Apple’s AppStore.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at

VI.   Sequence of Topics

  1. Review Swift and OOP programming basics
  2. iOS Architecture and SDK Frameworks
    1. Testing Apps on iOS devices with Xcode
    2. Writing iOS Code to Hide the Keyboard
    3. iOS views, windows, and view hierarchy
    4. Autolayout
  3. Using Table Views and Storyboards in Xcode
    1. Build dynamic Tableviews with prototype table view cells
    2. Navigation
    3. Static table view
  4. iPad Splitview and Popover examples
  5. Implementing a page based App using UI PageViewController
  6. Using UI PickerViews and UI DatePicker Components
  7. Working with directories and files
  8. iCloud storage use
  9. Managing files using the UI Document class
  10. Synchronizing Key-Value Data using iCloud
  11. Data Persistence with Archiving
  12. Data Persistence using SQLite
  13. SQLite and iOS Apps
  14. iOS Multitouch, Taps and Gestures
  15. Detecting touch screen gesture motions
  16. Collection Views and Flow Layout
  17. Subclassing and extending the iOS Collection View Flow Layout
  18. Drawing iOS 2D graphics with Core Graphics
  19. iOS animation using core animation
  20. iOS UI Kit Dynamics
  21. Sprite Kit Programming
  22. Integrating iAds into an app
  23. Multitasking, background transfer service and fetching
  24. Scheduling local notifications
  25. Application State Preservation and restoration
  26. Integrating Maps using MKMapItem
  27. Getting location information using Corec Location framework
  28. Working with Maps with MapKit, MKMapView Class and Mapkit Local Search
  29. Using MKDirections to get iOS Map Directions and Routes
  30. Using Event Kit to Create Date and Location Based Reminders
  31. Accessing the Camera and Photo library
  32. Playing Audio using AVAudioPlayer
  33. Recording Audio on iOS with AVAudioRecorder
  34. Implementing Twitter and Facebook into an app
  35. Facebook and Twitter Integration using SLRequest

VII.  Methods of Instruction

  1. Lecture
  2. Hands-on demonstrations
  3. Group and individual projects
  4. Class discussion

Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

The student will be expected to complete appropriate assignments, quizzes, and exams to meet the course objectives as determined by the instructor

Course may be taught as face-to-face, media-based, hybrid or online.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

X.    Methods of Evaluating Student Progress

Programming assignments written in class and outside of class, completion of lab assignments, and quizzes and exams as determined by the instructor

XI.   Other Course Information

If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at

Resources and support for LGBTQ+ students can be found at

Electronic video and/or audio recording is not permitted during class unless the student obtains written permission from the instructor. In cases where recordings are allowed, such content is restricted to personal use only. Any distribution of such recordings is strictly prohibited. Personal use is defined as use by an individual student for the purpose of studying or completing course assignments.

For students who have been approved for audio and/or video recording of lectures and other classroom activities as a reasonable accommodation by Oakton’s Access Disabilities Resource Center (ADRC), applicable federal law requires instructors to permit those recordings. Such recordings are also limited to personal use. Any distribution of such recordings is strictly prohibited.

Violation of this policy will result in disciplinary action through the Code of Student Conduct.