COM SCI C122
Algorithms in Computational Genomics
Description: (Formerly numbered CM122.) Lecture, four hours; discussion, two hours; outside study, six hours. Requisites: course 32 or Program in Computing 10C with grade of C- or better, and one course from Civil Engineering 110, Electrical and Computer Engineering 131A, Mathematics 170A, Mathematics 170E, or Statistics 100A. Course C121 is not requisite to C122. Prior knowledge of biology not required. Designed for engineering students as well as students from biological sciences and medical school. Databases of genomic sequence data are among the largest datasets in all of science. Assembling, indexing, and querying such tremendous datasets is computationally challenging yet critical for many areas of biomedical research. Focus on development of scalable algorithms for analysis of genomic sequence data, with additional focus on formulating biologically relevant problems as computational problems and then solving these problems by developing new algorithms. Concurrently scheduled with course C222. Letter grading.
Units: 4.0
Units: 4.0
Most Helpful Review
Winter 2024 - This course is honestly very interesting, but the amount of homework and projects can be overwhelming if you don't work ahead. Prof. Ernst taught the second half of the class, and he was a bit quieter and less engaging then Eskin (though not for lack of trying). That said, I do think that by nature of this class, simply going through the material without asking the class every other slide to answer basic math could be helpful, plus it would make the 200 slide presentations go by a lot faster. Still, Ernst goes through the material very thoroughly, and if you're really into genomics research, I think this class will be quite useful. Even then, I think learning the concepts Ernst teaches (HMMs, intro to EM algorithms) is much more useful than those taught in the first half (which feels like a bunch of leetcode questions that I likely won't ever use). Note, you have to buy the $80 textbook so just be aware of that.
Winter 2024 - This course is honestly very interesting, but the amount of homework and projects can be overwhelming if you don't work ahead. Prof. Ernst taught the second half of the class, and he was a bit quieter and less engaging then Eskin (though not for lack of trying). That said, I do think that by nature of this class, simply going through the material without asking the class every other slide to answer basic math could be helpful, plus it would make the 200 slide presentations go by a lot faster. Still, Ernst goes through the material very thoroughly, and if you're really into genomics research, I think this class will be quite useful. Even then, I think learning the concepts Ernst teaches (HMMs, intro to EM algorithms) is much more useful than those taught in the first half (which feels like a bunch of leetcode questions that I likely won't ever use). Note, you have to buy the $80 textbook so just be aware of that.
Most Helpful Review
Winter 2026 - I haven't even finished this class yet, but I feel the need to write a scathing review so that all possible future students know, DO NOT TAKE THIS CLASS IF YOU DO NOT HAVE TO. Every week is assignment after meaningless assignment. We had homework, a project, and a mandatory guest speaker lecture + discussion assignment THE SAME WEEK as our midterm. The homework assignment was so poorly designed that only 3 people were able to solve the last coding problem due to a memory limit issue, so all of us apparently just wasted our time on an unsolvable problem right before the midterm. Mind you, there are project deadlines every single Friday (at noon for some reason), so all of this came after a horrendously long project designed to have at minimum a 30 min-1 hour runtime. How can we reasonably iterate on a project if it takes the whole day just to test it a few times? I think the entire class had to use AI on it, and the average was still a 60% because of how impossible it was. I had to run it overnight and force my computer not to sleep. The midterm also was 20 pages long and significantly harder than the practice midterm, which was only about 4 pages long. Many concepts were not mentioned a single time in class, only in discussion. The professors were also whispering to each other the entire time and kept picking up phone calls, which many of us found to be disruptive and disrespectful to the students. They also enforce mandatory participation at least once with both professors, so everyone participated once and never showed up to lecture again because we don't learn anything efficiently. Eskin is not able to get through a single sentence without stuttering and ending it incompletely. Another sign that the professors don't actually care about the student experience is how disorganized the assignments are. Not a single deadline is posted except for deep into the Lecture 1 slides, so every time I need to check when something is due, I have to scroll about 50 slides in. Additionally, NOTHING is explained by the project instructions. It was extremely hard to get started on Project 1 because the instructions did not even specify that it was a coding project, let alone where to find the files that we needed to work with. I had to deduce that I was supposed to go to the files tab and download the project zip, then write a python script to produce the answer file. Finding out what the project was took longer than actually doing it. They also do not mention at all where to submit projects in the specifications. I have to scroll through all of the BruinLearn announcements to find the submission link every week. Is it that hard to include basic instructions, the deadline, and submission link in the project instructions? Any of us could organize this class better. This class is hard to be hard. They want us to feel like it's a challenge, but they do it by assigning a load of assignments and enforcing arbitrary requirements rather than making it a challenging intellectual experience. DO NOT TAKE THIS CLASS.
Winter 2026 - I haven't even finished this class yet, but I feel the need to write a scathing review so that all possible future students know, DO NOT TAKE THIS CLASS IF YOU DO NOT HAVE TO. Every week is assignment after meaningless assignment. We had homework, a project, and a mandatory guest speaker lecture + discussion assignment THE SAME WEEK as our midterm. The homework assignment was so poorly designed that only 3 people were able to solve the last coding problem due to a memory limit issue, so all of us apparently just wasted our time on an unsolvable problem right before the midterm. Mind you, there are project deadlines every single Friday (at noon for some reason), so all of this came after a horrendously long project designed to have at minimum a 30 min-1 hour runtime. How can we reasonably iterate on a project if it takes the whole day just to test it a few times? I think the entire class had to use AI on it, and the average was still a 60% because of how impossible it was. I had to run it overnight and force my computer not to sleep. The midterm also was 20 pages long and significantly harder than the practice midterm, which was only about 4 pages long. Many concepts were not mentioned a single time in class, only in discussion. The professors were also whispering to each other the entire time and kept picking up phone calls, which many of us found to be disruptive and disrespectful to the students. They also enforce mandatory participation at least once with both professors, so everyone participated once and never showed up to lecture again because we don't learn anything efficiently. Eskin is not able to get through a single sentence without stuttering and ending it incompletely. Another sign that the professors don't actually care about the student experience is how disorganized the assignments are. Not a single deadline is posted except for deep into the Lecture 1 slides, so every time I need to check when something is due, I have to scroll about 50 slides in. Additionally, NOTHING is explained by the project instructions. It was extremely hard to get started on Project 1 because the instructions did not even specify that it was a coding project, let alone where to find the files that we needed to work with. I had to deduce that I was supposed to go to the files tab and download the project zip, then write a python script to produce the answer file. Finding out what the project was took longer than actually doing it. They also do not mention at all where to submit projects in the specifications. I have to scroll through all of the BruinLearn announcements to find the submission link every week. Is it that hard to include basic instructions, the deadline, and submission link in the project instructions? Any of us could organize this class better. This class is hard to be hard. They want us to feel like it's a challenge, but they do it by assigning a load of assignments and enforcing arbitrary requirements rather than making it a challenging intellectual experience. DO NOT TAKE THIS CLASS.