The HMC CS Major produces computer science professionals and future academics well-rounded and well-grounded in CS fundamentals. We offer specializations by way of the approved electives. Additionally, each student participates in a Clinic project, in which four or so students will work together for a year to produce a product for a client in the industry. Students are also encouraged to perform independent research under the advisement of a faculty member.
The CS Major degree program requires CS 5 (Introduction to Computer Science), which is included in the HMC core, and five other components: four foundation courses, four kernel courses, three electives, clinic, and colloquium. Each of these five components is described in detail below.
When planning ahead for courses you want to take, keep in mind that most courses are only offered one semester every one or two years. The course descriptions indicate approximately how often each course is offered; previous years' class schedules may also be of help. Lastly, for a quick overview of course dependencies, consult this diagram.
Most of the above courses include an essential laboratory component, in the form of computer-based development exercises and projects.
Students pick three electives from the following list, as their schedules permit.
Students may substitute electives in one or more CS-related areas, such as in Engineering or Mathematics, with the consent of their faculty advisor. CS 186 (Computer Science Research II) can be counted as an elective for the major and requires CS 185 (Computer Science Research I) as a prerequisite. Other research or project courses cannot normally be counted as electives for the major.
Each CS student is required to enroll in the CS Clinic (CS 183 and 184) for one full academic year (two semesters in the same academic year).
Finally, the CS Colloquium (CS 193-196) is required for both semesters of both the junior and senior year.
The CS Major requires 14 courses, not including colloquium. Colloquium is not required for study abroad students during their time away from the HMC campus.
For further information or any questions about the computer science major, contact Professor Mike Erlinger or visit the department office (Olin 1258).