New for January 2027
Incoming students who take our introductory CS111 and CS112 courses have a wide range of background knowledge in Computer Science, with a significant number unprepared for the demands of CS111 or CS112. Although the current CS111 and CS112 syllabi are demanding, new topics, particularly related to AI and its practical applications as a tool, must be incorporated to ensure our courses remain current and relevant. Teaching all fundamental topics in two courses is not feasible. As the field of computer science continues to evolve, expanding to a three-course sequence provides our Computer Science program with the necessary flexibility and capacity to add foundational topics critical to many current and future higher-level courses.
At the end of the Fall 2026 Semester, the department is retiring CS111 and CS112 and, in their place, introducing three new courses that will provide students with the fundamental skills and concepts of Computer Science:
CS120: Introduction to Programming
This course will closely align with the AP CSA curriculum (writing, testing, and debugging programs, as well as documenting and explaining their code). There will be an emphasis on critical thinking skills, including critical AI literacy for CS.
CS121: Introduction to Computer Science
This course introduces analysis of program efficiency, searching and sorting, recursion, objects, inheritance, interfaces, and generic data types, and emphasizes practical problem-solving skills, including design, testing, and debugging.
CS122: Data Structures
This course surveys important data structures and teaches students to compare, select, modify, and combine them to build complex implementations that meet specified performance requirements.
Reasoning for the Change
The new courses will strengthen our students' preparation. The new mix of material gives students time to consolidate their learning, while covering important additional skills and concepts in program design and analysis, data-informed programming, the expression of computational ideas for teamwork, and the inclusion of AI tools. The courses will adopt a mastery-based grading approach, which avoids partial credit for incorrect work, ensuring that students can earn a grade of C or better only if they have mastered key learning goals.
The new courses will streamline paths through the major. A three-course sequence aligns with instruction at peer institutions and better reflects students’ experience with CS in high school and two-year colleges. We anticipate that many first-year students will place out of CS120 as determined through a mandatory proficiency exam administered by the Computer Science Department. CS120 will be a prerequisite for CS121, with students receiving SAS credit but not CS credits towards the CS major. Therefore, the number of CS electives for majors and the number of electives that majors can take from outside the department remain unchanged. Students who take CS120 may choose to pursue a BA instead of a BS degree if the additional course interferes with other educational goals, such as a double major. However, most students can take more than 120 credits to graduate without any additional financial burden. Therefore, taking CS120 will not prevent students from pursuing a BA or BS degree, but will lead to a better learning experience and as a result a higher success rate in our major.
As we offer these courses, we will continue our efforts to support students with clear, consistent course organization and resources, learning assistants, and advising. We will continue to refine the courses based on data tracking of student success across demographics. We are optimistic that introducing the three-sequence course and providing a range of entry points will make the courses more accessible and appealing.
Pre-requisites, Advancement Placement, Transfers, and Placement Exam