Computational Thinking

The modern world is driven by computers. In the last week, what was the longest stretch of time you went without interacting with a computer in some way? Think of cell phones, cars, Google, Facebook, Twitter, eBay, and Wikipedia. From research to real-world applications, computer scientists constantly discover ways to improve lives by creating bold new solutions that connect us to information and to each other in unexpected, forward-thinking ways. Few professions can turn ideas into realities so quickly. Few have such a direct and positive effect on people’s everyday lives. In this course, we will study the foundations of computational thinking and teach you how computer scientists use computers to solve problems in ways that will shape the 21st century.

The objective of this course is not to turn you into a programmer. Rather, this course is designed to give you an overview of computer science and teach you about problem solving in a way that utilizes computation. Upon completion of this course, you will have a feel for how to think about and structure problems in such a way that you can use a computer to help you solve them. Programming is necessarily a part of this process, but it is neither the only part nor the most important part.

COMP 140 is an introductory course designed for any student interested in using computation to enhance their problem solving abilities. No prior experience in programming is necessary. Mathematics at the high school level (e.g., algebra, trigonometric functions, geometry, elementary probability concepts) will be assumed.


Freshmen and Sophomores have priority for enrollment in COMP 140. Upperclassmen may be allowed to take the class as space permits. No one will be allowed to audit the class and no graduate students will be allowed to take the class.

What to do if you cannot register

If you are not able to register, you should go to one of the face-to-face sections (it does not matter which) on the first day of class. At that time you can discuss with the instructor whether it will be possible for you to take the class. You will also be able to place your name on our waiting list.

Be advised that we will do everything possible to accomodate every freshman who is interested in taking an introductory computer science class. However, that does not necessarily mean that you will get the particular section you want.


Upperclassmen who try to register for the class will receive the cryptic "prerequisite or test score error" message. If you receive this message, it means that you will not be a freshman or sophomore at the time the class runs, so you are not allowed to register normally for the class.

If you are a junior or senior who is interested in COMP 140, it is very unlikely that you will be able to take the class. Freshmen and sophomores have priority. If there are seats available after all freshmen and sophomores have been let in the class, then we will consider letting in upperclassmen. Be advised, though, that this is very unlikely. If you need the class for your major requirements, you should contact the instructor.

Course Web Site

The course will use the Canvas learning management system. The site does not open until the semester begins. At that time, you will have full access to the site if you are registered for the course.


There is no required textbook for the course. After you start the class, if you feel like you need reference materials, there are some suggested Python references on the Canvas site, some of which are free, online sites and some of which are printed books.

No electronic devices are allowed in class. While you will need access to a computer outside of class to watch videos and do the homework, you do not need to bring anything to class other than yourself, a writing implement, and paper.

Course Meeting Times/Locations

There are four sections of COMP 140. Three of them are conventional, face-to-face sections:

  • Tue/Thu 10:50am-12:05pm, Brockman 101
  • Tue/Thu 1:00pm-2:15pm, Brockman 101
  • Tue/Thu 2:30pm-3:45pm, Brockman 101

The fourth section is a fully-online section, so there is no classroom and there is no single meeting time. See below for further information.

Online Section of COMP 140

Students who enroll in the fully-online section of COMP 140 will do all of the same exercises and activities as the students in the face-to-face sections. The only difference is that instead of meeting in a classroom twice a week, "class" will instead consist of video conferences.


Students will work in groups of 2 or 3 students during class time on designated exercises. Groups and meeting times will be determined during the first week of class. You will work with the same group throughout the semester, meeting twice a week at the same time, just as if you were in a conventional class.

The staff will join your video conferences, just as they would join your groups within the classroom.


In order to be in the online section, you must therefore own a computer capable of video conferencing and a webcam that allows you to do so. You may not participate using audio only, you must participate using video.


Students in the fully-online section must attend the midterm and final exams in person. You will take the exact same exams at the exact same time as the face-to-face sections.