CMSC 187: Scientific Computing: Discrete Systems
Revised description for consideration by EPC and the faculty in 2008
Instructors:
David Wonnacott and
Phil Meneely
Semester & Year: unknown --- possibly Spring 2010?
Schedule: perhaps TTh 10-11:30 in KINSC H204
Texts:
- To be decided: a text covering Python programming and
use (but not necessarily definition or implementation)
of data structures such as arrays, trees, graphs, and networks.
- Recommended: "Bioinformatics" by Mount (Cold Spring Harbor 2001)
Prerequisites:
None. One semester of a (natural or social) science is highly recommended.
Requirements:
Regular lab and homework assignments, two exams, final project/paper.
Description:
A survey of computational techniques with applications in a variety of
natural and social sciences,
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
in lecture before they are needed in lab,
so no prior experience with programming is required.
Typical Topics Covered (and possible examples):
- Discrete Simulation
(population dymamics or spread of disease)
- Discrete Optimization
- Problems involving strings of information
(global and local sequence alignment for gene or protein sequences)
- Problems involving heirarchical ("tree") structures
(phylogeny tree reconstruction)
- Problems involving networks or graphs
(shortest path and travelling sales-person problems;
classifying network structures (e.g. scale-free networks)).
- Design and Expression of Algorithms for Scientific Inquiry
(with examples from topics above)
- Improving Performance of Algorithms by
- removing redundancy (via dynamic programming or memoization),
- simplifying or approximating computation steps,
- improving the use of high-speed memory, and
- using "parallelism" or "cluster computing"
(performance improvement is introduced in this course,
but explored in depth in
High Performance Scientific Computing).