Search:

CS Major

Overview

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.

Computer Science Major Components

CS Foundation Requirement

  • CS 60 (or CS 42). Principles of Computer Science
  • Math 55. Discrete Mathematics
  • CS 70. Data Structures and Program Development
  • CS 81. Computability and Logic

CS Kernel Requirement

Most of the above courses include an essential laboratory component, in the form of computer-based development exercises and projects.

CS Elective Requirement

Students pick three electives from the following list, as their schedules permit.

  • CS 124. User Interface Design
  • CS 125. Computer Networks
  • CS 132. Compiler Design
  • CS 133. Databases
  • CS 134. Operating Systems
  • CS 135. File Systems
  • CS 136. Advanced Computer Architecture
  • CS 141. Advanced Topics in Algorithms
  • CS 142. Complexity Theory
  • CS 144. Scientific Computing
  • CS 147. Computer Systems Performance Analysis
  • CS 151. Artificial Intelligence
  • CS 152. Neural Networks
  • CS 153. Computer Vision
  • CS 154. Robotics
  • CS 155. Computer Graphics
  • CS 156. Parallel and Real-Time Computing
  • CS 157. Computer Animation
  • CS 181. Computer Science Seminar
  • CS 189. Programming Practicum (One unit per semester)

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.

CS Clinic Requirement

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).

CS Colloquium Requirement

Finally, the CS Colloquium (CS 193-196) is required for both semesters of both the junior and senior year.

Comments

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.

Contact Information

For further information or any questions about the computer science major, contact Professor Mike Erlinger or visit the department office (Olin 1258).