CPS 006G, Fall 2004, Programming and Genomics

In general we'll be looking at the syntax, semantics, and problems from two areas: computer science/programming and genome science/bioinformatics. We'll interleave these discussions in the context of programming and developing algorithms to help understand important issues in each area.

You'll work in groups on some assignments. The list of groups provides information about each group.

Lesk refers to Introduction to Bionformatics, by Arthur Lesk, and Horstmann refers to Java Essentials, by Cay Horstmann

Monday Wednesday Friday
8/23
First Day of Class

Introduction, why computer science, why genome science

notes for viewing
notes for printing
class survey
class group work
who are you?

8/25
Vocabulary

objects and classes, loops and collections

iTunes: how to program (to understand this you'll want to consult the Java Essentials book,especially Chapter 2 at first)

8/27
Terminology: compiler, loop, method, array, variable, class, ...

installing Java/IDEs

shuffling in iTunes
code from class today

8/30
Vocabulary:

nucleotides, dna, rna, amino acids, proteins, genes

From strings to sequences, understanding loops and iterators

group work on compsci/genetics
algorithmic program testing
code from class

9/1

English and Genetic palindromes

Compsci != Programming
notes for viewing
notes for printing
class/group work

9/3
Finish group work on bioinformatics and iTunes programming.

9/6
GC content, ORFs

Read Lesk, pp1-39

notes for viewing
notes for printing

9/8
Algorithmic and Program Design

Read Chapter 3Java Essentials

notes for viewing
notes for printing

9/10
Protein Practice

9/13
Proteins and Programs

Web-based Protein Practice

9/15
Aesthetics of Programs

student solutions to Part I of dna-to-protein

9/17
Arrays and ArrayLists

notes for viewing
notes for printing

9/20
Arrays continued, Eclipse

array work

9/22
Refactoring

notes for viewing
notes for printing

9/24

test practice

9/27
Review for test

test practice
test practice
wrong solutions

9/29
Exam I
10/1
Exam I Redux

open source

(to be discussed on Monday)

10/4
Getting data

Factories, Readers, java.io.* lists, maps, java.util.*;

Fasta, Genbank, EMBL, SwissProt, ...

Parsing, URLS, Files, Web

10/6

10/8
What's an object? An iterator?

notes for viewing
notes for printing

class arrays again Midterm Grades Due

10/11
Fall Break
10/13
Arrays, ArrayLists, shotgun sequencing, Iterators, code
10/15
Iterators and shotgun continued

notes for viewing
notes for printing

iterator code
shotgun code from class

10/18
Interfaces

notes for viewing
notes for printing

card code

10/20
MergeTest.java testing code from class

10/22
Alignment, Matching, Algorithms

From arrays to algorithms

10/25
interfaces towards efficiency.

code from today

10/27
10/29
11/1
notes for viewing notes for printing

Looking at Geneboy

11/3

Read Lesk/Bioinformatics: Chapter 4, 160-178, 187-196

Markov Models, text generation/prediction

Efficiency, O-notation

11/5
notes for viewing notes for printing

perl code

Visualizing and understanding information

GUIs

Gene-boy

11/8
Overview of Everything, shared with ISIS

questions/links

notes for viewing notes for printing

11/10
Overview of Everything, shared with ISIS
11/12
Review/Shotgun

code from class

11/15
Exam II
11/17
Object-oriented Design patterns

notes for viewing notes for printing

Shotgun interfaces and factories

11/19
Sorting/Searching

notes for viewing notes for printing

sorting/searching

11/22
Understanding hierarchies and recursion.

directory stuff

11/24
Under the hood of biojava What's in a library? Thanksgiving
11/26
Thanksgiving
11/29
Understanding hierarchies and recursion.

directory stuff

notes for viewing notes for printing

12/1
Last Day of Class

What is Computer Science?

notes for viewing notes for printing

directory code from class

12/3
12/6
code to look at for final, test answers, shotgun code, ...
12/8
Final Exam, 7:00 PM
12/10

Owen L. Astrachan
Last modified: Sat Dec 4 16:07:56 EST 2004