CS111 has no prerequisites and requires no previous programming
experience. However, we do expect students to have basic computer
skills. For example, you should be familiar with either Mac or Windows,
and you should know how to use applications like a web browser.
The only mathematical background we expect is high school algebra and
CS111 counts for one Mathematical Modeling (MM) distribution credit.
Even though CS111 has a 2-hour weekly laboratory, it does not count as
an MM laboratory unit.
CS111 is for students who 1) want an in-depth introduction to
programming and problem solving; and/or 2) may want to take more
advanced computer science courses, particularly students who plan to
major or minor in computer science.
Although many CS111 students do take other CS courses, about half of
CS111 students take it as their only CS class, so this is not unusual
in any way.
If you are new to CS, do check out the departments list of
courses to make
sure CS111 is the right choice for you.
If you already have substantial programming experience, consider taking
CS230: Data Structures.
If you are not interested in computer science, but want to learn how to
use the Internet and various software applications, you should consider
CS115 Computing for the Socio-Techno Web.
We can only accommodate a limited number of students in CS111, and we
always have a long waitlist. Accordingly, we usually reserve some spots
in the class to admit students from the waitlist. When admitting
students to the class from the waitlist, we use the following criteria:
We try to accommodate students who need the class for a major or
minor and who are attempting to enroll in a timely fashion.
Students who have been waitlisted previously will be given priority
over those waitlisted for the first time. In most cases where
students have actually put themselves on the waitlist, we are able
to ensure that nobody is rejected twice, meaning that you should
not have to wait more than 1 semester to get into the class.
To be counted as "on the waitlist" it is not enough to attempt to
enroll in the course through Workday: you must add yourself to
the official waitlist via the course browser, and you must remain
on that waitlist until we make waitlist decisions (usually in the
week before classes start).
We will make all waitlist decisions before the semester starts, so you
will know whether or not you are in the class before the first class
meeting and you do not need to plan to attend class during the first
week if you are on the waitlist.
Although the different lecture sections will cover roughly the same
material, there will be variations from lecture to lecture. You should
plan to attend one lecture section consistently.
Changing lab sections is more difficult, but not impossible. Because we
can accommodate only a limited number of students in the lab, it is
very important for us to keep the labs balanced. Please talk to your lab
instructor about changing lab sections if you need to.