Instructor: Joshua Akey, Mona Singh
Description of Course Goals and CurriculumThe course provides an overview of experimental and computational approaches for studying molecular systems with a focus on methods for analyzing large-scale "omics" data, such as genome and protein sequences, gene expression, and molecular interaction networks. The course also discusses the basic biology of the genome and teaches basic statistical concepts relevant to genomics. This is a cross-listed, interdisciplinary course, so it provides a broad introduction in quantitative and computational biology rather than an in-depth view. Following an overview of basic data science concepts, the course moves into sequence analysis (DNA and RNA sequencing, population genomics, regulatory genomics, etc.) and biological networks.
Learning From Classroom InstructionLectures are taught twice a week on Tuesday and Thursday for an hour and 20 minutes each in Icahn. Lecture slides are uploaded onto BlackBoard right before class, and it is helpful to have them during lectures to add additional notes on the side because the speed at which professors go through slides makes it challenging to get down all the slide notes if one was trying to copy down everything. Each lecture begins with a brief (~5 min) review of what was covered in the previous lecture, and the professors welcome questions at any time. Since students are coming from diverse backgrounds, usually with more experience in either biology or computational work, students will especially ask a lot of clarifying questions towards the beginning of the course. Even so, it can still be challenging for students to follow all the details, so it is helpful to focus on the concepts and take more time to dissect the details when looking back at notes later. Professors will occasionally ask students questions too and help guide students in answering them. There are two weekly help sessions led by three rotating TAs for help on homework assignments and understanding concepts learned in concepts. For the first three weeks of class, one of the weekly help sessions is dedicated to teaching basic R programming to quickly catch students up to speed on basic R programming knowledge needed for the course. Another important component of the course is Piazza, where students can post and answer questions, and this is moderated by the TAs, who answer most of the questions.
Learning For and From AssignmentsThe two major graded components of the course are homework assignments and the final project. There are five problem sets in total, and the first “problem set” counts for the least because it includes a survey and an introduction to R programming. The other four problem sets take much longer to complete, and I will recommend starting them early enough so that you can get help at weekly help sessions. The semester I took this course, the two weekly help sessions were a day/two days before homework was due. However, problem sets are due every two weeks, and help sessions occur every week. Since lectures focus on teaching concepts, rather than R programming, completing assignments often require online research on what functions to use and how to use those functions. Piazza is also a great resource, and TAs will at least help point students to the right direction if they want students to come up with the answer themselves. It is extremely helpful to discuss assignments with other students in the class to better understand concepts, gain insight on how to approach the assignments, and get help with debugging. While R programming for assignments may initially be challenging, there are plenty of online resources, and the TAs can provide enlightenment as well. For the final project, I will recommend picking a topic that you are very interested in because many hours will be spent poring over data/code. Processing the data so that you can begin manipulating it may be excruciating if the data does not come in the desired format. It is more difficult for TAs to help with specifics related to final projects because they may not have encountered some of the specific concepts that come up in your final project. That is also to say, it is natural to struggle with the final project because it requires a lot of learning along the way too. There are no exams, allowing students to focus on understanding concepts and applying them in homework assignments, rather than focusing on memorizing details for exams.
External ResourcesGeneral online research was helpful for completing almost every single problem set, as well as for the final project. Office hours with professors are available too, and I have also set up additional one-on-one help with the TAs, which can be especially useful when you are struggling with your final project. For help in basic R programming that is not specific to computational biology, Firestone offers data science help, and this can be helpful in understanding concepts that are not covered in depth in lectures. This service at Firestone occurs almost every day of the week, much more frequently than the help sessions, so it can be a great resource to help you move forward in your assignments, even though the people who provide these services tend to be experts in social sciences. Your peers in the course are also a valuable resource, and working on problem sets with my classmates made completing assignments so much more enjoyable for me!
What Students Should Know About This Course For Purposes Of Course SelectionAccording to the course description, COS126 or equivalent programming experience is a prerequisite, but for some students in the course, it has been a while since they have last had such an experience even if they do fulfill this prerequisite. But sweat not, a primer to basic R programming will be provided to you in the weekly help sessions during the first three weeks of the course, so you can become more comfortable with R programming if you put in a little extra effort. While problem sets may sometimes feel painful, I will highly recommend working with your classmates. I will also recommend this course overall because the stakes are low with no exams, so the focus is on learning something new and something cool! If you have previous experience with programming in other languages, that will be helpful, but keep in mind that the syntaxes may be different. Since it is a cross-listed class, this class can fulfill MOL, COS, and QCB requirements. If you previously only have experience skewed towards either MOL or COS, this class provides a neat introduction into the other field, as well as an overview of how MOL and COS can both build on another, so this can lay the foundation to help you dive deeper into either subject.
Introduction to Genomics and Computational Molecular Biology