CS 141: Programming for the Natural Sciences

Syllabus

You can download the syllabus here. The syllabus includes information on grading, course goals, and policies I will use in teaching this course.

Textbooks

Python for Biologists Advanced Python for Biologists

We will be using Python for Biologists and Advanced Python for Biologists, by Martin Jones. These books were written especially for scientists who are new to programming. The author maintains a website for the books here.

Homework

Specific assignments are given below. Please note that homeworks are very important, and make up a very large portion of your grade. If you fall behind, you will likely do poorly on the exams as well. Homework should follow the specifications given here.

Homeworks can be turned in here.

Other Resources

Additional resources will be placed here.

Class-Only Information

Click here if you’re in the class, for more useful information.

Class Schedule

This is a tentative schedule for the class. I may change it depending on how the class progresses.

Reading Subject Homework Due Date Files
1 PfB 1-2 Basic Text DNA Strings January 26 dna_strings.ipynb
2 PfB 3 Reading & Writing Files Chemical Database January 31
3 PfB 4 Lists & Loops FASTA files February 5 elephant.fasta
4 PfB 5 Functions Unicorn Genetics February 12 male-unicorns.gene
female-unicorns.gene
Midterm 1
5 PfB 6 Conditionals River pH February 26 river-pH.tsv
6 PfB 7 Regular Expressions Kraken Genetics March 8 kraken.gene
Spring Break!
7 PfB 8 Dictionaries Molecular Weight March 22 element-weights.tsv
8 APfB 1-2 Recursion & Trees Clades of Spiders March 29 spiders.tree
Midterm 2
9 APfB 3 Tuples, Sets & Lists of Lists Draconic Parsimony April 12 dragons.gene
10 APfB 4 Classes Elemental Encyclopedia April 19 elements.tsv
11 Classes DNA, RNA & Polypeptide Objects April 26 genetic-code.tsv
12 APfB 7 Exceptions Open Project May 3
Final Exam: Friday May 12, 12:00