Please note: The information displayed here is current as of Saturday, July 20, 2019, but the official Course Catalog should be used for all official planning.

2019-2020 Course Catalog

Required for the major in computer science

The major in computer science prepares students to demonstrate independent learning in the context of an independent project: to establish a project of appropriate scope; to identify appropriate approaches and problem-solving strategies, including the appropriate level of abstraction to apply to the project to design and implement software that satisfies the requirements of the project; and to communicate the results of the project work to others clearly using methods appropriate to the discipline of computer science.

The major in computer science requires the following:

  1. The following math courses:
    1. MATH 140 Calculus
    2. MATH 155 Multivariable Calculus
    3. MATH 220 Applied Combinatorics
  2. The following computer science courses:
    1. CMSC 150 Introduction to Computer Science
    2. CMSC 250 Intermediate Programming Concepts
    3. CMSC 270 Introduction to Data Structures
    4. CMSC 510 Data Structures and Algorithm Analysis
  3. One of the following courses:
    1. CMSC 205 Data-Scientific Programming or
    2. CMSC 208 Machine Learning
  4. Three additional six-unit CMSC courses numbered 400 or above, excluding tutorial, directed study, and independent study courses taken for any reason.
  5. The following courses taken in the senior year:
    1. CMSC 698 Senior Projects or CMSC 699 Independent Study in Computer Science (6 units) if CMSC 698 is not offered
    2. CMSC 600 Senior Seminar (3 units)

Required for the minor in computer science

  1. The following math courses:
    1. MATH 140 Calculus
    2. MATH 155 Multivariable Calculus
    3. MATH 220 Applied Combinatorics
  2. The following computer science courses:
    1. CMSC 150 Introduction to Computer Science
    2. CMSC 250 Intermediate Programming Concepts
    3. CMSC 270 Introduction to Data Structures
  3. One additional six-unit CMSC course numbered 400 or above

Teacher certification in computer science

Computer science majors can seek certification to teach computer science at the secondary level. Students can add an endorsement in a second area by completing an appropriate minor. Students who plan to seek teacher certification should review the requirements in the Education section of the catalog and meet with the director of teacher education, preferably before the end of the sophomore year.

Tutorials

Tutorials are opportunities to enhance usual course offerings, not duplicate them. In order to reserve tutorials for this purpose, no tutorials or directed studies are given for courses routinely offered, and the department does not normally permit a tutorial to satisfy a major or minor requirement for graduation.

Placement

Advanced placement and six units of Lawrence credit (for CMSC 150) may be obtained by scoring 4 or 5 on the A or AB computer science exam administered by the College Board. Consult the department for details and proper placement.

Senior Experience in computer science

Computer science majors complete an independent project during the senior year in either the fall term Senior Projects course (CMSC 698) or, if the Senior Projects course is not offered, in a 6-unit independent study. They present the results of their project in the winter term Senior Seminar (CMSC 600, 3 units). The project must be approved and supervised by a faculty member in the department. Students should consult with department faculty in the spring before their senior year in order to plan for their Senior Experience.