- Syllabus - contains information on class times, staff, course material, course format, collaboration policy, and most other course information.
- Piazza - mandatory as this is how major announcements/homework updates will be conveyed to the class.
- Collaboration policy
- Python Primer
- Homework Guidelines
- Midterm Summary
- A structure for Deoxyribose Nucleic Acid (Watson and Crick, 1953)
- Info theory and substitution matrices 1992 (Altschul, 1992)
- Methods for assessing the statistical significance of molecular sequence features by using general scoring schemes (Karlin and Altshul, 1990)
- Identification of Common Molecular Subsequences (Smith and Waterman, 1981)
- BLAST Paper
- A Model of Evolutionary Change in Proteins (Dayhoff, 1978)
- Idury-Waterman Algorithm (Idury and Waterman, 1995)
- Whole-genome shotgun assembly and comparison of human genome assemblies (Istrail et al., 2004)
- The Sequence of the Human Genome (Venter et al., 2001)
- Optional textbook (also available for free online through the Brown Library)
- NCBI's Molecular Biology Review
- Full Gold Bug story
- Introduction to Alignment Scoring Statistics
Neat Online Demos
- Play with alignment! Evaluate the notebook and then move the match, mismatch, and gap penalty sliders to see how the parameters affect the output.
- Play with lander-waterman statistics and genome assembly! You'll have to enter a new name for the file location of the fasta file where the genome to be assembled is stored.
Frequently Asked Questions
- What programming language is used in this course?
- Who takes the course?
- What biology background is needed?
- What computer science and mathematics background is needed?
- What programming background is needed?
While you are allowed to use pretty much any language to code your assignments, the TA staff is most experienced with Java and Python. We'll have a Python primer/help session at the start of the course based on interest in this.
This class is open to biologists and computer scientists, applied mathematicians, undergrads and grad students alike. There will be resources as well as alternate problems available based on your background.As an interdisciplinary course, CS1820 attracts a diverse group of students. Past students have ranged from sophomores concentrating in Computer Science and Computational Biology through Ph.D. students in Computer Science, Applied Mathematics, and Biology. The course staff will do its best to ensure that all students have a chance to succeed. Please do not hesitate to talk to a member of the course staff if you have trouble deciding whether CS1820 is a good fit for you.
There are no biology prerequisites, and no prior biology knowledge is assumed; the material that you need to know will be covered in class or through primers given by TAs. Students whose backgrounds are in the life sciences, however, will be expected to dig deeper into the biology. Again, don't hesitate to talk to TAs if you need assistance.
Officially, one of CS16, CS18, or CS19 (i.e. a yearlong introduction to computer science). This can be waived by the instructor (especially for life science students). Students in the course generally have some prior exposure to basic concepts of discrete math (graphs, recurrence relations), discrete probability (random variables, independence), and algorithms (big-O notation, pseudocode). Again, don't hesitate to talk to TAs if you need assistance.
The goal of these assignments is to gain a deeper understanding of the algorithms by implementing them and testing them on real data. Thus, some programming skills (arrays, loops, functions, etc.) are required. Although we allow students to do programming assignments in multiple languages, you are likely to receive the best help if you code in python or Java. Don't hesitate to talk to TAs if you need assistance.