Spring 2022 CS313

Welcome to CS313, an introduction to bioinformatics and computational biology

About CS313


  • CS313 is an introduction to bioinformatics and computational biology. Many elegant computational problems arise naturally in the modern study of molecular biology. This course explores the design, implementation, and analysis of algorithms with applications in genomics. Topics include bioinformatic algorithms for dynamic programming, tree-building, clustering, hidden Markov models, expectation maximization, Gibbs sampling, and stochastic context-free grammars. Topics will be studied in the context of analyzing DNA sequences and other sources of biological data. Applications include sequence alignment, gene-finding, structure prediction, motif and pattern searches, and phylogenetic inference. Course projects will involve significant computer programming in Java. No biology background is expected.
...

Brian Tjaden

CS313 Spring 2022 schedule


Please check this page frequently, as it is subject to change.

Monday

Tuesday

Wednesday

Thursday

Friday

Feb 8

Feb 9

Feb 10

Project Work

Feb 11

Feb 21

Presidents' Day

Feb 23

Feb 25

Mar 15

Mar 16

Mar 17

Spring Break

Mar 18

Spring Break

Mar 21

Spring Break

Mar 22

Spring Break

Mar 23

Spring Break

Mar 24

Spring Break

Mar 25

Spring Break

Apr 18

Patriot's Day

Apr 19

Apr 20

Apr 22

Apr 26

Ruhlman Conference

Apr 27

Apr 29

May 3

May 4

May 5

Wrap-up

Exercise 10 due

May 6

May 9

Reading Period

May 10

Final Exams

May 11

Final Exams

May 12

Final Exams

May 13

Final Exams

May 16

Final Exams

Project 8 due

May 17

May 18

May 19

May 20

Course Information for CS313



Course Themes

CS313 is an interdisciplinary course bridging computer science and molecular biology. Some of the themes running throughout the course include:


Learning Goals

Students who complete this course should be able to:


Textbook

There is no required textbook for this course.


Exercises

There will be online and written problem-solving exercises. The exercises provide hands-on practice with new material and with problems similar to the projects. For the exercises, students work at their own pace and can get help from the instructor. Normally, exercises will be completed in teams of two students each, with teams starting an exercise during class time and completing it outside of class. Exercises are due at 11pm on their due date.


Projects

Projects help students develop a working knowledge of the concepts presented in class. Projects are due at 11pm on their due date. Instructions for turning in each project will be included with the project. We ask students to keep track of the time they spend on each aspect of the project to help us design projects for future semesters and understand course work load levels. Each project will come with a cover page with which students can report the times that they spent on the various problems.

Working with a partner on projects is optional. You may work with a partner on as many projects as you like. However, you can only work with a given partner on a single project during the semester. If you want to work on projects with a partner multiple times, you must choose a different partner for each such project. Rotating through partners is a good way to build community in the class and is helpful in avoiding situations where one individual feels pressured to continue working with another. If you would like to work with a partner, you may find your own partner or you may use this shared Google document to indicate your interest in working with a partner.

Many of the projects will be challenging. You should keep in mind that programming often consumes more time than expected. Start your projects early! This will give you time to think about the problems and ask questions if you hit an impasse.


Late Policy

Exercises and projects are due at 11pm on their due dates. It is beneficial to student learning for course work to be completed regularly throughout the semester. Since much of the material in the course builds off of previous content from earlier in the course, it is helpful to keep on schedule so that students have the necessary background to engage with the material as it is presented in class together with their classmates.

Sometimes, however, prioritizing completion of an assignment by the deadline may not be the right personal choice for you. To encourage you to learn from the assignments while also affording flexibility when it benefits your health and well-being, you may use either of the following mechanisms to submit late assignment (exercise and project) work without penalty:

  1. Self-serve 48-hour late pass: You may delay any assignment deadline by 48 hours by submitting this late pass notification form before the original deadline. There is no need for any other communication in this case.
    • The form requires a brief summary of progress (e.g., "#1 done, #2 stuck, #3 started" or "not started") and whether you anticipate seeking support (drop-in hours/office hours) for the assignment.
    • If the 48-hour extended deadline falls during a break or weekend, it is automatically moved to the final day of that break or weekend.
  2. Custom extension: If you need to extend an assignment deadline more than 48 hours, of if you did not submit a late pass notification in time, you must email the instructor with an initial timeline and plan for when and how you will complete the assignment and report on progress.
    • We will adjust the plan together to make sure it is reasonable. The instructor may ask you to prioritize current work first. If you need custom extensions on multiple assignments, the instructor may ask you to check in with your class dean to make sure you are getting the support you need to manage your course load.
    • You are never required to discuss details of your personal circumstances with an instructor to receive an extension, altough we are happy to lend an ear. If you choose to share, please note that reporting duties prevent instuctors from holding strict confidentiality in all cases.

The above extension mechanisms are subject to the following limitations:

  1. Project 8 is not subject to extensions as all work is due at the end of the semester.
  2. Feedback and grading for work submitted under an extensions will be completed eventually. This may take arbitrarily long, possibly past the end of classes and exams. The likelihood and likely magnitude of delay grow with the length of the extension.

Collaboration Policy

