Multi-platform Media App Dev

IGME-340

Course Outline

Below is an outline of the course, broken down by week. See mycourses for official due dates and dropboxes.

Week 1 (1/24, 1/26)

Topics

  • Intro to Course
  • Intro to Xcode
    • Creating and running a project
    • The iOS Simulator - choose the right one and scale it down!
    • Getting help in Xcode
  • Intro Swift:
    • Swift Language Guide
    • Swift Guided Tour
    • Swift Safety
      • Swift requires less coding - approximately 50% less code than a Android project written in Java.
      • By default, variables are not allowed to be nil and this is enforced at compile time
      • Strict typing and inferred data types
      • Compiler warnings if a variable not used, or if a result is discarded
      • Closures are "first class" data types
      • switch cases must be exhaustive
      • Arrays and integers are checked for overflows
      • Automatically managed memory using reference counting
      • iOS 10 "grand renaming" of methods
      • Features that better communicate developer intent such as guard and defer
    • var and let
    • Base types: Int, Float, Double, String, Boolean
    • These base types are copied by value, and can have methods assigned to them.
    • print() and string interpolation
    • Type Inference and Explicit Typing
  • Intro to Playgrounds (REPL)

Assignments (see dropboxes for due dates)

Links

  • See links on syllabus

Week 2 (1/31, 2/2)

Topics

  • More Swift:
    • Tuples
    • Optionals and Unwrapping
    • Collection classes: Dictionary & Array discussed in SG-2
    • Functions
    • Random Numbers
    • Loading files
  • Installing an App onto iOS hardware

Demos

Assignments

Links

Week 3 (2/7, 2/9)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 4 (2/14, 2/16)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 5 (2/21, 2/23)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 6 (2/28, 3/2)

Topics

  • GDC Week

Assignments

  • ...

Links

  • ...

Week 7 (3/7, 3/9)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Spring Break (Monday 3/13 - Friday 3/17)

Enjoy your time off!

Week 8 (3/21, 3/23)

Topics

  • Midterm Written Exam Thursday 3/23

Assignments

  • ...

Links

  • ...

Week 9 (3/28, 3/30)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 10 (4/4, 4/6)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 11 (4/11, 4/13)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 12 (4/18, 4/20)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 13 (4/25, 4/27)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 14 (5/2, 5/4)

Topics

  • ...

Assignments

  • ...

Links

  • ...

Week 15 (5/9, 5/11)

Topics

  • Final Written exam on last day of class - 5/11

Assignments

  • ...

Links

  • ...

Finals Week

You will present your final projects during finals week: Tuesday 5/16 from 10:15AM-12:15PM