Course Information

Course Description

This course is an introduction to programming iPhone and iPad applications in Swift using an object-oriented paradigm. Students learn to develop simple to more advanced applications using Xcode, Swift, Model-View-Controller framework, graphical-user interface, classes, methods, and messages.

Prerequisites

  • CIS 007 (Python) or ...
  • CIS 040 (C++) or ...
  • CIS 043 (Java)

Student Learning Outcomes

  1. Students will design and code iOS programs using Swift.
  2. Students will describe the model-view-controller (MVC) pattern and design applications with multiple MVC views.
  3. Students will use views to build hierarchical navigation-based applications.

Student Course Objectives

Upon completion of the course the student should be able to:
  1. Install and use iOS development tools such as Xcode.
  2. Describe application components and resources.
  3. Design and program applications with UI controls and event handling.
  4. Develop applications using split view controller, navigation view controller and web view.
  5. Develop applications using graphics, sounds and animation.
  6. Implement applications using accelerometer sensor and motion event handling.
  7. Develop applications with database capability.
  8. Prepare iPhone applications and deploy the application to Apple's App Store.

Course Outline

  1. Introduction to iOS App Development and Swift
    1. iOS history and features
    2. Xcode integrated development environment
    3. Swift overview
    4. Application components and resources
  2. Application Development and User-interface Features
    1. UI design and storyboarding
    2. Building and using controls
    3. Using alerts and dialogs
    4. Understanding the MVC pattern and creating applications with multiple views.
    5. Using hierarchical navigation and table views.
  3. Appication with multi-media and device features
    1. Graphics and animation
    2. Sounds and media
    3. Persistant data: files and database
    4. Location services
    5. Handling gesture inputs
    6. Interfacing applications with accelerometer and gyroscope.

Lab Content

  1. Installing and using the Xcode IDE
  2. Building a simple application using Swift
  3. Building an application with user interface controls
  4. Building an application that supports multiple views
  5. Building an application with hierarchical navigation and table views
  6. Building an application that uses Core Data
  7. Building an application with graphics and animation
  8. Building an application using location services
  9. Building an application that handles gesture inputs
  10. Building an application that that interfaces with accelerometer and gyroscope

Evaluation

  • Students will complete weekly reading and programming assignments.
  • Students are required to analyze, explain, deduce, problem-solve, synthesize and demonstrate understanding of aspects of computer programming.
  • Students will write programs, run the programs and check the correctness of the output produced by the programs.
  • Students will be evaluated through weekly assignments, tests and projects.

Resources


Why take this course?

Since 2014, the majority of internet traffic is generated from mobile devices (phones and tablets). Sales of desktop and notebook computers ...