Course Materials

Original Papers

Background Reading

Neat Online Demos

Mathematica Demos

Frequently Asked Questions

  • What programming language is used in this course?
  • 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.

  • Who takes the course?
  • 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.

  • What biology background is needed?
  • 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.

  • What computer science and mathematics background is needed?
  • 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.

  • What programming background is needed?
  • 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.