Computational Tools for Bioninformatics

COSC 576

(Tuesdays, 5:30-6:45, PH303, Thursdays on-line (emuonline.edu)

Instructor: Matt Evett ; Dept. Computer Science; Pray-Harold 512E
Tel: 734-487-1227;
e-mail: evett@emunix.emich.edu;
www.emunix.emich.edu/~evett/BioinformaticsTools; webcaucus.emich.edu (the COSC576_W05 caucus).
Office Hours: TTh 10-12, W 1-2:45.
You may drop by at times other than office hours, but in that case I cannot guarantee that I'll be able to see you.
Prerequisite: An introductory programming course, such as COSC238 or COSC514.

Textbooks:

Course Summary: An introduction to tools for programming and data management commonly used in bioinformatics. Topics include Perl programming, bioinformatics programming libraries for Perl and Java, web and data markup languages, and database technology (database design and queries). The course is project oriented, with Perl and maybe some Java programming assignments spread throughout the semester.

Course Calendar:

Due dates for projects are underlined. Exam dates are in bold. Holiday dates are italicized.
 
Date Text:Topic Projects/Exams due
Week 1 Chapter 2: Installing Perl  
Week 2 Ch3 Basic flow-of-control  
Week 3 Ch 4: Sequences, strings, arrays, hashes.  
Week 4 Ch 5: blocks & subroutines  
Week 5 Ch.6 & 7: File IO, Patterns  
Week 6

Ch. 8 & 9: Data sets

From Mastering Perl: Ch 1,3: Modules, classes, autoloading

Week 7 Ch 10: Protein Data Bank  
Week 8 Ch. 12: Biological databases  
Week 9 Ch.12 & 13 Perl & databases (DBI) Midterm Exam
Week 10 Ch 14, 15: Perl & the Web  
Week 11 Ch16, 17: BLAST & microarrays  
Week 12 Ch 17: Tools & Datasets (BLAST, etc.)  
Week 13 Ch 17, 18: More datasets  
Week 14 Ch 19: Visualization  
Week 15 Ch 20: Bioperl (time permitting)  
4/22, 5:30 Final Exam, regular room

 

Grading Policy:

The final course grade will be a weighted average of the grades received in each of the following categories, as specified: Small projects & homeworks 5%, Programs 45%, Midterm exam 20%, Final exam 30%.

Tardiness Policy: Programming and other homework assignments will be due at the beginning of class. After that, assignments will be accepted through the start of the next scheduled class, but will suffer a full grade penalty. E.g., if a late programming assignment is worthy of an 'A', I will mark it a 'B'. Assignments more than one class late will not be accepted, and will receive a grade of 'F'.

Attendance Policy: We're all grown-ups, when and whether you attend class is up to you. However, missed assignments, and exams shall only be excused by a doctor's written note, verifying that the student was medically indisposed to attend class that day.

Grading of Programs: Grading of programming assignments will reflect three factors, weighted as shown.

  1. (70%) Correctness -- does the program run correctly.
  2. (15%) Style -- does the code adhere to class documentation standards? Is the code indented properly? Are the variable names mneumonic? How well has the student followed the basic formatting characteristics for the language?
  3. (15%) Design -- is the program adequately decomposed (i.e., are the functions and procedures small enough to be comprehensible)? Are the class and structure definitions well chosen? How well has the student taken advantage of the language's capabilities?

Announcements and the Web Page:

Students should view the course web page regularly for announcements regarding programming assignments, readings, etc. I update course web pages frequently!

Cheating policy:

Students are required to attend to the policy on academic dishonesty outlined in the EMU student handbook. In addition, collaboration among students in solving programming and homework assignments is forbidden. If I receive programs or homework assignments that are substantially equivalent, or which are not the original work of the student submitting the material, I will not hesitate to punish all involved parties to the fullest extent, up to and including assignment of a failing grade for the course, and referral to the Office of Judicial Student Services for possible punitive action at the University level, which may include expulsion from the University. In addition, the University and the computer science department maintain policies regarding proper behavior on its computer systems. Failure to adhere to these policies can result in loss of computer privileges, and possible legal action.