1 Which CS 111x should I take?

All of the CS 111x courses provide a full introduction to programming sufficient to take additional CS courses. Students who took all versions perform comparably in CS 2110.

CS 1110
A general section, designed to teach as many students as possible. Most (but not all) who take this course have no prior programming experience.
CS 1111
A general section, tailored for those with some experience but not enough to test out of the course. Has exactly the same assignments, grading, etc, as CS 1110 but meets less often and does not have labs.
CS 1112
Covers the same material as CS 1110/1111, but is organized based on the assumption that none of the students have any prior programming experience. It makes use of several techniques that have been found to be particularly effective for such students, such as an integrated lecture and lab, a different assignment set, required attendance and participation, etc. This comes at the cost of being unable to seat everyone who wants in and being less suited for those with some prior experience.
CS 1113
A generic number for more audience-specific introductions to programming, generally by emphasizing the topics that specific disciplines find useful. Section 1113-001 is designed for engineers, pulling examples and assignments from common engineering domains and teaching some tools and techniques engineers are likely to find useful.
Placement Test
If you have programmed before, you can likely place out of Introduction to Programming entirely. Placement tests are offered in the CS department offices (Rice 527); no appointment is necessary. If you pass the placement test, we advise taking CS 2110 to expand your programming ability further.

2 The course is listed as restricted

CS courses are open to students in all majors, but for the initial periods of registration (indicated below) many are restricted to students in majors that require the course.

As listed in the list of CS course restriction dates, 1110/1111 have the following dates:

Start of Registration
Open to SEAS students, CLAS 1st year students, and Math or Cog Sci majors
Open to all
Restricted to rising SEAS 1st year students
Open to all (date of opening TBA)

Note that 1st year means will be coded as 1st or 2nd year in SIS in the semester in which the course is taught: i.e., for Fall 2017 the classes of 2020 or 2021.

The CS Department has no control over the exact time of day that the restriction changes.

If you are not eligible to sign up for a full course, you cannot get on the waiting list. But, put yourself on the waiting list as soon as you can, because at the start of the term, waiting lists often shrink and many students do eventually get in.

3 I plan to declare a major that gets early enrollment

Until your major is coded in SIS by the registrar, limitations on enrollment will hold as listed. We will not make any exceptions based on intended major declarations.

4 Will the course fill up before I have a chance to enroll?

I cannot predict level of demand, but a good guess is similar to last Fall, which can be viewed by visiting Lou’s list for the appropriate semester and clicking on the enrollment number link (i.e., http://rabi.phys.virginia.edu/mySIS/CS2/enrollment.php?Semester=1168&ClassNumber=17556), then clicking all.

Note that while waiting lists do fill up, they also tend to empty before the add deadline. Patience is sometimes rewarded with enrollment.

5 I have other questions…

See the FAQ for the previous semester. If it is not answered there, email the professor.