CS 1101 (Introduction to Program Design)
CS 1102 (Accelerated Introduction to Program Design)
Frequently Asked Questions
- How are these two courses similar?
Both courses are taught in A term (7 weeks) every year and are
primarily intended for first-year students planning to major in
Computer Science. (For non-majors, see information regarding
beginning CS courses.)
Both courses cover all of the material needed to successfully continue
to the second-level courses in Computer Science (i.e., CS 2102 and CS
2303), in essentially the same fashion. These topics include the design,
implementation and testing of programs that use a variety of data
structures (such as structures, lists, and trees), functions,
conditionals, recursion and higher-order functions
No particular prior language is assumed; both courses teach functional
programming using the Racket language, which is new to almost all
- What is the difference between the two courses?
The accelerated course, CS 1102, covers the 7 weeks of material in CS
1101 in the first 3 1/2 weeks, i.e., CS 1102 moves at twice
the pace of CS 1101. The second half of the term in CS 1102 is a
preview of selected advanced Computer Science topics, such as the
design and implementation of application-specific languages, macros,
programming with the HTTP protocol and continuation-passing
style. Also, CS 1102
includes a somewhat open-ended individual programming project, which
CS 1101 does not.
CS 1101 is taught again in C term, whereas CS 1102 is only
taught in A term.
- How should I decide which course to take?
Most first-year Computer Science students (about 75%) take CS 1101.
The accelerated course is primarily targeted at students with
substantial prior programming experience (including functions,
recursion, and lists or trees, as would be covered in high-school
Advanced Placement courses) and/or strong mathematical skills and the
desire for a challenge.
Up to 1/4 of the students who initially enroll in CS 1102
transfer to CS 1101 in the first few weeks.
Also, since CS 1102 is taught at 9am and CS 1101 is taught at both 9am and
10am (and some years, also at 1pm), it may be possible to attend both lectures for a few days before
making a final decision.
- Can I transfer between these courses?
It is not recommended to transfer from CS 1101 to CS 1102 (unless you
have been attending both courses in parallel), because it will be too
difficult to catch up with the accelerated course.
It is easy to transfer from CS 1102 to CS 1101 and is allowed without
penalty until the day of the first midterm exam in CS 1101 (the exact
date will be announced in class). If you do transfer into CS 1101,
your grade will depend only on your subsequent performance (quizzes,
exams, and homework) in CS 1101.
Furthermore, there will be a diagnostic (pass/fail) in-class quiz in
CS 1102 a few days before the transfer deadline. If you do not pass
this quiz, we will strongly recommend you transfer to CS 1101.