In 1962, a group of programmers at MIT created Spacewar!, one of the first video games ever made. By the end of this course, you’ll build your own version of it. Along the way, you’ll learn what computer science actually is, which turns out to be less about coding and more about systematic design.
How do you design a world when you don’t know in advance how much is in it? A snake eats and grows longer, segment by segment. A fleet of alien invaders fills the screen, each one tracking its own position and trajectory. A dictionary contains a quarter of a million words, and your program needs to search through all of them. This course teaches you to build programs that work correctly no matter how much data shows up.
How can we create machines that think, learn, and solve problems? This course explores the fascinating field of artificial intelligence (AI), introducing the fundamental concepts, techniques, and ethical considerations that drive this rapidly evolving discipline.
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.
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.
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.
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.
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.
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.