Swift Programming

Title Swift Programming (51043)
Quarter Autumn 2017
Instructor Thomas Binkowski (abinkowski@cs.uchicago.edu)
Website

Syllabus

Course Description

In this course, students will get an immersive introduction to the field of computer science by learning to program in Swift.  Students will learn about fundamental data structures and algorithms, professional coding practices,  algorithm design, automated testing, and the fundamentals of object-oriented programming.  

While the Swift programming language is a cross-platform, versatile programming language, this class is especially suited for students in the mobile application specialization who are planning on developing for Apple Computer platforms.

 

Course Content

During this course, students will learn:

  •  how to construct algorithms, and express them as computer programs
  •  how to refine and improve programs by an iterative process
  •  the core principles of object-oriented programming;
  •  fundamental data structures
  •  the basics of computational efficiency and "big O" notation
  •  multicore programming
  • best practices in networking and interacting with serrvices through application programming interaces (APIs)
  • user interfaces for software

Coursework
  • There will be 8 weekly assignments.
  • There will be a midterm and final exams.  Exams will be a combination of programming and written exercises.

Course Textbook
There will be no required textbook for this course.
Prerequisites (Courses)

MPCS 50101 Concepts of Programming (or programming waiver)

Prerequisites (Other)

While some coursework will be able to be completed using Swift on Linux based computers, students will need access to an Intel-based Apple Macintosh computer running Mac OS X Sierra (10.11) for other coursework.

Satisfies

Core Programming

Time

Saturday 9am-12pm

Location

Young 302