Course Location: Classes are held in Halligan Hall. Labs will be held in the Windows lab, Halligan 122, and the remaining class periods we will meet in room 111B. You are also welcome to use any of the Halligan computer labs (rooms 116-122) at any time when they are not reserved for a class (see schedule here). Your ID will be coded for after-hours Halligan access provided that you are registered for the class in SIS; usually this happens a few days into the semester.

Course aims: This course is designed to introduce future biological scientists and physicians to bioinformatics tools, analysis methods, "systems thinking," and simple computer scripting. Upon completion of the course, students should be able to:

  • think about biomedical questions in the context of relevant available information,
  • utilize, and interpret results of, several current bioinformatics tools, and
  • write simple Python scripts to manipulate data.

Course strategy: This is a very hands-on class. To prepare for class meetings, students will complete reading assignments and assigned units in Codecademy's Python 2 course, as indicated in the schedule. Codecademy offers online tools to introduce programming concepts in a closely-guided, interactive format with immediate feedback. Completion of these tasks will sometimes be assessed via quick online piazza polls before class, or "anti-quizzes" (ungraded quizzes) during class. Class time will then be used to clarify, refine, and extend the material introduced in these units and in the reading. We will be using Piazza for class discussion. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. You can find our class page at https://piazza.com/tufts/fall2019/comp7/home. You can add your own tufts.edu email to this course, or we will enroll you using the email provided on the personal information handout in class, which need not be a tufts.edu address.

There will be several graded homework projects, some of them longer assignments broken up into smaller pieces. There will also be computer labs that will allow you both to explore some of the bioinformatics tools we are discussing and to develop your Python scripting abilities. Dates for lab classes are in the schedule as well. Labs are designed to help you develop essential skills that you will need to complete the homework projects. Lab work may also be completed on students’ own machines, although in some cases you would need to install specific software that may be Windows-specific

Some lab assignments will be completed in pairs - students will work with different lab partners throughout the term. Homework projects, however, should be completed on your own, and all assistance you receive should be documented.

Prerequisites: Bio 41 or BME 62 or equivalent (by consent). We will assume some background in molecular biology and genetics. There are no computer science prerequisites for this course. Note: If you have completed comp 15, you should not take this course. Comp 167 will be offered in the spring and is a much more suitable course for those with a solid computer science background.

Asking questions and getting help: We encourage you to ask questions about the material. We strongly suggest that you use the class Piazza site for this purpose. If you ask questions here, you can get help fast and efficiently from classmates, the TAs, and myself. You can also limit your question to only course staff, or can ask questions anonymously. If you have a question that you do not wish to share with other students, you may also email the course staff list at ta7@eecs.tufts.edu, which is again preferable to emailing individual members of the teaching staff.

Textbook(s):
Required: Bioinformatics and Functional Genomics (3rd edition) by Jonathan Pevsner, Wiley-Liss, ISBN# 978-1-118-58178-0.
Recommended: Learning Python (5th edition), by Mark Lutz O’Reilly, ISBN# 978-1-4493-5573-9.

Electronic copies of texts: Bioinformatics and Functional Genomics is available through the Tufts libraries EBSCOhost site. Find it on the Links page, or search for it in JumboSearch, pick the 2015 edition, and then log in using your Tufts login. Learning Python is available online (for free) through Tufts’ subscription to Safari. To access it, you must be logged in to a Tufts computer, i.e., somewhere on campus. Then go to http://proquest.safaribooksonline.com/ and type “Learning Python” into the Search box on the upper right side. You can also find it on our Links page. Copies are also available in the bookstore for those who prefer to have paper copies of reference books or who live off-campus and find access through Safari inconvenient.

We are using the much-expanded third edition of Bioinformatics and Functional Genomics, so please do not purchase earlier editions: the readings are not the same. You may find the 3rd edition in the bookstore or for purchase online. The hardcover or softcover versions of the 3rd edition are both acceptable.

For further reading, here are a few other good references, some of which inspired some of the questions we'll explore in in the lab assignments: Exploring Bioinformatics: A Project-Based Approach (2nd Ed.), by Caroline St. Clair and Jonathan E. Visick; Practical Bioinformatics, by Michael Agostino, and Understanding Bioinformatics, by Marketa Zvelebil and Jeremy Baum.

Labs: Attending the lab periods is mandatory. In some cases, you will be assigned a lab partner for the day; your partner will be counting on you to be there. Submit your individual or joint work via Gradescope by the end of the class.

Labs are graded in binary: either you submitted a lab writeup representing a good faith effort to complete the work and learn the material, or you didn't. (If you are submitting an assignment for two or more people, each of you should upload the same files, which should bear both your names.) However, we will try to provide informative feedback about points of confusion in your submissions to help you learn.

If you didn't finish the lab assignment during lab period, submit what you have at the end of class. However, we recommend that you try to finish the lab on your own as soon as possible, so that you are prepared for the project assignments that build on it. Each lab will also include a "Going Further" section for people who can complete the basic work quickly and want a deeper challenge. This work is not required.

Computational Resources : You will need access to a computer with an internet connection. You will be given a computer account for use on the departmental linux machines, along with a separate Windows account. If you would like to work on the labs and projects on your own machine, you will need a web browser and the ability to install your own software. Help installing software on portable machines will be provided as needed during the term, but may best take place during office hours rather than class time. However, we encourage you to use the lab machines so that you needn't worry about software availability.

You will also need to create an account on Piazza for polls and class discussion, and an account on Gradescope, which we will use to grade and return feedback on your homework assignments and quizzes. Both of these are available through Tufts licenses at no additional cost to you. To join the class in Gradescope: use course entry code 92DJKE.

Quizzes: Instead of exams, we will have half-hour, in-class quizzes every couple of weeks; dates are on the schedule. We will drop everyone's lowest quiz grade automatically, and will therefore not hold make-up quizzes without a request from your Academic Dean.

Grading Policy: Grades will be based on homework project assignments (50%), quizzes (40%), labs (5%), and class participation (5%).

Keeping Up: Despite their low weight in the course grade, completion of all lab exercises will be essential preparation for the projects, which are much more highly weighted. Thus, if you miss class and cannot complete a lab assignment on time, you should plan to get any notes from a classmate and attempt to complete the lab work on your own prior to attempting any subsequent projects. Material builds consecutively, so trying to complete assignments out of order will be difficult. If you are ill or otherwise have to miss class for an extended period, have your Academic Dean contact me and we will work out a plan to help you catch up.

Late policy: To encourage students to keep up with the material and to improve the fairness and consistency of grading (which is better when we can grade all submissions for an assignment at once), we will impose a late penalty for homework projects. Project assignments handed in after the start of the class period in which they are due will be marked down 3% for each day they are late. (For simplicity, the "first day" is deemed to run from the beginning of the class in which the assignment is due until midnight the following day; subsequent days are counted from midnight to midnight.) Labs are due the day that they are assigned; turn in what you have at that point.

Collaboration Policy: All written work submitted should be your own unless it is a collaborative assignment (e.g., many of the labs will be done in pairs), or unless you obtain prior permission to collaborate. You are free to discuss lab and homework assignments and polls with the instructor, the TAs, and others, but you must write your solutions, lab notes, and code yourself and include a footnote or citation of all sources you used (other than the textbook, class notes, or other class materials, such as worksheets or prior labs) and from which you received ideas. When you are working on a lab assignment as part of a team, you will write up your solutions together; all submitted text and code should be written only by those whose names are associated with it. Quizzes, of course, should be completed on your own.