Comp 11:
Introduction to Computer Science


This course is an introduction to computer science. Primarily, it is a course on how to think — how to think precisely. It's a user guide for the human brain. How do humans understand and solve complex problems, design complex systems, and know that those systems are correct?

We'll focus on 4 methods the human mind uses to deal with complexity. We call them the Big Ideas in Comp 11:

You will solve complex problems and communicate those solutions effectively to others, including both people and computing devices. In fact, you'll learn quite a bit about how modern computing devices actually work. You will also learn something about how to evaluate competing solutions to problems.

This term, we'll communicate with the computer and each other using two programming languages:

Python will provide a high-level language for solving problems and will enable students in other fields to leverage their programming skills for outside projects.

C++ allows us to study details about how modern computers work and also to build higher-level solutions to real-world problems. This will also prepare you for future study in CS at Tufts.

We'll program in a Unix environment. If you don't know what that means yet, it's not a problem!

For new and experienced programmers

This course does not assume any prior programming experience. If you have never programmed before, have no fear: This course is for you! We'll teach you what you need to know.

If you have prior experience, don't worry! We'll cover important concepts you might have missed, and you will have the opportunity to stretch with some extra challenges.

Mark A. Sheldon (
Last Modified 2018-Jan-02