CIS 2356
Programming for Biologists
Fall 2008
Instructor: Dr. John Youssefi
Course hours: Wednesday 6:00-9:00 PM, SM 203
Point of contact: jyoussefi@.ndnu.edu, (650) 508-3450, SM 205
Office hours: Tuesday & Friday 5:30 - 6:30 PM and by appointment
Text: Learning Perl, Fifth Edition By Randal L. Schwartz, Tom Phoenix, brian d foy June 2008 Pages: 348
ISBN 10: 0-596-52010-7
http://www.perl.com/pub/a/2000/10/begperl1.html
http://www.cs.nott.ac.uk/~qiu/Teaching/SWTs/Perl-HandOut.html
http://www.uga.edu/~ucns/wsg/unix/perl/course/introduction.html
http://www.wdvl.com/Authoring/Languages/Perl/5/toc.html
http://www.extropia.com/tutorials.html
http://vsbabu.org/tutorials/perl/
http://www.wdvl.com/Authoring/Languages/Perl/Windows/toc.html
http://www.sdsc.edu/~moreland/courses/IntroPerl/slides/mt0000.htm
Prerequisites:CIS1130 or MTH2419 or permission of instructor
Course description: This course provides an introduction to computer programming for students in Natural Sciences who are interested to take Bioinformatics courses. Topics covered include: algorithmic approach to problem solving, software development principles, structured/modular programming with C, Perl, Bioperl and/or other Perl libraries in a Unix/Linux environment, database concepts and access queries.
Course objective: The ability to handle large amounts of data has become a daily routine for many biologists; however, web based servers often are slow and cumbersome to use for repetitive tasks. Simple scripting tools provide an easy way for biologists to adapt programs to the tasks they want to perform. Perl is a computer language popular among biologists and bioinformaticians because it is easy to learn and allows to parse the complicated output of other programs. This course will not turn biologists into computer scientists, rather it will enable biologists to use computational tools more effectively.
Procedure: Homework will be assigned for each class, and will be due in two weeks. I encourage you to work together on assignments, and discuss the problem but each student should fully understand all the material that he or she hands in. To make sure that you are prepared when you are coming to class there will be some quizzes between midterm and final. Students are strongly encouraged to come during office hours with any problems regarding the course or assignment. Attendance is mandatory. No make-up quiz or test will be given. For an excused absence, other quizzes or tests will be weighted more heavily.
Grading: Homework:40%
Quizzes 10%
Midterm:25%
Final: 25%
93-100 A 90-93 A-
87-90 B+ 84-87 B 80-84 B-
77-80 C+ 74-77 C 70-74 C-
67-70 D+ 64-67 D 60-64 D-
0-60 F
Incomplete: See the University Catalog (p. 36). A grade of Incomplete requires that work due at or before the time of the request be at a C average, and that the reason for requesting the Incomplete is serious, beyond your control and documented.
Tentative Schedule:
Date: Topic:Chapter:
Sept.3 Syllabus, Introduction to Perl 1
Sept. 10Getting Started With Perl
Sept. 17Using Variables 2
Sept. 24 Pattern Matching in Perl 3
Sept.31Operators 4
Oct.. 8 String Manipulation 5
Oct. 15Conditional Statements and Looping 6
Oct. 22Subroutines and Parameters 6
Oct. 29Midterm
Nov. 5 Arrays and Hashes 7
N0v. 12Packages and Modules 7
Nov. 19File Manipulation 8
Nov. 26Input/Output Processing 10
Dec. 3 Debugging In Perl 17
Dec. 10 Final Exam
Final Exam:Wednesday December 10, 2008 6:00-9:00 PM