CS273a

Course Description

A computational introduction to the most amazing programming language on the planet: your genome. Topics include genome sequencing (assembling source code from code fragments); the human genome functional landscape: variable assignments (genes), control-flow logic (gene regulation) and run-time stack (epigenomics); human disease and personalized genomics (as a hunt for bugs in the human code); genome editing (code injection) to cure the incurable; and the source code behind amazing animal adaptations. Algorithmic approaches will introduce ideas from computational genomics, machine learning and natural language processing.

Prerequisites

There are no biological or computational prerequisites for CS273a. While there are no official prerequisites, a background in programming is strongly encouraged. Introductory sections on molecular biology, text processing in UNIX, and the UCSC Genome Browser will be given early in the quarter (see schedule below).

Cross-listings

This course is cross-listed within Developmental Biology and Biomedical Informatics as DBIO273A and BIOMEDIN273A, respectively.

Class Schedule

Mon Wed 1:30pm-2:50pm in Beckman B302 (Map to Beckman)

Bibliography
The course is mostly based on current or very recent literature. As such, it does not follow any textbook. Please use the papers mentioned at each lecture as pointers into the relevant literature (for more material, you can look at the papers' references, or at more recent publications that cite those papers). The easiest way to find a paper would be to search for its title and/or authors on Google Scholar or vanilla Google.

As a Stanford student you also have free access to many biomedical journals. In order to be granted access to them while you are off-campus you simply need to add https://lane.stanford.edu/help/searchtools.html to the main URL and enter your Stanford credentials upon request (for example http://www.somejournal.com/other/stuff would become http://www.somejournal.com.laneproxy.stanford.edu/other/stuff).

The following book can be used as a general reference to the biological topics discussed in class: Human Molecular Genetics, 4th edition. The course may also use material from Genomes, Browsers and Databases: Data-Mining Tools for Integrated Genomic Databases.

Communication

All course communication will be handled via Piazza. Find our class page at Piazza and enroll to receive announcements and access to other private course resources.

Instructor

Gill Bejerano
Office: Beckman Center B321
Office hours: Email for appointment
Phone: (650) 723-7666
Email:

Teaching Assistants

Bo Yoo
Office: Beckman Center B381
Office hours: Monday 3PM-5PM, Wednesday 3PM-5PM
Email:

Johannes Birgmeier
Office: Beckman Center B381
Office hours: Friday 1PM-3PM
Email:

Course Requirements
There are three course requirements:
  1. Homeworks. Throughout the class there will be two homework assignments, due at the beginning of class on their due dates. Three late days are awarded for the quarter. Once these late days are used up, homework turned in late will be penalized 20% per late day. The number of late days used is rounded up to the nearest day, so assignments turned in one hour late use one full late day. Late days cannot be applied to the project milestone or final project presentation.

    A link to frequently asked questions about each homework will be created on the schedule and updated as questions come in, so refresh and check the FAQ to see if your question has been addressed already.

    Because we reuse some problem set questions from previous years' homeworks, looking at previous years' solution sets is not permitted and is an honor code violation.

    Students may discuss homework problems in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should write on the problem set the set of people with whom s/he collaborated.

  2. Project. Students will form groups, and each group will be assigned an individual project. Instead of a final exam, at the end of the class there will be a poster session where the groups will present their work.

  3. Attendance. For this class, attendance is mandatory. You may miss up to 2 lectures without affecting your grade, with consideration given if you are not feeling well.

Grades will be determined by roughly the following breakdown: 30% HW1, 30% HW2, 5% Attendance, 35% Final Project.
Course Tools

The base course directory is located at /afs/ir.stanford.edu/class/cs273a, and is reachable from the cardinal and corn machines. Source tree executables are available within the bin directory, and are machine-dependent. If you add "/afs/ir.stanford.edu/class/cs273a/bin/@sys" to your PATH variable, the correct version of the executable will be executed.

Previous CS273A Materials

There are course schedules and materials available from the Autumn 2016/2017, Autumn 2015/2016, Autumn 2014/2015, Autumn 2013/2014, Autumn 2011/2012, Autumn 2010/2011, Autumn 2009/2010, Autumn 2008/2009, Autumn 2007/2008, and Spring 2006/2007 versions of the course. Also see the Winter 2012/13 class of CS173.

Introductory Bio and CS Sessions
The following is a list of introductory sessions for students unfamiliar with (or just wanting a refresher lecture on) biology and computer science to the depth necessary to make the course enjoyable. The sessions will take place in Beckman B302 on the first three Wednesdays during regular class time. Beckman B302: Enter Beckman, take the elevator to the 3rd floor, take a left in the lobby and B302 is going to be on your right.

Date Subject
01/10/2018 Introductory Biology Primer (!! Beckman B302 !!)
01/17/2018 Introduction to Text Processing (!! Beckman B302 !!)
01/24/2018 UCSC Genome Browser Tools (!! Beckman B302 !!)

Schedule

 DateTitleHW
11/08Gill: Introduction 
21/10Johannes: Bio Primer (CA Tutorial) 
31/17Bo: Text Processing Primer (CA Tutorial) HW1 Due: 2/5
41/22Gill: Protein Coding Genes 
51/24Johannes & Bo: Genome Browser Primer (CA Tutorial) 
61/29Gill: Non Coding Genes 
71/31Gill: Genes Enrichment, Gene Regulation I 
82/5Gill: Gene Regulation II HW2 Due: 2/26
92/7Gill: Gene Regulation III, and more? 
102/12Gill: Neutral Evolution: Repeats 
112/14Gill: Neutral evolution: repeats II 
122/21  
132/26  
142/28  
153/5  
163/7  
173/12  
183/14Final Project Presentation