CPSC 301: Computing in the Life Sciences

Course Details


Contact Information

Instructor: George Tsiknis

  • Email: tsiknis (at) cs (dot) ubc (dot) ca
  • Office Location: ICICS/CS 307
  • Office Phone: (604) 822-2930
  • Office Hours: Thursdays 11:00-12:00


  • Khamza Davletov
    Email: khamza (at) cs (dot) ubc (dot) ca
  • Michelle Chuang
    Email: sinn.foniia (at) gmail (dot) com
  • Shu Yang
    Email: syang11 (at) cs (dot) ubc (dot) ca 
  • Willie Kwok
    Email: willie.kc.kwok (at) gmail (dot) com



Third year standing or higher.

Course Communication:

  • Most information will be disseminated through this web site or in class. Students are expected to check this web site regularly for announcements.
  • The Vista component of the course web site includes a discussion board to which students can post. This is the best forum for asking questions. The instructor and TA will monitor the discussion board regularly, and will respond more quickly to questions posted there than questions asked by email. Students are expected to monitor the discussion board regularly as well.
  • Questions regarding lab work can be directed to the TA during the labs or via email. Questions regarding lab grading should be directed to the TA first.
  • Questions regarding lab work, exams or course administration -- particularly those of a confidential nature -- can be directed to the instructor by email or during office hours.


Before each lecture I will ask you to read the pages from the notes and the textbook that are relevant to the topics we will discuss in the lecture. In the lecture, I will assume that you know the basic concepts from the assigned reading and I will focus more on examples and your questions. I will use clicker questions to gauge your understanding of the concepts you read and discuss those that are not clear to you. Occasionally I will ask you to work with a partner on some exercises (or small problems) and submit your solution for marking.  Make sure that you always read the assigned sections from the notes and the textbook before you come to the lectures. 

I will regularly post the lecture notes on the course web site. You may download the PDF slides and have them in the class to add your own annotations and any explanations and different examples I may present during the lecture. 


There are eight or nine labs, and one one lab exam for the course. All of the labs have before-lab and in-lab sections. Some labs may also have some after-lab assignments. Other than the lab work, there are no homework assignments in the course.

A lab is usually due at 6:00pm on the Wednesday that follows the day the lab started. We will NOT accept late submissions except in exceptional circumstances.

For more information on the labs see the labs home page on this site.

If you miss your lab section due to illness:

  • Try to attend a different lab section during the same week.
  • If you are unable to attend any lab section during a particular week, submit your solution through handin if you finish before the deadline and bring your work to your next lab section to demonstrate to the TA. If you cannot submit the assignment on time, email it to your TA and provide the TA with an explanation.
  • If you are unable to complete a lab before the next lab starts, you should talk to your instructor. 

Examinations >

There will be a lab exam, a midterm, and a final examination for this course:

  • The lab exam will be taken in the lab during the scheduled lab times in March. We will announce the lab exam date after the midterm exam.
  • The midterm (60 minutes) will be on Thursday, February 16 during the lecture.
  • The final examination will be scheduled by the university in April.

If you miss an exam:

  • If you miss the lab exam, you will be given an opportunity to repeat it outside of lab time. You must pass the lab exam to pass the course.
  • If you miss the midterm exam, the weighting for the midterm will be shifted to the final exam. There are no deferred midterm exams in CPSC 301.
  • If you miss the final exam, you must follow the procedure of your Faculty  to request a deferred exam (for Science you hay check this side for deferred exam rules). Note that you may be refused permission to sit a deferred exam if you have not demonstrated sufficient prior work in the course (see the Grading section below).


Final grades will be calculated as follows:

  • 4% for the clicker questions
  • 4% for the in-class group exercises
  • 2% for participation in the class discussions and in surveys
  • 25% for the labs
  • 5% for the lab exam
  • 20% for a midterm exam, and
  • 40% for the final exam.

To pass the course, a student has to obtain a 50% overall mark and, in addition, they must

  • pass the lab examination
  • pass the final examination.

The final grade for students who fail the lab or the final exam will be set to the minimum of the grade calculated by the above formula and  45%.


The main textbook for the Python component of the course is: 

  • Practical Programming: An Introduction to Computer Science Using Python, Jennifer Campbell, Paul Grise, Jason Montojo, Greg Wilson

You can buy the paper or the online version or both at
    http://pragprog.com/titles/gwpy/practical-programming .
Class readings will be identified in this version.

Another textbook which can be used for this course is:

which is available online free from Green Tea Press as in either web format or as a pdf file

This book covers most of the topics we'll discuss in this course, but it  presents  the concepts in a slightly different order than the main text does. I'll try to also list the sections from this book that correspond to the  class readings.


We will be using the i>clicker system in CPSC 301. They can be purchased at the UBC bookstore. For more information, see UBC's wiki site. Remember to register your clicker for CPSC 301 through Vista so that you can get participation credit.


General information about this course is available from this public course website. Students registered in the course must also access the Vista component of the course web site, which includes the following features:

  • Online discussion groups. Students are responsible for regularly reading the main course discussion group and the discussion group associated to their lab section.
  • Grades. Students may view their progress in the course.
  • Register your clicker. This task must be done once in order to ensure that you get participation credit for using your clicker.
  • Secure handouts. We may not be able to post some material on the public site, in which case it will be posted through Vista.

Last Updated: December 29, 2011