Active Outline

General Information


Course ID (CB01A and CB01B)
CISD005.
Course Title (CB02)
Swift Programming
Course Credit Status
Credit - Degree Applicable
Effective Term
Fall 2023
Course Description
Swift is Apple's open source language used to develop native iOS and Mac OS apps. Swift was designed to be beginner friendly. Topics covered include: native and collection data types, operators and statements, loops and branching, functions and variable scoping, modules and packages, object oriented programming, file handling, regular expressions and exception handling.
Faculty Requirements
Course Family
Not Applicable

Course Justification


This course is UC/CSU transferable. This course in Swift Programming language prepares students to learn how to create applications for Apple (iOS, MacOS, watchOS, tvOS) devices and gives students a thorough introduction to one of the most popular programming languages in the high technology and finance industries. This course is part of the Certificate of Achievement in Web Development.

Foothill Equivalency


Does the course have a Foothill equivalent?
No
Foothill Course ID

Course Philosophy


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

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.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.
  • Intermediate algebra or equivalent (or higher), or appropriate placement beyond intermediate algebra

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


Methods of Instruction


Lecture and visual aids

Discussion of assigned reading

Discussion and problem solving performed in class

Quiz and examination review performed in class

Homework and extended projects

Collaborative learning and small group exercises

Collaborative projects

Laboratory discussion sessions and quizzes that evaluate the proceedings weekly laboratory exercises

Assignments


  1. Reading: Required reading from the textbook and class notes.
  2. Programs: 8-10 programming homework assignments, several with 200 or more lines of code.

Methods of Evaluation


  1. Evaluation of programming assignments for correctness, use of structured design principles, documentation and efficiency
  2. One or more examinations requiring programming ability to develop an algorithm, evaluate code segments, and write code using specific programming constructs presented in the course.
  3. In-class lab problems, group collaborative problems, exam questions and/or online assignments or tutorials demonstrating the ability to read and analyze code through debugging and/or writing snippets of code.
  4. A final examination requiring some programming ability to develop an algorithm, evaluate code segments, and write code using specific programming constructs presented in the course.

Essential Student Materials/Essential College Facilities


Essential Student Materials: 
  • Access to a Mac computer with Xcode and Swift
Essential College Facilities:
  • Access to a Mac computer lab with Xcode and Swift

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
The Swift Apprentice Third Edition: Beginning programming with Swift 4 by raywenderlich.com Team Year: 2017 ISBN-10: 1942878435 ISBN-13: 978-1942878438

Examples of Supporting Texts and References


AuthorTitlePublisher
Core Data by Tutorials Fourth Edition: iOS 11 and Swift 4 edition by raywenderlich.com Team Year: 2017 ISBN-10: 1942878362, ISBN-13: 978-1942878360

Learning Outcomes and Objectives


Course Objectives

  • Declare and use appropriate data types for variables
  • Code statements that use expressions, operators, and built-in functions to compute values
  • Apply control structures to create loops and conditional blocks of code
  • Write code to handle data input/output through standard IO and files
  • Implement user-defined functions for modularization of code
  • Import and use common Swift kits and packages
  • Create custom classes and apply object oriented programming concepts
  • Handle exceptions in the program
  • Utilize regular expressions for text parsing

CSLOs

  • Design, code, document, analyze, debug, and test introductory level Swift programs that include Swift kits.

  • Code and debug Swift programs using Xcode Playgrounds - Apple's IDE for Swift programming.

Outline


  1. Declare and use appropriate data types for variables
    1. Keywords and identifiers
    2. Swift Data Types
      1. Integers
      2. Boolean
      3. Double
      4. Characters
    3. Strings
    4. Collections
      1. Sequence: Tuples and Lists
      2. Sets
      3. Dictionaries
      4. Iterate and Copy Collections
  2. Code statements that use expressions, operators, and built-in functions to compute values
    1. Arithmetic operators
    2. Assignment operators
    3. String operators and methods
    4. Relational operators
    5. Logical operators
    6. Membership operators
  3. Apply control structures to create loops and conditional blocks of code
    1. Selection statements
      1. if else statement
      2. Nested if statements
    2. Loops
      1. for loop
      2. while loop
      3. repeat-while loop
      4. Loop control statements
      5. Nested loops
  4. Write code to handle data input/output through standard IO and files
    1. Output formatting
    2. Print and input functions
    3. File IO
    4. File and directory access
    5. Working with Core Data
  5. Implement user-defined functions for modularization of code
    1. Defining a function
    2. Calling a function
    3. Function arguments
      1. Required arguments
      2. Keyword arguments
      3. Default arguments
      4. Variable-length arguments
  6. Import and use common Swift kits and packages
    1. import statements
    2. Namespace and scoping
  7. Create custom classes and apply object oriented programming concepts
    1. Creating classes and instances
    2. Overloading operators and methods
    3. Data hiding
    4. Inheritance
    5. Overriding parent class methods
  8. Handle exceptions in the program
    1. Standard exceptions
    2. try catch blocks
    3. Raise an exception
  9. Utilize regular expressions for text parsing
    1. Regular expression set
    2. Regular expression operators
    3. Regular expression patterns
    4. match vs. search
    5. substitute

Lab Topics


  1. Debug code and output results of execution
  2. Write and debug code that uses arithmetic expressions
  3. Write and debug code that uses selection statements and decision points
  4. Write and debug code using loops to implement repetition concepts
  5. Write and debug code that implements multiple user defined functions
  6. Write and debug code implementing file I/O
  7. Write and debug code that uses collection data types
  8. Write and debug code that uses exception handling
  9. Write and debug code that uses regular expressions
Back to Top