Mark Holder. Spring 2010
Time:
Fridays at 11:00-noon
New Location:
3012 Haworth
Office hours: Monday 11:00-noon in 6031 (or by appt).
The goals of this seminar are to improve your programming skills. Because several students have not programmed before, the initial lectures will cover the basics.
Later in the course we'll cover some libraries, algorithms, and data structures used in phylogenetics and population genetics.
We could easily fill several semesters with programming lectures, but I want this to be relevant to the students. To that end, I am counting on the course projects to be a substantive part of the course, so I hope that you will each choose a project that is
As the semester progresses we will discuss problems that you are each facing, and use lecture time to address them.
Checkout the course git repo (lecture notes and inclass examples at)
git clone git://github.
com
/mtholder/eebprogramming.
git
You can look at these
notes on git
to master the basics.
Or, you can browse the repo at http://github.com/mtholder/eebprogramming.git
Find a good text editor (
TextWrangler
on Mac
jEdit
anywhere).
You may want to use
Komodo Edit
(or Komodo IDE which is not free).
Wikipedia lists a lot of other python integrated development environments
here
. Some people prefer working in such an environment to using a text editor and shell.
Date | Topics | Homework | Reading/References |
---|---|---|---|
22 Jan |
Intro to Computer Architecture
Shells |
Formulate project idea.
Here is the practice assignment to test basic UNIX skills. |
Read the summary of common
UNIX commands
.
Here is echo.py (though it will download is echo.py.txt so you may want to rename it). |
29 Jan |
Python Intro: primitives
flow control functions IO |
Checkout the course git repo (see above) |
|
05 Feb. | Dicts and Lists | first real assignment | Notes and examples here (lec2pythonbasics) |
12 Feb. |
Pseudocode
importing other packages Regular Expressions |
assignment 2 | Notes and examples here (lec3packages) |
19 Feb. |
Classes and OOP
Exceptions and Robustness |
No assignment | Notes and examples here (lect4classes) |
26 Feb. | More on classes | ||
05 Mar. |
Useful Python libraries
Pop. gen simulation and Controlling other processes |
Project RoadMap
Pseudocode project idea |
Notes and examples here (lect4random) |
12 Mar. |
Recursion
SQLAlchemy for DB interacations Some GUI stuff |
Notes and examples here (lect6extras) | |
19 Mar. | Spring Break | ||
26 Mar. | Review and testing | begin coding on projects | |
02 Apr. |
Phylogenetic tree structures
Tree traversals |
code reviews | |
09 Apr. |
Manipulating character data
Biopython and Dendropy libraries |
||
16 Apr. | Calculating likelihoods of trees (cPhyProb) library | ||
23 Apr. | Simulations of population processes | ||
30 Apr. | Topics from projects and code reviews | ||
07 May. | Topics from projects and code reviews |