Active Outline
General Information
- Course ID (CB01A and CB01B)
- CISD038.
- Course Title (CB02)
- iOS Development
- Course Credit Status
- Credit - Degree Applicable
- Effective Term
- Fall 2023
- Course Description
- This course is an introduction to mobile app design and development for devices running iOS using its native object-oriented programming language Swift and basic design patterns. Students will understand the core APIs to construct powerful applications.
- Faculty Requirements
- Course Family
- Not Applicable
Course Justification
This course is part of the Web Development Certificate and is CSU transferable. This course will inform students how to write and deploy applications for the iPhone, iPod Touch, iPad, and Apple TV.
Foothill Equivalency
- Does the course have a Foothill equivalent?
- No
- Foothill Course ID
Formerly Statement
Course Development Options
- Basic Skill Status (CB08)
- Course is not a basic skills course.
- Grade Options
- Letter Grade
- Pass/No Pass
- Repeat Limit
- 0
Transferability & Gen. Ed. Options
- Transferability
- Transferable to both UC and CSU
Units and Hours
Summary
- Minimum Credit Units
- 4.5
- Maximum Credit Units
- 4.5
Weekly Student Hours
Type | In Class | Out of Class |
---|---|---|
Lecture Hours | 4.0 | 8.0 |
Laboratory Hours | 1.5 | 0.0 |
Course Student Hours
- Course Duration (Weeks)
- 12.0
- Hours per unit divisor
- 36.0
Course In-Class (Contact) Hours
- Lecture
- 48.0
- Laboratory
- 18.0
- Total
- 66.0
Course Out-of-Class Hours
- Lecture
- 96.0
- Laboratory
- 0.0
- NA
- 0.0
- Total
- 96.0
Prerequisite(s)
Corequisite(s)
Advisory(ies)
ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.
Any of the following courses: CIS D005., CIS D014A, CIS D022A, CIS D036A or CIS D041A
Limitation(s) on Enrollment
Entrance Skill(s)
General Course Statement(s)
Methods of Instruction
Lecture and visual aids
Discussion of assigned reading
Homework and extended projects
Laboratory discussion sessions and quizzes that evaluate the proceedings weekly laboratory exercises
Homework and extended projects
Discussion and problem solving performed in class
Assignments
- Readings from text.
- Documenting, coding, testing and debugging six to ten guided apps with clearly documented design.
Methods of Evaluation
- One or two midterm examinations requiring students to write code applying topics covered in the lectures and reading. Code will be evaluated on correctness.
- Final examination requiring students to write code applying topics covered in the lectures and reading. Code will be evaluated on correctness.
- Evaluation of programming assignments based on correctness, documentation, code quality, and test plan executions.
Essential Student Materials/Essential College Facilities
Essential Student Materials:
- None.
- Access to a computer laboratory with Apple Macintosh computers configured with XCode and iOS Simulator
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
Beginning iOS 12 Programming with Swift (electronic edition), by Simon Ng. (2018) | ||||
iOS Apprentice - Beginning iOS development with Swift 4.2 (7th Edition), by Matthijs Hollemans and Fahim Farook (2018) ISBN-13: 978-1942878636 |
Examples of Supporting Texts and References
Author | Title | Publisher |
---|---|---|
None. |
Learning Outcomes and Objectives
Course Objectives
- Explain elements of iOS architecture and tools (Mac OS X framework stack, Cocoa Touch, Swift, Tools)
- Build iOS application and deploy to Apple Marketplace sandbox.
- Build basic applications using Swift classes.
- Apply design patterns to build user interfaces.
- Create and run mobile application using Visual Layout Editor UI Controls.
- Adapt Table views and input controls to enable interaction in iOS applications.
- Utilize Asset Management to drive user interaction
- Design applications to manipulate and store data.
- Apply Activity Elements to manage content with rich iOS features.
CSLOs
- Design mobile apps using object-oriented methodology and advanced Swift concepts using iOS Development Kit and APIs.
- Create algorithms, code, document, debug, and test mobile applications.
Outline
- Explain elements of iOS architecture and tools (Mac OS X framework stack, Cocoa Touch, Swift, Tools)
- Mac OS X framework stack
- Cocoa
- Touch
- Swift
- Tools
- Build iOS application and deploy to Apple Marketplace sandbox.
- Apple Marketplace
- iOS best practices - compatibility, supporting multiple screens and user interface guidelines
- Preparing and uploading application to Apple Market
- Launching and Managing iOS Applications
- Build basic applications using Swift classes.
- Swift classes
- Properties
- Methods
- Memory Management
- Apply design patterns to build user interfaces.
- Swift loose coupling with delegates and notifications
- Memory and Performance
- Views
- Model-âView-âController and View Controllers
- Create and run mobile application using Visual Layout Editor UI Controls.
- XCode
- Interface Builder
- Outlet and Actions
- Advanced View Controllers
- Adapt Table views and input controls to enable interaction in iOS applications.
- Table View basics
- Advanced table views and cells
- Table views for hierarchical navigation
- Modal views and notifications
- Utilize Asset Management to drive user interaction
- AssetManager
- Menu to provide Application Options
- Using Handler to manage events
- Event handling to respond to user interactions
- Design applications to manipulate and store data.
- User input controls
- Manipulating and storing data
- SQL Lite and Core Data
- Apply Activity Elements to manage content with rich iOS features.
- Multithreading
- XML, JSON, and Web Services
- Common coding standards, best practices, common patterns
- Multitouch, accelerometer, location awareness
- iPad
Lab Topics
- iOS Development Tools
- Delegates and Notifications
- User Interface and Menus
- Pictures and Animations
- Data Persistence
- Messaging and Networking
- Location Based Services