Course Offerings

Introductory and advanced topics

Systems 1: Hardware Architecture and Design

Have you ever wondered what a computer is and how it actually works? In this course, we’ll answer the hardware half of this question. Working from the ground up, we will start with basic circuits and develop elementary logic gates. Taking these gates as our building blocks, we will construct the core components of a modern computer. Our journey will culminate in using machine code to control the computer we have designed.

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 program design, a skill that serves as the backbone of computer science. But computer science transcends mere program design. Our actual aim is to nurture your ability to think like a computer scientist.

Data Structures and Algorithms

How do we organize data to solve complex problems efficiently? This course studies the fundamental structures and algorithms that form the cornerstone of computational problem-solving. Building upon the programming foundations established in CS1, we will explore how algorithmic thinking and sophisticated data organization enables us to tackle increasingly challenging computational problems.