MPCS 51043 Swift Programming (Autumn 2017)

Section 1
Instructor(s) Binkowski, Thomas (abinkowski)
Location Young 302
Meeting Times Saturday 9am - 12pm


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

  • 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.

Course Prerequisites

MPCS 50101 Concepts of Programming (or programming waiver)

Other Prerequisites

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.

Overlapping Classes

This class is scheduled at a time that does not conflict with any other classes this quarter.