Home | People | Curriculum | Projects | Resources | Media

CMSC 187: Scientific Computing: Discrete Systems

Instructors: David Wonnacott and Phil Meneely

Semester & Year: Spring 2012

Schedule: T/Th 11:30-1:00 in KINSC H110.

Texts: We will primarily use a combination of handouts and web resources, e.g. for the Python programming language we will use selections from The Python Tutorial. For those who want a traditional textbook covering this material, An Introduction to Bioinformatics Algorithms by Neil C. Jones and Pavel A. Pevzner, is recommended (but not required).

Prerequisites: None. One semester of a (natural or social) science is highly recommended.

IMPORTANT NOTE for students who have already had courses covering both introductory to computer programming (such as CMSC 105 or CMSC 110 at Bryn Mawr) and the basics of molecular biology): Haverford's academic rules do not allow credit for two courses covering essentially the same material. We (the instructors) believe there is value in exploring the connections between two familiar fields, but to ensure students are in compliance with this rule we plan to include some additional components of some labs. These additional components will not be required of students who have not previously seen both the programming and biology aspects of this course, but will ensure that those with strong prior backgrounds explore signifacant new material.

Requirements: Regular lab and homework/reading assignments, class participation, two exams, possible final project/paper (varies by semester).

Description: A survey of computational techniques with applications in a variety of natural and social sciences (particularly biology), with an emphasis on problems involving discrete systems such as strings and networks. (See Scientific Computing --- Continuous Problems topics such as numerical simulation of differential equations). Computer programming concepts and lab techiques will be covered before they are needed in lab, so no prior experience with programming is required.

When class size permits (including in the Spring of 2010), this course will be run as a "tutorial" style seminar: topics or specific readings will be assigned for each meeting; the class meetings will begin with a very brief quiz about the reading, after which the topic will be discussed by the students and faculty together, and explored via programming exercises. There is no assigned reading before the first meeting --- it will include introductions, a "pre-test" assessment (graded only on participation, to be used by faculty to set the pace and starting point of the course), a discussion of all our goals for the course, and the statement of the assignment to be read by Thursday.

Typical Topics Covered (and possible examples):

Learning Accomodations: Students who think they may need accommodations in this course because of the impact of a disability are encouraged to meet with the instructor in private (e.g., during office hours) early in the semester. Students should also contact Rick Webb, Coordinator, Office of Disabilities Services (610-896-1290) to verify their eligibility for reasonable accommodations as soon as possible. Early contact will help to avoid unnecessary inconvenience and delays, and facilitate learning.


Haverford College Page maintained by John Dougherty, David Wonnacott, and Rachel Heaton.
Computer Science Department, Haverford College.