2024-25 CATALOG YEAR
Introduction
Computer science combines an empirical aspect—which involves implementing specific algorithms—with a theoretical aspect—which involves analysis of abstract processes using methods of applied mathematics. Both aspects of the discipline contribute to understanding what problems are amenable to computer solution and what methods are optimal.
Today, computing importantly serves academic research no less than commercial enterprise. Moreover, a disciplined exposure to computer science within the context of studies in liberal arts and sciences fosters in the student the development of clarity and precision in analysis, logic, and expression.
Computing facilities on campus are abundant, offering students the opportunity to work with all major operating systems and programming languages.
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:
- The following math courses:
- MATH 140 Calculus
- MATH 155 Multivariable Calculus
- MATH 230 Discrete Mathematics
- The following computer science courses:
- CMSC 150 Introduction to Computer Science
- CMSC 250 Intermediate Programming Concepts
- CMSC 270 Introduction to Data Structures
- CMSC 510 Data Structures and Algorithm Analysis
- One of the following courses:
- CMSC 205 Data-Scientific Programming or
- CMSC 208 Machine Learning
- Three additional six-unit CMSC courses numbered 400 or above, excluding tutorial, directed study, and independent study courses taken for any reason.
- The following courses taken in the senior year:
- CMSC 698 Senior Projects or CMSC 699 Independent Study in Computer Science (6 units) if CMSC 698 is not offered
- CMSC 600 Senior Seminar (3 units)
Required for the minor in computer science
- The following math courses:
- MATH 140 Calculus
- The following computer science courses:
- CMSC 150 Introduction to Computer Science
- CMSC 250 Intermediate Programming Concepts
- CMSC 270 Introduction to Data Structures
- One additional six-unit CMSC course numbered 200 or above
- One additional six-unit CMSC course numbered 400 or above
Teacher certification in computer science (grades 4-12)
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 computer science A exam administered by the College Board. Consult the department for details and proper placement.
- Six units of Lawrence credit (but generally no advanced placement) may be obtained by scoring 4 or 5 on the computer science Principles exam administered by the College Board.
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.