CSCI 451/558: Introduction to Bioinformatics
Course schedule
Schedule subject to change. Lecture videos can be found in this Panopto folder.
| Week | Due this week | Monday | Wednesday | Friday |
|---|---|---|---|---|
| 1 (8/24-8/28) | Cogniterra assignment 1 (Friday) | Intro | Finding hidden patterns in DNA | Hidden patterns |
| 2 (8/31-9/4) | Hidden patterns | Hidden patterns | Protein sequencing | |
| 3 (9/7-9/11) | Labor day–no class | Protein sequencing | Protein sequencing | |
| 4 (9/14-9/18) | Motif finding | Motif finding | Motif finding | |
| 5 (9/21-9/25) | Genome assembly | Genome assembly | Genome assembly | |
| 6 (9/28-10/2) | No class | No class | Share project proposals | |
| 7 (10/5-10/9) | Sequence alignment | Sequence alignment | Sequence alignment | |
| 8 (10/12-10/16) | Indigenous Peoples’ Day–no class | HMMs and profile HMMs | HMMs and profile HMMs | |
| 9 (10/19-10/23) | HMMs and profile HMMs | HMMs and profile HMMs | HMMs and profile HMMs | |
| 10 (10/26-10/30) | Read mapping | Read mapping | Read mapping | |
| 11 (11/2-11/6) | Read mapping | Read mapping | Read mapping | |
| 12 (11/9-11/13) | Veterans Day–no class | Phylogenetic trees | Phylogenetic trees | |
| 13 (11/16-11/20) | Phylogenetic trees | Phylogenetic trees | Neural networks | |
| 14 (11/23-11/27) | Neural networks | Thanksgiving travel day–no class | Thanksgiving break–no class | |
| 15 (11/30-12/4) | Project presentations | Project presentations | Project presentations | |
| 16 (12/7-12/11) | Final period: 8-10am; grad project presentations |
Catalog description
This is a co-convened course with different course numbers for the undergraduate and graduate levels.
3 Credits. Designed for attendance by both computer scientists and biologists. The course will explore the interdisciplinary nature at the juncture of the two fields. Students will be introduced to bioinformatics (emphasis: computational genomics), with exposure to fundamental problems, algorithms, and tools in the field. This includes a basic introduction to genomics, along with in-depth coverage of algorithms and methods relevant to modern computational genomics, including: biological sequence alignment, sequence database homology search, and phylogeny inference. The programming expectations are limited for a 400/500-level computer science course, but at least one semester of a programming-intensive course is required.
Basic course info
This course meets in Social Sciences 362 on Mondays, Wednesdays, and Fridays from 12pm-12:50pm.
Class time will be a mix of lecture, discussion, and active problem solving, both as individuals and as groups. Before class, students will read the textbook and complete some pre-class exercises. To close out each course topic, we will have a short quiz and an open-ended activity done in groups during class to apply what we’ve learned.
Students will also complete a larger group project on a bioinformatics topic of their choice.
During class, I will ask that you put away laptops and phones except when they are needed to follow along with a group activity.
Course resources
Textbook
The textbook for this course is Bioinformatics Algorithms: An Active Learning Approach by Phillip Compeau and Pavel Pevzner. You will be required to purchase the online version of the book for $59.95 to complete pre-class programming exercises; purchasing the physical book is optional. Follow this link to purchase the book and gain access to our course’s assignments. Please use your UM email to register an account.
Class videos
Lecture periods will be recorded and available to watch after class. However, if there are technical difficulties recording a lecture, it will not be re-recorded, and in-class participation will be a key to your learning, so please come to class when you can. Videos can be found in here.
Book’s lecture videos
The authors of our textbook created free lecture videos to accompany the text. You are not required to watch these, but if you find them helpful, please do!
Discord
Please join the UM Computer Science Discord to keep up with announcements and to ask questions. Instructions can be found on Canvas.
Course help hours (aka office hours)
You will have some pre-class programming activities due the afternoon before most class periods. You can come get help from the instructor or work with your peers on Mondays before class (11am-12pm) and Fridays 9-10am in the CS Conference Room (Social Sciences 402).
Grading
You will be graded on the following:
- Pre-class assignments: 20%
- In-class worksheet completion: 20%
- Quizzes: 20%
- Final project: 30%
This accounts for 90% of your grade. For students enrolled in 451, the remaining 10% will come from attending lectures. For 558 students, it will come from an individual additional component to the final group project.
Your grade will be determined by your total score as follows: 93+: A; 90+: A-; 87+: B+; 83+: B; 80+: B-; 77+: C+; 73+: C; 70+: C-; 67+: D+; 63: D; 60: D-.
Bonus
There are two ways to earn bonus points in this class.
Catch errors in course materials
If you find an error in any of the course materials (typo, incorrect statement, etc.), make a post in the #errors-in-course-material Discord channel.
If it is really an error, you get a
quarter of a point. Only the first person to post about an error gets the points. You can earn a max of 1 total point toward your 100 for the course (for four errors).
Course survey and evaluation
If 100% of the class completes the mid-semester course survey, the whole class gets 1 bonus point. Same goes for the course evaluation at the end of the semester.
AI use policy
We live in an exciting time. Generative AI tools have the potential to greatly expand our ability to learn, but we are also learning that the use of these tools to replace our own thinking is detrimental to our learning. Therefore, I suggest that you use AI in the following ways:
For pre-class assignments
I suggest either using guardrailed AI (such as with this prompt) or not using AI when completing pre-class assignments. The point of these assignments is to give you the opportunity to understand the algorithms that we are studying, including the small details. If you allow an AI to write the code for you, you miss the opportunity to do the learning yourself. Remember that it will feel hard and struggle is where learning happens! In particular, if you develop your solutions in editors with AI code completion, such as VS Code with GitHub Copilot, please turn off the AI code completion feature. On the other hand, if you are struggling with the syntax in the programming language you are using, you are welcome to use AI to help with that, though you are also welcome to post in the course Discord. Please ask for help in setting up your coding environment if you need it.
For the final project
You are welcome to use AI to implement your final project, though your project writeup must be entirely written by your group members (not AI).