Go to Wesleyan Homepage Go to Navigation Menu Go to Directories Go to Events Calendar Go to Search Wesleyan Go to Portfolio Sign-in








Web site contact

The Undergraduate Computer Science Major

The field of computer science studies the process of computing, using ideas drawn from the fields of system design, mathematics, and engineering. The mathematical ideas are reflected in the courses on formal languages, algorithms, and the theory of computation; ideas from system design and engineering are reflected in the courses on data structures, computer structure and organization, and compilers.

The various courses in the computer science curriculum are discussed below; for additional details, consult the catalog descriptions of the courses. Students may also consult the department's advisory committee (DADCOM).

Gateway Courses

Computer Science I and II (COMP 211, 212) constitute the introductory sequence. These courses focus on algorithmic problem-solving (as embodied in programming) and the role of data structures in supporting the development of algorithms and software systems. Computer Structure and Operation (COMP 231) studies the organization and operation of computers. The course on discrete mathematics (MATH 228) is typically taken concurrently with COMP 212. These four courses are typically taken in the first two years of study.

Core Courses

Formal Languages and Automata Theory (COMP 301) studies formal models of computing devices and the the foundations of complier technology. Algorithms and Complexity (COMP 312) studies the design of algorithms and analyzes time and space requirements. Programming Languages (COMP 321) studies various types of programming languages and language issues such as data abstraction, modules, and concurrency while Compilers (COMP 322) studies grammars, parsing, syntax-directed translation, and code generation.

Electives

In addition to the core courses, the program provides several advanced courses as well as a selection of topics courses under the heading COMP 360. For example, in the last few years courses have been offered on cryptography, networking, databases, software development, as well as several other topics. In addition, exceptionally well prepared majors can enroll in graduate courses in computer science.

Undergraduate Courses for Non-Majors

Many Wesleyan students may want to take some computer science courses without necessarily completing a computer science major. The following courses provide this opportunity.

  • Introduction to Programming (COMP 112) provides a detailed introduction to programming and data structures using an imperative programming language.
  • Logic and Computation (COMP 131) is a first-year initiative (FYI) course. It is a seminar-style course that introduces some of the basic ideas in logic and computation and the connections between the two fields.
  • Computing, Security, and Privacy (COMP 132) is a first-year initiative (FYI) course. Technical and ethical issues related to computing are covered in a lecture and discussion format.