We believe that collaboration fosters a healthy and enjoyable educational environment. For this reason, we encourage you to talk with other students about the course material and to form study groups.

For projects, students are allowed to discuss the problems with other students and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of others. Therefore, we require that each student must compose their own solution to each project. You may discuss strategies for approaching the programming problems with your classmates and may receive general debugging advice from them, but you are required to write and debug all of your own code. Furthermore, you should never look at another student's code. For example, it is OK to borrow code from a textbook, from materials discussed in class, and from other sources as long as you give proper credit. However it is unacceptable and constitutes a violation of the Honor Code (1) to write a program together (with someone else) and turn in two copies of the same program, (2) to copy code written by your classmates, (3) to read another student's code or (4) to view projects and solutions from previous terms of CS313.

In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.

For exercises, you will work with a partner as part of a two-person "team". Partners will be assigned by the instructor, so that each student works with different partners throughout the semester. The two team members must work closely together on the exercise and turn in a single submission of their exercise solutions for the team. The grade received on such a submission will be given to both team members.

For projects, you are encouraged but not required to form a two-person "team" with a partner. The two team members must work closely together on the project and turn in a single submission of their project solutions for the team. The grade received on such a submission will be given to both team members. When partnering for projects, you can only work with a given partner on at most one project during the semester. If you want to work with partners on multiple projects, which is encouraged, you must choose a different partner for each project. Rotating through partners is a good way to build community in the class and is helpful for avoiding situations where one individual feels pressured to continue working with another.

Team efforts on exercises and projects are subject to the following ground rules:
The work must be a true collaboration in which each member of the team will carry their own weight. It is not acceptable for two team members to split the problems in the exercise/project between them and work on them independently. Instead, the two team members must actively work together on all parts of the exercise/project. In particular, almost all programming should be done with the two team members working at the same computer. It is strongly recommended that both team members share the responsibility of "driving" (i.e., typing at the keyboard), swapping every so often.


Grading Policy

Your final grade will be based on a weighted average of the following components:


At the end of the semester, we will compute a weighted average for each student and assign letter grades. In general, the mapping from numerical score to letter grade looks like this: >= 93.33 is an A, >= 90.00 is an A-, >= 86.67 is a B+, >= 83.33 is a B, >= 80.00 is a B-. >= 76.67 is a C+, >= 73.33 is a C, >= 70.00 is a C-, >= 60.00 is a D and < 60.00 is an F.

Depending on the overall performance of the class, we may adjust this mapping.


Computers and Software

All programming in CS313 will be done using the Java programming language. You are free to use any platform to develop your code. Each CS313 student will have a password-protected account on the CS fileserver. You will have a limited amount of space on the CS server to store your course-related files.


Course Directory

The CS313 course directory is located at /home/cs313/download on the CS server. This directory contains material relevant to the class, including course software, and online versions of projects and programs. All of the course Java software will be placed in this /home/cs313/download directory.


Google Group

There is a CS313 Google Group named CS-313-01-SP22. This group has several purposes. We will use it to make class announcements, such as corrections to projects and clarifications of material discussed in class. We encourage you to post questions or comments that are of interest to students in the course. Please do not post Java code in your messages on the Google group! The instructor will read messages posted to the group on a regular basis and post answers to questions found there. If you know the answer to a classmate's question, feel free to post a reply yourself. The course group is also a good place to find people to join a study group. You should plan on reading group messages on a regular basis.


Anonymous Feedback Form

Here is a form for providing anonymous feedback to the instructor. You must be logged in to a Wellesley account to use the form, however neither your email address nor any other identifying information will be recorded.


Disabilities and Accommodations

If you have a disability or condition, either long-term or temporary, and need reasonable academic adjustments in this course, please contact Accessibility and Disability Services (ADR) to get a letter outlining your accommodation needs, and submit that letter to me. You should request accommodations as early as possible in the semester, or before the semester begins, since some situations can require significant time for review and accommodation design. If you need immediate accommodations, please arrange to meet with me as soon as possible. If you are unsure but suspect you may have an undocumented need for accommodations, you are encouraged to contact ADR. They can provide assistance including screening and referral for assessments.

Disability Services can be reached at disabilityservices@wellesley.edu, at 781-283-2434, by scheduling an appointment online at their website www.Wellesley.edu/disability , or by visiting their offices on the 3rd floor of Clapp Library, rooms 316 and 315.


Faculty Responsibilities on Disclosures of Discrimination, Harassment, and Sexual Misconduct

Pursuant to Wellesley College policy, all employees, including faculty, are considered responsible employees. That means that any disclosure of discrimination, harassment, or sexual misconduct to a faculty member will need to be shared with the College's Director of Non-Discrimination Initiatives / Title IX and ADA / Section 504 Coordinator (781-283-2451; titleix@wellesley.edu). Students who do not wish to have these issues disclosed to the College should speak with confidential resources who are the only offices at the College that do not have this same reporting obligation. On campus, confidential resources include Health Services (781-283-2810 available 24/7), the Stone Center Counseling Services (781-283-2839 available 24/7) and the Office of Religious and Spiritual Life (781-283-2685). You should assume that any person employed on campus outside of these three confidential offices has an obligation to share information with Wellesley College through the Office of Non-Discrimination Initiatives.