We are excited to announce the commencement of the CSC 496 iOS Development course this semester. This course is designed to provide you with an in-depth understanding of iOS development tools, fundamental programming concepts, and industry best practices.
Core Skills: Learn how to navigate the iOS development ecosystem, including the use of Swift, Xcode, and various other libraries.
Hands-On Learning: Engage in practical exercises that will enable you to build iOS apps from scratch, thereby bridging the gap between theoretical understanding and real-world application.
Industry Best Practices: Acquaint yourself with professional workflows, version control, and quality assurance methodologies that are key to becoming a proficient app developer.
By the end of this course, you will have developed the skills and mindset needed to create your own iOS applications and to further explore specialized topics in the field.
# | Date | Topic | Slides | Supporting Materials |
---|---|---|---|---|
Class 1 | Aug 29, 2023 | Introduction | ch01.pdf |
|
Class 2 | Sep 05, 2023 | Swift Fundamentals: Operators, Control Flow and Xcode | ch02.pdf |
|
Class 3 | Sep 07, 2023 | Introduction to SwiftUI: Pokédex version 1 | ch03.pdf |
|
Class 4 | Sep 12, 2023 | Swift Fundamentals: Arrays, Loops, Strings, Optional Type | ch04.pdf |
|
Class 5 | Sep 14, 2023 | Swift Fundamentals: Functions | ch05.pdf |
|
Class 6 | Sep 19, 2023 | Swift Fundamentals: Structs, Computed Property | ch06.pdf |
|
Class 7 | Sep 21, 2023 | Pokédex version 2 and Lab 1: Pokémon Fight Game in SwiftUI | ch07.pdf |
|
Lab 1 (10 points) |
Sep 21, 2023 |
Lab 1: Pokémon Fight Game in SwiftUI
Due on: 10/05/2023 23:59:59
|
lab1.pdf |
|
Class 8 | Sep 26, 2023 | Lab 1: Assignment Session | ||
Class 9 | Sep 28, 2023 | Swift Fundamentals: Classes (1) | ch09.pdf |
|
Class 10 | Oct 3, 2023 | Swift Fundamentals: Classes (2): Inheritance and Polymorphism, Protocols | ch10.pdf |
|
Class 11 | Oct 5, 2023 | Swift Fundamentals: Enums | ch11.pdf |
|
Class 12 | Oct 10, 2023 | Swift Fundamentals: Closures | ch12.pdf | |
Class 13 | Oct 12, 2023 | Fetching Data from APIs | ch13.pdf |
|
Lab 2 (10 points) |
Oct 12, 2023 |
Lab 2: Pokédex version 3
Due on: 10/26/2023 23:59:59
|
lab2.pdf |
|
Class 14 | Oct 19, 2023 | Lab 2: Assignment Session | ||
Class 15 | Oct 24, 2023 | Concurrency and Threading, Asynchronous Programming | ch15.pdf |
|
Class 16 | Oct 26, 2023 | Beyond the Standard Library | ch16.pdf |
|
Lab 3 (10 points) Group Project |
Oct 26, 2023 |
Lab 3: Build an app with API and third-party library
Due on: 11/30/2023 23:59:59
|
lab3.pdf |
|
Class 17 | Oct 31, 2023 | Views in SwiftUI & Lab 3: Assignment Session | ch17.pdf |
|
Class 18 | Nov 1, 2023 | SpriteKit (1): Create Basic Scene and Player | ch18.pdf |
|
Class 19 | Nov 9, 2023 | SpriteKit (2): Create Collectable Items | ch19.pdf |
|
Class 20 | Nov 16, 2023 | SpriteKit (3): Work with Physics and Collision Detection | ch20.pdf |
|
Lab 4 (10 points) |
Nov 16, 2023 |
Lab 4: Create a Mini-Game Using SpriteKit
Due on: 11/30/2023 23:59:59
|
lab4.pdf |
|
Class 21 | Nov 21, 2023 | Lab 4: Assignment Session & PokemonChat Demo (WebSocket) |
|
|
Class 22 | Nov 28, 2023 | SpriteKit (4): Use of Scene Editor [Video] | ch22.pdf |
|
Class 23 | Nov 30, 2023 | SpriteKit (5): Handling Collisions and Contact events | ch23.pdf |
|
Class 24 | Dec 05, 2023 | SpriteKit (6): Collectible and Physics Component
[Video] Online Asynchronous |
ch24.pdf |
|
Final Project (40 points) Group Project |
Nov 30, 2023 |
Final Project: A 2D Role-Playing (RPG) Pokémon Game
Due on: 12/15/2023 23:59:59
|
final.pdf |
|