In CS 274: “Representations and Algorithms for Computational Molecular Biology,” bioengineering professor Russ Altman Ph.D. ’89 M.D. ’90 uses a computational approach to introduce students to molecular biology and biochemistry.
From his extensive expertise in applying computational tools to biological problems, Altman engages students by discussing real datasets about highly relevant proteins and drugs in a classroom of approximately 40 students on Tuesday and Thursday afternoons in Gates B01.
Altman has been teaching CS 274 since 1994, when he was an assistant professor at Stanford, but he still adds new lecture topics each year, swapping in cutting-edge ideas relevant to the field of study. For instance, while he continues to discuss traditional methods of classifying proteins, he integrates natural language processing to survey research papers as a new classification tool.
Nonetheless, Altman said that the changes he introduces are grounded in the core algorithms he hopes his students take away from the class.
“I always try to discuss at least one algorithm in detail during each class in addition to the ‘hand-wavy’ [abstract] ideas that can be exciting,” Altman said. “On top of that, I also always want to include strong biological motivations for the algorithms during each class.”
Computer science major Ashwin Ramaswami ’21, who is also The Daily’s chief technical officer, said he decided to take CS 274 not only because of his dual interest in biology and computer science, but also because of Altman’s style of teaching.
“[Professor Altman] is very direct and clear and knows what he’s talking about.” Ramaswami said. “He doesn’t use slides — [instead] he uses the whiteboard, which is far more engaging.”
Students in Altman’s class complete three Python programming projects in which they implement, as the professor describes, “non-trivial” — or coding-intensive — algorithms in three main areas: sequence analysis, 3D structure and function. Additionally, students complete four other, smaller assignments that assess knowledge of concepts rather than coding ability. The midterm and final cover topics not assessed in these assignments.
Prospective computer science and biology major Grady Day ’21 said he believes that the class arms students with enough experience to assess computational biology research with a critical eye.
“I think hearing Russ’s perspective on the approaches we’ve covered in class will really help me understand and critique the bioinformatics papers that I [will] read,” Day said.
According to Altman, CS 274 is unique among the bioinformatics classes at Stanford because of its rigorous programming assignments and interesting discussions of techniques being used in all three frontiers of computational biology.
“I try to cover sequence analysis, function analysis and structure analysis, while other classes [will] only cover one of these things,” Altman said.
Altman cultivated an interest in computational applications to biology as an undergraduate. While majoring in biochemistry at Harvard, he served as a teaching assistant for introductory computer science classes.
“When I came for my M.D., Ph.D. at Stanford, I was [actually] looking for opportunities to combine [the fields of biology and computer science],” he said.
To this end, Altman said he tries to make the class interdisciplinary, covering topics from general chemistry and quantum physics to physical biology to calculus and machine learning. He said students interested in biology, computer science or both fields should consider taking CS 274.
“This class is for the biologist who is interested in how bioinformatics tools work under the hood, “ Altman said. “And I want students interested in computer science to understand that working in medicine and biology is an extremely rewarding and intellectually stimulating area.”
Contact Yash Pershad at ypershad ‘at’ stanford.edu.