COMP 140: Computational Thinking

Fall 2024

  Rice logo  

April 16, 2024:

Registration for COMP 140 for Fall 2024 is now open!  The Registrar has completed correcting the registration restrictions for the course, and it is now possible to registrar yourself if you meet those restrictions.  Note that the 7:00 PM section is open to all undergraduate students, whereas the other four sections are open only to undergraduate students who matriculated in Academic Years Fall 2023–Spring 2024 or Fall 2024–Spring 2025; also, most spaces in these four sections are currently reserved for new matriculants, although there are now open spaces available for current students in all four.

Course Goals

The modern world is driven by computers.  In the last week, what was the longest stretch of time you went without interacting in some way with a computer?.  For example, think of cell phones, cars, Google, Facebook, Twitter, Amazon, and Wikipedia.  From research to real-world applications, computer scientists discover countless ways to improve lives by creating bold new solutions that connect us to information and to each other in unexpected, forward-thinking ways.  Few other professions can turn ideas into realities so quickly.  Few have such a direct and positive effect on people's everyday lives.  In COMP 140, we will study the foundations of computational thinking by designing and building solutions to meet the needs of the 21st century.

Note that the title of the course is Computational Thinking.  It is not something like Introduction to Python or even Introduction to Programming.  The objective of COMP 140 is not to turn you into a programmer.  Rather, this course is designed to give you an overview of computer science and in particular to teach you how to think about problem solving in a way that utilizes computation; in other words, to teach you how to solve problems utilizing a computer.

Upon completion of this course, you will understand 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.  In order to actually solve problems, we will be using the Python programming language in this course, but this is not a course about Python, as the concepts covered in the course transcend any particular programming language.

Recommended Background

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, and elementary probability concepts) will be assumed.

Enrollment Restrictions

In the Fall semester, preference is given to freshmen and sophomores, but in the Spring semester, the course is open to all undergraduates.  However, there is a strict limit in both semesters on the number of students that can be accommodated in any section of the course, and it is not possible under any circumstances to add any students to a section beyond this limit.

In both semesters, we will do everything we can to accommodate all students who need COMP 140 to satisfy one of their major/minor requirements for a major/minor that they have actually declared.  Also, in the Fall semester, upperclassmen who express interest may be able to enroll in the course if there is space available after all interested incoming freshmen have enrolled during O-Week, but the number of students who may be able to be accommodated in this way is expected to be quite limited.

No one will be allowed to audit the course, and no graduate students will be allowed to take the course.

Course Resources

Be aware that all enrolled students have access to all course resources regardless of which section they are in.  In particular, please take advantage of any of the office hours and make the most of the course!  Some office hours are offered in person and some are online.

Course Format

COMP 140 is taught in a flipped classroom style, where students watch short videos and do some short readings before each class, to get the material equivalent to traditional lectures; and then in class each day, we use an active learning approach, where students work in groups of two to three on in-class exercises to help them better learn that material and get experience applying it.  An in-class teaching assistant or your course instructor will visit with your group at various times throughout class each day, to see how your group is doing, to answer any questions your group may have on the day's in-class exercises, and to ask you questions to aid your understanding of that material.  The in-class groups generally remain fixed throughout the semester.

Attendance in class every day is necessary and required, and class participation every day is graded.

In-Person vs. Online Sections

Depending on the semester, COMP 140 is offered in both in-person and online sections.  Currently, an online section is available only in the Fall semester; All sections of the course in the Spring are in-person.

Regardless of the format, all sections cover exactly the same material, in the same way, on the same schedule, and do all of the same assignments and the same exams.  We work hard to ensure that both formats and all sections are the same.  An online section of COMP 140 is not like what you may have heard of for other courses or think you should expect for an online course (e.g., it is not like an asynchronous Coursera class).  An online section is simply an additional time of day at which you can take COMP 140, and also has the advantage that you can attend class each day from anywhere with a good Internet connection, rather than having to be physically present in the classroom.

The only difference between an in-person section and an online section of COMP 140 is that, in an in-person section, group members meet together, face-to-face, at the same physical table, whereas in an online section, group members meet together over a shared Zoom videoconference.  When an in-class teaching assistant or your course instructor visits with your group during class, they will either sit down at your physical table with you or join you in your videoconference, depending on the format of your section, but the interaction with you and your other group members remains the same.

We have been running online sections of COMP 140 since well before COVID became a thing, so we have a lot of experience in how to do online sections of the course right, ensuring that students in an in-person section or in an online section have the same experience in class each day and get the same out of the course.  We offer the course in online sections in addition to in-person sections, to expand the number of students who can be accommodated in the course, and to give students the extra flexibility of an additional time during the day at which they can take the course and the ability to attend class each day, as needed, from anywhere with an Internet connection rather than only in a traditional classroom on campus.

If You Are Unable to Register

If you tried to register for COMP 140 but were unable to do so, this could be due to a number of different factors:

  • If the section you tried to register for is already full, we strongly recommend you register now instead for a different section.  Due to the high demand for this course, it is not possible for everyone always to be able to get in to their first choice of section.  If other sections that do still have open spaces conflict with other courses you want to take or other factors in your schedule, ask yourself what is most important to you.

  • If you are an upperclassmen (i.e., beyond the matriculation years for which the section you tried to register is restricted), you will get a cryptic prerequisite or test score error message.  That is what this error message means; you will not be able to register for this section or any other with the same matriculation year restriction.

Please do not simply email us asking to get into some section of the course using a Special Registration form or a Registration Override.  Due to the way in which the course is taught, we are not able to arbitrarily add another person to any section; we must also remain fair to other students if it does become possible to add any students.

We will make available a wait list form shortly before classes start that will allow you then to express your availability and preferences for getting in to each of the sections of COMP 140, if you are still trying to get into the course that semester.  It is common that some students who registered for the course decide instead not to take it, and we will use this wait list to identify students to let into any spaces that open up.

In filling out this wait list form, the more sections you are willing to consider, the better chances you have of getting into the course.  Please carefully consider your availability and the importance to you of COMP 140 over your potential conflicts.  For the link to this wait list form, you should contact the instructors after the registration period has closed; in the Fall semester, this means after the incoming freshmen have registered during O-Week.

We will do everything we can to accommodate every freshman who is interested in taking COMP 140, within the necessary constraints of the number of students that are possible in each section.  Also, if you need COMP 140 for a requirement for a major or minor for which you have actually declared, will do our best to accommodate you.  However, that does not necessarily mean that you will get the particular section you want.  And note that the demand for the course in the Spring semester is significantly less than in the Fall, so if you are able to take the course in the Spring, we strongly recommend you take that option.