De Anza logo Course Outlines

Public Search

 
 
Close Window/Tab
PRINT VIEW -- Opens in new, second window. Use browser controls to close when finished.
Credit - Degree Applicable
Effective Quarter: Fall 2020

I. Catalog Information

CIS 55
iOS Development
4.5 Unit(s)

 

Requisites: Advisory: EWRT 211 and READ 211, or ESL 272 and 273; any one of CIS 5, CIS 14A, CIS 22A, CIS 36A or CIS 41A.

Hours: Lec Hrs: 48.00
Lab Hrs: 18.00
Out of Class Hrs: 96.00
Total Student Learning Hrs: 162.00

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 API's to construct powerful applications.


Student Learning Outcome Statements (SLO)

 

• Student Learning Outcome: Design mobile apps using object-oriented methodology and advanced Swift concepts using iOS Development Kit and APIs.


 

• Student Learning Outcome: Create algorithms, code, document, debug, and test mobile applications.


II. Course Objectives

A.Explain elements of iOS architecture and tools (Mac OS X framework stack, Cocoa Touch, Swift, Tools)
B.Build iOS application and deploy to Apple Marketplace sandbox.
C.Build basic applications using Swift classes.
D.Apply design patterns to build user interfaces.
E.Create and run mobile application using Visual Layout Editor UI Controls.
F.Adapt Table views and input controls to enable interaction in iOS applications.
G.Utilize Asset Management to drive user interaction
H.Design applications to manipulate and store data.
I.Apply Activity Elements to manage content with rich iOS features.

III. Essential Student Materials

 None

IV. Essential College Facilities

 Access to a computer laboratory with Apple Macintosh computers configured with XCode and iOS Simulator.

V. Expanded Description: Content and Form

A.Explain elements of iOS architecture and tools (Mac OS X framework stack, Cocoa Touch, Swift, Tools)
1.Mac OS X framework stack
2.Cocoa
3.Touch
4.Swift
5.Tools
B.Build iOS application and deploy to Apple Marketplace sandbox.
1.Apple Marketplace
2.iOS best practices - compatibility, supporting multiple screens and user interface guidelines
3.Preparing and uploading application to Apple Market
4.Launching and Managing iOS Applications
C.Build basic applications using Swift classes.
1.Swift classes
2.Properties
3.Methods
4.Memory Management
D.Apply design patterns to build user interfaces.
1.Swift loose coupling with delegates and notifications
2.Memory and Performance
3.Views
4.Model-­‐View-­‐Controller and View Controllers
E.Create and run mobile application using Visual Layout Editor UI Controls.
1.XCode
2.Interface Builder
3.Outlet and Actions
4.Advanced View Controllers
F.Adapt Table views and input controls to enable interaction in iOS applications.
1.Table View basics
2.Advanced table views and cells
3.Table views for hierarchical navigation
4.Modal views and notifications
G.Utilize Asset Management to drive user interaction
1.AssetManager
2.Menu to provide Application Options
3.Using Handler to manage events
4.Event handling to respond to user interactions
H.Design applications to manipulate and store data.
1.User input controls
2.Manipulating and storing data
3.SQL Lite and Core Data
I.Apply Activity Elements to manage content with rich iOS features.
1.Multithreading
2.XML, JSON, and Web Services
3.Common coding standards, best practices, common patterns
4.Multitouch, accelerometer, location awareness
5.iPad

VI. Assignments

A.Readings from text.
B.Documenting, coding, testing and debugging six to ten guided apps with clearly documented design.

VII. 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

VIII. Methods of Evaluating Objectives

A.One or two midterm examinations requiring students to write code applying topics covered in the lectures and reading. Code will be evaluated on correctness.
B.Final examination requiring students to write code applying topics covered in the lectures and reading. Code will be evaluated on correctness.
C.Evaluation of programming assignments based on correctness, documentation, code quality, and test plan executions.

IX. Texts and Supporting References

A.Examples of Primary Texts and References
1.Beginning iOS 12 Programming with Swift (electronic edition), by Simon Ng. (2018)
2.iOS Apprentice – Beginning iOS development with Swift 4.2 (7th Edition), by Matthijs Hollemans and Fahim Farook (2018) ISBN-13: 978-1942878636
B.Examples of Supporting Texts and References
1.None

X. Lab Topics

A.iOS Development Tools
B.Delegates and Notifications
C.User Interface and Menus
D.Pictures and Animations
E.Data Persistence
F.Messaging and Networking
G.Location Based Services