Course Offerings

Introductory and advanced topics

Introduction to CS 1: Programming and Computer Science

Have you ever imagined speaking in the language of computers, and transforming your ideas into actions that computers can perform? This course is a gateway to discovering the art and science of programming, a crucial skill that serves as the backbone of computer science. But computer science transcends mere programming. Our actual aim is to nurture your ability to think like a computer scientist.

Systems 2: Software Architecture and Design

Have you ever wondered what a computer is and how it actually works? In this course, we’ll answer the software half of this question. We will start with virtual machines and develop a high-level language, write a compiler, and an operating system. By the end, we will have developed software heirarchy that makes the hardware we developed in Systems 1 useable.

Introduction to CS 2: Algorithms and Application

Embark on a deeper exploration of computer science, where the focus shifts from programming and foundations of computer science, to the intricacies of algorithms and their real-world applications. This course reinforces and builds upon the concepts introduced in Introduction to CS 1, and provides an introduction to algorithm design, data analysis, and the practical application of computational techniques.