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.
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.
There will be no required textbook for this course.