Courses
Our aim is to provide students with a base of skills and capabilities which transcend shortterm fashions and fluctuations in computer hardware and software.
 Current Year Courses
 Threeyear Planner
 TriCo 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 currentlyoffered classes, and includes scheduling and instructor information.
 The ThreeYear 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 TriCo 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 ThreeYear 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 CoDesign in Operating Systems (CMSC356) (formerly Operating Systems (CMSC355))
200level 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)
300level 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
Fall 2019: Haverford
RegistrationID Course Name Instructor Misc Days and Times Location CMSCH105A001 Introduction to Computer Science Department staff,TBA Class Nbr: 1951 Lim: 36 BMC: II; QM;SI ; Hav: NA, QU, C TTh 10:00am11:30am HLS204 CMSCH105A00A Introduction to Computer Science Lindell,Suzanne Class Nbr: 1944 Lim: 12 ; Hav: NA, QU, C F 08:30am09:30am HLS110 CMSCH105A00B Introduction to Computer Science Lindell,Suzanne Class Nbr: 1945 Lim: 12 ; Hav: NA, QU, C F 09:30am10:30am HLS110 CMSCH105A00C Introduction to Computer Science Lindell,Suzanne Class Nbr: 1946 Lim: 12 ; Hav: NA, QU, C F 10:30am11:30am HLS110 CMSCH107A001 Introduction to Computer Science and Data Structures Department staff,TBA Class Nbr: 1761 Lim: 36 BMC: None; QM ; Hav: NA, QU, C TTh 11:30am01:00pm HLS204 CMSCH107A00A Introduction to Computer Science and Data Structures Lindell,Suzanne Class Nbr: 1759 Lim: 12 ; Hav: NA, QU, C W 09:30am10:30am HLS110 CMSCH107A00B Introduction to Computer Science and Data Structures Lindell,Suzanne Class Nbr: 1760 Lim: 12 ; Hav: NA, QU, C W 01:00pm02:00pm HLS110 CMSCH107A00C Introduction to Computer Science and Data Structures Lindell,Suzanne Class Nbr: 1793 Lim: 12 ; Hav: NA, QU, C F 01:00pm02:00pm HLS110 CMSCH208A001 Speech Synthesis and Recognition Chandlee,Jane Class Nbr: 2479 Lim: 24 ; Hav: NA, QUS, C MW 11:15am12:45pm STO102 CMSCH231A001 Discrete Mathematics Lindell,Steven Class Nbr: 2393 Lim: 48 ; Hav: NA, QU, C MW 02:15pm03:45pm SHA430 CMSCH231A00A Discrete Mathematics Lindell,Steven Class Nbr: 2390 Hav: NA, QU, C F 01:00pm02:00pm LNKL309 CMSCH231A00B Discrete Mathematics Lindell,Steven Class Nbr: 2391 Lim: 24 ; Hav: NA, QU, C F 02:00pm03:00pm ESTW309 CMSCH231A00C Discrete Mathematics Lindell,Steven Class Nbr: 2392 Lim: 24 ; Hav: NA, QU, C F 03:00pm04:00pm ESTW309 CMSCH240A001 Principles of Computer Organization Dougherty,John Class Nbr: 1972 Lim: 40 ; Hav: NA, QU, C MW 12:45pm02:15pm HLS204 CMSCH240A00A Principles of Computer Organization Dougherty,John Class Nbr: 1970 Lim: 20 ; Hav: NA, QU, C M 11:00am12:00pm HLS110 CMSCH240A00B Principles of Computer Organization Dougherty,John Class Nbr: 1971 Lim: 20 ; Hav: NA, QU, C F 12:00pm01:00pm HLS110 CMSCH245A001 Principles of Programming Languages Wonnacott,David Class Nbr: 2397 Lim: 36 ; Hav: NA, C TTh 02:30pm04:00pm HLS204 CMSCH245A00A Principles of Programming Languages Wonnacott,David Class Nbr: 2394 Lim: 12 ; Hav: NA, C W 10:30am11:30am HLS110 CMSCH245A00B Principles of Programming Languages Wonnacott,David Class Nbr: 2395 Lim: 12 ; Hav: NA, C W 11:30am12:30pm HLS110 CMSCH245A00C Principles of Programming Languages Wonnacott,David Class Nbr: 2396 Lim: 12 ; Hav: NA, C W 02:15pm03:15pm HLS110 CMSCH340A001 Analysis of Algorithms Friedler,Sorelle A. Class Nbr: 2384 Lim: 38 BMC: None; ; Hav: NA, QU, C TTh 01:00pm02:30pm HLS108 CMSCH340A00A Analysis of Algorithms Friedler,Sorelle A. Class Nbr: 2382 Lim: 19 ; Hav: NA, QU, C T 02:30pm03:30pm HLS110 CMSCH340A00B Analysis of Algorithms Friedler,Sorelle A. Class Nbr: 2383 Lim: 19 ; Hav: NA, QU, C T 10:00am11:00am HLS110 CMSCH360A001 Machine Learning Mathieson,Sara Class Nbr: 2368 Lim: 24 ; Hav: NA, QU, C TTh 10:00am11:30am STO102 CMSCH360A00A Machine Learning Mathieson,Sara Class Nbr: 2366 Lim: 12 ; Hav: NA, QU, C Th 02:30pm03:30pm HLS110 CMSCH360A00B Machine Learning Mathieson,Sara Class Nbr: 2367 Lim: 12 ; Hav: NA, QU, C Th 11:30am12:30pm HLS110 CMSCH394A001 Advanced Topics in Theoretical Computer Science & Discrete Mathematics: Logic Lippel,David A. Class Nbr: 2636 Lim: 15 BMC: II; ; Hav: NA, C MWF 11:30am12:30pm LNKL205 CMSCH399A001 Senior Thesis Friedler,Sorelle A. Class Nbr: 1683 Hav: NA F 01:30pm04:00pm HLS108 CMSCH480A001 Independent Study Wonnacott,David Class Nbr: 2152 Hav: NA CMSCH480F001 Independent Study Wonnacott,David Class Nbr: 2153 Hav: NA CMSCH480F002 Independent Study Friedler,Sorelle A. Class Nbr: 2157 Hav: NA Spring 2020: Haverford
RegistrationID Course Name Instructor Misc Days and Times Location CMSCH106B001 Introduction to Data Structures Mathieson,Sara Class Nbr: 1793 Lim: 30 BMC: None; QM;SI ; Hav: NA, QU, C TTh 10:00am11:30am CMSCH106B00A Introduction to Data Structures Lindell,Suzanne Class Nbr: 1790 Lim: 10 ; Hav: NA, QU, C F 09:30am10:30am CMSCH106B00B Introduction to Data Structures Lindell,Suzanne Class Nbr: 1791 Lim: 10 ; Hav: NA, QU, C F 10:30am11:30am CMSCH106B00C Introduction to Data Structures Lindell,Suzanne Class Nbr: 1792 Lim: 10 ; Hav: NA, QU, C F 11:30am12:30pm CMSCH222B001 Scientific Computing: Continuous Systems Manning,Robert Class Nbr: 2721 Lim: 35 ; Hav: NA, QU, C MW 02:15pm03:45pm CMSCH263B001 Introduction to Biometrics Kumar,Rajesh Class Nbr: 2578 Lim: 25 ; Hav: NA, C TTh 11:30am01:00pm CMSCH263B00A Introduction to Biometrics Kumar,Rajesh Class Nbr: 2577 Lim: 12 ; Hav: NA, C W 10:30am11:30am CMSCH263B00B Introduction to Biometrics Kumar,Rajesh Class Nbr: 2640 Lim: 13 ; Hav: NA, C W 11:30am12:30pm CMSCH304B001 Computational Physics Grin,Daniel Class Nbr: 2366 Lim: 18 BMC: II; ; Hav: NA, C MW 12:45pm02:15pm CMSCH345B001 Theory of Computation Lindell,Steven Class Nbr: 2644 Lim: 32 ; Hav: NA, C T 01:30pm04:00pm CMSCH345B00A Theory of Computation Lindell,Steven Class Nbr: 2645 Lim: 32 ; Hav: NA, C Th 01:30pm04:00pm CMSCH350B001 Compiler Design Wonnacott,David Class Nbr: 2647 Lim: 24 ; Hav: NA TTh 10:00am11:30am CMSCH350B00A Compiler Design Wonnacott,David Class Nbr: 2648 Lim: 8 ; Hav: NA T 11:30am12:30pm CMSCH350B00B Compiler Design Wonnacott,David Class Nbr: 2649 Lim: 8 ; Hav: NA W 01:00pm02:00pm CMSCH350B00C Compiler Design Wonnacott,David Class Nbr: 2650 Lim: 8 ; Hav: NA W 02:15pm03:15pm CMSCH399B001 Senior Thesis Friedler,Sorelle A. Class Nbr: 1671 Hav: NA F 01:30pm04:00pm CMSCH480B001 Independent Study Department staff,TBA Class Nbr: 2174 Hav: NA CMSCH480B002 Independent Study Department staff,TBA Class Nbr: 2198 Hav: NA CMSCH480B003 Independent Study Department staff,TBA Class Nbr: 2208 Hav: NA CMSCH480I001 Independent Study Department staff,TBA Class Nbr: 2175 Hav: NA CMSCH480I002 Independent Study Department staff,TBA Class Nbr: 2199 Hav: NA