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
- Students will design and code iOS programs using Swift.
- Students will describe the model-view-controller (MVC) pattern and design applications with multiple MVC views.
- Students will use views to build hierarchical navigation-based applications.
Student Course Objectives
Upon completion of the course the student should be able to:
- Install and use iOS development tools such as Xcode.
- Describe application components and resources.
- Design and program applications with UI controls and event handling.
- Develop applications using split view controller, navigation view controller and web view.
- Develop applications using graphics, sounds and animation.
- Implement applications using accelerometer sensor and motion event handling.
- Develop applications with database capability.
- Prepare iPhone applications and deploy the application to Apple's App Store.
Course Outline
- Introduction to iOS App Development and Swift
- iOS history and features
- Xcode integrated development environment
- Swift overview
- Application components and resources
- Application Development and User-interface Features
- UI design and storyboarding
- Building and using controls
- Using alerts and dialogs
- Understanding the MVC pattern and creating applications with multiple views.
- Using hierarchical navigation and table views.
- Appication with multi-media and device features
- Graphics and animation
- Sounds and media
- Persistant data: files and database
- Location services
- Handling gesture inputs
- Interfacing applications with accelerometer and gyroscope.
Lab Content
- Installing and using the Xcode IDE
- Building a simple application using Swift
- Building an application with user interface controls
- Building an application that supports multiple views
- Building an application with hierarchical navigation and table views
- Building an application that uses Core Data
- Building an application with graphics and animation
- Building an application using location services
- Building an application that handles gesture inputs
- 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