CSC 496 iOS App Development

2023-Fall Course Website

Instructor: Si Chen

Course Logo

Course Description

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.

What to Expect:

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.

Textbook

No Textbook

Reference book:

  1. Ahmad Sahar, Swift Cookbook, ISBN 978-1839211195
  2. Erica Sadun, The Swift Developer's Cookbook, ISBN 978-0134395266

Course Content

# Date Topic Slides Supporting Materials
Class 1 Aug 29, 2023 Introduction ch01.pdf
  • Online Swift Playground
  • GalaxyMentor
  • Class 2 Sep 05, 2023 Swift Fundamentals: Operators, Control Flow and Xcode ch02.pdf
  • AppIcons.zip
  • pokemon.png
  • Class 3 Sep 07, 2023 Introduction to SwiftUI: Pokédex version 1 ch03.pdf
  • pokemon.png
  • pokemon.zip
  • generate app icon
  • Class 4 Sep 12, 2023 Swift Fundamentals: Arrays, Loops, Strings, Optional Type ch04.pdf
  • class4.playground.zip
  • Class 5 Sep 14, 2023 Swift Fundamentals: Functions ch05.pdf
  • class5.playground.zip
  • Class 6 Sep 19, 2023 Swift Fundamentals: Structs, Computed Property ch06.pdf
  • pokedex_ver_2.zip
  • class6.playground.zip
  • Class 7 Sep 21, 2023 Pokédex version 2 and Lab 1: Pokémon Fight Game in SwiftUI ch07.pdf
  • pokedex_ver_2.zip
  • Lab 1
    (10 points)
    Sep 21, 2023 Lab 1: Pokémon Fight Game in SwiftUI
    lab1.pdf
  • PokemonFight.zip
  • Class 8 Sep 26, 2023 Lab 1: Assignment Session
    Class 9 Sep 28, 2023 Swift Fundamentals: Classes (1) ch09.pdf
  • pokedex_ver_2.zip
  • bulbasaur_image.zip
  • class9.playground.zip
  • Class 10 Oct 3, 2023 Swift Fundamentals: Classes (2): Inheritance and Polymorphism, Protocols ch10.pdf
  • pokedex_ver_2_final.zip
  • class10.playground.zip
  • Bulbasaur.zip
  • Class 11 Oct 5, 2023 Swift Fundamentals: Enums ch11.pdf
  • class11.playground.zip
  • Class 12 Oct 10, 2023 Swift Fundamentals: Closures ch12.pdf
    Class 13 Oct 12, 2023 Fetching Data from APIs ch13.pdf
  • FetchAPI.zip
  • Lab 2
    (10 points)
    Oct 12, 2023 Lab 2: Pokédex version 3
    lab2.pdf
  • FetchAPI.zip
  • Class 14 Oct 19, 2023 Lab 2: Assignment Session
    Class 15 Oct 24, 2023 Concurrency and Threading, Asynchronous Programming ch15.pdf
  • FetchAPI.zip
  • ConcurrencyDemo.zip
  • FetchAPI_async.zip
  • Class 16 Oct 26, 2023 Beyond the Standard Library ch16.pdf
  • 3rdparty.zip
  • town.mp3
  • Lab 3
    (10 points) Group Project
    Oct 26, 2023 Lab 3: Build an app with API and third-party library
    lab3.pdf
  • FetchAPI_async.zip
  • 3rdparty.zip
  • Class 17 Oct 31, 2023 Views in SwiftUI & Lab 3: Assignment Session ch17.pdf
  • views.zip
  • Class 18 Nov 1, 2023 SpriteKit (1): Create Basic Scene and Player ch18.pdf
  • background.jpg
  • foreground.png
  • images.zip
  • frame_0.zip
  • Class 19 Nov 9, 2023 SpriteKit (2): Create Collectable Items ch19.pdf
  • Picaku_v1.zip
  • fruit.zip
  • Class 20 Nov 16, 2023 SpriteKit (3): Work with Physics and Collision Detection ch20.pdf
  • Picaku_v2.zip
  • Picaku_Final.zip
  • Lab 4
    (10 points)
    Nov 16, 2023 Lab 4: Create a Mini-Game Using SpriteKit
    lab4.pdf
  • gameartguppy.com
  • Class 21 Nov 21, 2023 Lab 4: Assignment Session & PokemonChat Demo (WebSocket)
  • PokemonChat.zip
  • pokemon.wcpc.fun
  • Class 22 Nov 28, 2023 SpriteKit (4): Use of Scene Editor [Video] ch22.pdf
  • Pokemon2D_Assets_1.zip
  • Pokemon2D_Assets_2.zip
  • Class 23 Nov 30, 2023 SpriteKit (5): Handling Collisions and Contact events ch23.pdf
  • Pokemon2D_v1.zip
  • Class 24 Dec 05, 2023 SpriteKit (6): Collectible and Physics Component [Video]
    Online Asynchronous
    ch24.pdf
  • Pokemon2D_healthbar.zip
  • Final Project
    (40 points) Group Project
    Nov 30, 2023 Final Project: A 2D Role-Playing (RPG) Pokémon Game
    final.pdf
  • gameartguppy.com
  • Tutorials and Supporting Materials