Computer Science Navigation
Department of Computer Science
Courses
Our aim is to provide students with a base of skills and capabilities which transcend short-term fashions and fluctuations in computer hardware and software.
- Current Year Courses
- Three-year Planner
- Tri-Co Course Search
- HC Academic Catalog Course Search
- About the Course Listings
About the Course Listings
Four views and tools each provide different ways of exploring the curriculum.
- Current Year Courses for this Department or Program lists only currently-offered classes, and includes scheduling and instructor information.
- The Three-Year Planner for this Department or Program lists all courses (in numerical order) offered during the current year and the last two years. Use it to understand the full course offerings from the department and how frequently courses are offered. This list does not include any scheduling information; instructor information is only historical and is likely to change in future years.
- The Tri-Co Course Search Engine lists the current offerings for all departments and programs at Haverford, Bryn Mawr, and Swarthmore Colleges, and includes scheduling and instructor information.
- The HC Academic Catalog Course Search Engine includes faceted searching (by division, domain, department, major, minor, and other fields) for all courses offered in the current year and the last two years. It does not contain scheduling information, but like the Three-Year Planner, can help you discover related interests and understand the typical pattern of offerings from year to year. This tool does not include all Bryn Mawr offerings.
-
Course Websites
Current Courses
Intro Courses:
- The World of Computing (CMSC100)
- Fluency with Information Technology (CMSC101)
- Topics in Introductory Programming (CMSC104)
- Introduction to Computer Science (CMSC105)
- Introduction to Data Structures (CMSC106)
- Introduction to Computer Science and Data Structures (CMSC107)
- Foundations of Rigorous Thinking (CMSC130)
- Computing Across the Sciences (CMSC187)
Core Courses:
- Discrete Mathematics (MATH/CMSC231)
- Human/Computer Interaction (CMSC215)
- Principles of Computer Organization (CMSC240)
- Principles of Programming Languages (CMSC245)
- Analysis of Algorithms (CMSC340)
- Theory of Computation (CMSC345)
- Compiler Design (CMSC350)
- Concurrency and Co-Design in Operating Systems (CMSC356) (formerly Operating Systems (CMSC355))
200-level Electives:
- Data Science and Visualization (CMSC207)
- Computer Graphics (CMSC212)
- Information and Coding Theory (CMSC235)
- Programming Paradigms (CMSC246)
- Computational Models in the Sciences (CMSC250)
- High Performance Scientific Computing (CMSC287)
300-level Electives:
- Emergence (CMSC361)
- Artificial Intelligence (CMSC372)
- Recent Advances in Computer Science (CMSC380)
- Software Development for Accessibility (CMSC392)
- Mobile Development for Social Change (CMSC395)
Other Courses:
- Fluency with Information Technology (CMSC101)
- Introduction to Computer Science (CMSC110)
- A History of Mechanized Thought (CMSC147)
- Linear Algebra (MATH215)
- Introduction to Scientific Computing (MATH222)
- Fundamentals of Databases (CMSC225)
- Numerical Analysis (CMSC320)
- Software Development for Accessibility (CMSC392)
- Advanced Topics in Computer Systems (CMSC393)
- Advanced Topics in Discrete Mathematics and Computer Systems (CMSC394)
- Linear Optimization and Game Theory (MATH210)
- CMSC 110 Introduction to Computing
- CMSC 120 Visualizing Information
- CMSC 206 Introduction to Data Structures
- CMSC 231 Discrete Mathematics
- CMSC 240 Computer Organization
- CMSC 245 Principles of Programming Languages
- CMSC 246 Programming Paradigms
- CMSC 250 Computational Models in the Sciences
- CMSC 310 Computational Geometry
- CMSC 312 Computer Graphics
- CMSC 325 Computational Linguistics
- CMSC 330 Algorithms: Design and Practice
- CMSC 350 Compiler Design: Theory and Practice
- CMSC 355 Operating Systems
- CMSC 361 Emergence
- CMSC 371 Cognitive Science
- CMSC 372 Artificial Intelligence
- CMSC 380 Recent Advances in Computer Science
- CMSC 399 Senior Conference
- CMSC 403 Supervised Work/Independent Study
Computer Science at Bryn Mawr
Spring 2021: Haverford
Registration-ID Course Name Instructor Misc Days and Times Location CMSCH104B001 Topics in Introductory Programming Lommen,Andrea N. Class Nbr: 2755 Lim: 24 ; Hav: NA, QU TF 02:40pm-04:00pm CMSCH104B00A Topics in Introductory Programming Lindell,Suzanne Class Nbr: 2756 Lim: 12 ; Hav: NA, QU W 02:40pm-03:30pm CMSCH104B00B Topics in Introductory Programming Lindell,Suzanne Class Nbr: 2757 Lim: 12 ; Hav: NA, QU W 04:10pm-05:00pm CMSCH106B001 Introduction to Data Structures Kumar,Rajesh Class Nbr: 1798 Lim: 30 ; Hav: NA, QU, C TF 09:40am-11:00am CMSCH106B00A Introduction to Data Structures Kumar,Rajesh Class Nbr: 1795 Lim: 12 ; Hav: NA, QU, C T 11:40am-12:30pm CMSCH106B00B Introduction to Data Structures Mathieson,Sara Class Nbr: 1796 Lim: 12 ; Hav: NA, QU, C W 09:40am-10:30am CMSCH106B00C Introduction to Data Structures Mathieson,Sara Class Nbr: 1797 Lim: 12 ; Hav: NA, QU, C W 11:10am-12:00pm CMSCH210B001 Linear Optimization Manning,Robert Class Nbr: 2418 Lim: 48 ; Hav: NA, C M 09:40am-10:30am CMSCH210B00A Linear Optimization Manning,Robert Class Nbr: 2626 Lim: 24 ; Hav: NA, C WF 09:40am-10:30am CMSCH210B00B Linear Optimization Manning,Robert Class Nbr: 2627 Lim: 24 ; Hav: NA, C WF 11:10am-12:00pm CMSCH245B001 Principles of Programming Languages Wonnacott,David Class Nbr: 2395 Lim: 24 BMC: None; ; Hav: NA, C MTh 09:40am-11:00am CMSCH245B00A Principles of Programming Languages Lindell,Suzanne Class Nbr: 2396 Lim: 12 ; Hav: NA, C W 10:10am-11:00am CMSCH245B00B Principles of Programming Languages Lindell,Suzanne Class Nbr: 2397 Lim: 12 ; Hav: NA, C M 01:40pm-02:30pm CMSCH345B001 Theory of Computation Lippel,David A. Class Nbr: 2752 Lim: 32 ; Hav: NA, C TF 09:40am-11:00am CMSCH345B00A Theory of Computation Lippel,David A. Class Nbr: 2753 Lim: 16 ; Hav: NA, C W 09:40am-10:30am CMSCH345B00B Theory of Computation Lippel,David A. Class Nbr: 2754 Lim: 16 ; Hav: NA, C W 02:40pm-03:30pm CMSCH356B001 Concurrency and Co-Design in Operating Systems Dougherty,John Class Nbr: 2398 Lim: 24 BMC: III; ; Hav: NA, C TF 11:10am-12:30pm CMSCH356B00A Concurrency and Co-Design in Operating Systems Dougherty,John Class Nbr: 2399 Lim: 12 BMC: II; ; Hav: NA, C T 04:10pm-05:00pm CMSCH356B00B Concurrency and Co-Design in Operating Systems Dougherty,John Class Nbr: 2400 Lim: 12 BMC: II; ; Hav: NA, C W 11:10am-12:00pm CMSCH399B001 Senior Thesis Friedler,Sorelle A. Class Nbr: 1687 Hav: NA F 01:10pm-04:00pm