Week 15:

Monday, 4/26

Lecture: Plotting with matplotlib. Here's code for a simple plot.
Reading: The matplotlib tutorial.
Lab: lab 14

Wednesday, 4/28

Lecture: Plotting: Generating subplots, histograms, legends.

Friday, 4/30

Lecture: Review for exam.

Week 14:

Monday, 4/26

Lecture: Using biopython for DNA sequence motifs motifs. Example data: the E2F1 motif and human promoter sequences.
Lab: lab 13

Wednesday, 4/28

Lecture: More about motif finding.

Friday, 4/30

Lecture: Finish motif finding with biopython.

Week 13:

Monday, 4/19
Lecture: Installing packages. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions.
Lab: lab 12

Wednesday, 4/21
Lecture: We will start playing with biopython sequence objects.
Reading: Chapter 3 in the biopython tutorial.

Friday, 4/23
Lecture: We will use biopython to parse sequence files.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats.
Reading: Chapter 2 in the biopython tutorial.

Week 12:

Monday, 4/12
Lecture: Inheritance in python the shapes example.
Lab: lab 11
Assignment: Assignment 11

Wednesday, 4/14
Lecture: interfaces in Python. New style classes example. See also the python documentation.

Friday, 4/16
Lecture: Methods for solving assignment 9.

Week 11:

Monday, 4/5
Lecture: Python classes - representing shapes; digression: random numbers
Lab: lab 10
Assignment: Assignment 10

Wednesday, 4/7
Lecture: Operator overloading example; the cards example.
Reading: Chapter 15.

Friday, 4/9
Lecture: Python classes (cont)

Week 10:

Monday, 3/29
Lecture: Using Python object - continued.
Lab: lab 9
Assignments: Assignment 9

Wednesday, 3/31
Lecture: Introduction to Python classes. code examples.
Reading: chapter 13 and chapter 15

Friday, 4/2
Lecture: No lecture today due to future visions.

Week 9:

Monday, 3/22
Lecture: dictionaries. code examples.
Lab: lab 8
Assignments: Assignment 8
Reading: chapter 12

Wednesday, 3/24
Lecture: tuples (examples); functions revisited: variable length argument lists using tuples and dictionaries.

Friday, 3/26
Lecture: Using python objects - object methods of strings, lists, and dictionaries.

Week 8:

Monday, 3/8
Lecture: recursion [ slides ]. code examples.
Lab: lab 7
Assignments: Assignment 7
Reading: chapter 11

Wednesday, 3/10
Lecture: recursion - continued. More examples: factorial, recursive binary search.

Friday, 3/12
Lecture: midterm

Week 7:

Monday, 3/1
Lecture: binary search code; measuring the efficiency of algorithms [ slides ]
Lab: lab 6
Assignments: Assignment 6

Wednesday, 3/3
Lecture: algorithm efficiency (cont).

Friday, 3/5
Lecture: Exceptions code; command line arguments example.
Reading: Exceptions section in chapter 11.

Week 6:

Monday, 2/22
Lecture: Strings and lists (code), iterators (code), files (code).
Lab: lab 5
Assignments: Assignment 5

Wednesday, 2/24
Lecture: Sorting algorithms [ slides ]; here's the code.

Friday, 2/26
Lecture: Sorting algorithms, continued;

Week 5:

Monday, 2/15
Lecture: Strings (continued), string formatting (examples).
Lab: lab 4
Assignments: Assignment 4

Wednesday, 2/17
Lecture: Lists (lists)
Reading: Chapter 9.

Friday, 2/19
Lecture: Lists are mutable (code), lists as function parameters (code), nested lists (code).

Week 4:

Monday, 2/8
Lecture: While loops (cont): printing tables. Iteration using for loops.
Lab: Lab 3
Assignments: Assignment 3

Wednesday, 2/10
Lecture: For loops (cont): nested loops. Strings (examples).
Reading: Chapter 7.

Friday, 2/12
Lecture: Strings (continued).

Week 3:

Monday, 2/1
Lecture: Conditionals - the if statement boolean variables, conditionals, sort names, letter grade calculator, a better version of letter grade.
Reading: Chapter 4.
Lab: Lab 2
Assignments: Assignment 2

Wednesday, 2/3
Lecture: Functions that return a value. Examples: area, divisibility, absolute value.
Iteration - the while statement. Here's an example.
Reading: Chapter 5, chapter 6

Friday, 2/5
Lecture: While loops: input validation.

Week 2:

Monday, 1/25
Lecture: Python expressions, and input. Putting it together: Celsius to fahreheit converter
Lab: lab1
Assignments: Assignment1

Wednesday, 1/27
Lecture: Functions [ slides ]. draw_rectangle, celsius2fahrenheit, functions. Reading: Chapter 3.

Friday, 1/29
Lecture: Functions - continued local variables, conditionals - the if statement boolean variables.
Reading: Chapter 4.

Week 1:

Wednesday, 1/20
Lecture: Course introduction; why programming? [ slides ]
Reading: Chapter 1 in How to think like a computer scientist.

Friday, 1/22
Lecture: Our first program, programming errors, Python types, variables
Reading: Chapter 2.