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.
|22 Jan||Intro to Computer Architecture
Here is the practice assignment to test basic UNIX skills.
Here is echo.py (though it will download is echo.py.txt so you may want to rename it).
|29 Jan||Python Intro: primitives
Checkout the course git repo (see above)
|05 Feb.||Dicts and Lists||first real assignment||Notes and examples here (lec2pythonbasics)|
importing other packages
|assignment 2||Notes and examples here (lec3packages)|
Classes and OOP
Exceptions and Robustness
|No assignment||Notes and examples here (lect4classes)|
|26 Feb.||More on classes|
|05 Mar.||Usefule Python libraries
Pop. gen simulation and Controlling other processes
Pseudocode project idea
|Notes and examples here (lect4random)|
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
|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|