Michael Linderman headshot
Office
75 Shannon 216
Tel
(802) 443-5737
Email
mlinderman@middlebury.edu
Office Hours
M: 1:30-3:00PM, T: 2:30-4:30PM, W: 2:30-4:30PM, Th: 1:30-3:00PM or by appointment

Michael Linderman, Ph.D., is a computer engineer and computational biologist working to accelerate medical genomics. Michael joined Middlebury College in 2016; previously he was a Research Assistant Professor in the Department of Genetics and Genomic Sciences at the Icahn School of Medicine at Mount Sinai in New York. Michael earned his Ph.D. and M.S. from Stanford University in Electrical Engineering and his B.S. from Harvey Mudd College. His research focuses on genome sequencing informatics, genomics education and the study of the outcomes of personal genome sequencing (PGS). He seeks to develop new methods for sequence analysis, specifically structural variant (SV) genotyping, effectively teach others to analyze and interpret genomic data, and investigate the clinical, psychosocial, and behavioral outcomes of elective PGS.

Courses Taught

Course Description

Intensive Introduction to Computing
In this course we will provide an introduction to the field of computer science, geared towards students with some prior computer science or programming experience, or a background in quantitative problem-solving (e.g., advanced math coursework). Students will learn a variety of algorithmic strategies, including iterative and recursive approaches, and how to implement those strategies as Python programs. We will study computational techniques utilized in the natural sciences, social sciences and other disciplines. Additional topics will include large-scale data analysis and the ethical issues introduced by computing technologies. (Open to first years and sophomores; others by waiver)

Terms Taught

Fall 2024

Requirements

DED

View in Course Catalog

Course Description

Computing for the Sciences
In this course we will provide an introduction to the field of computer science geared towards students interested in mathematics and the natural sciences. We will study problem-solving approaches and computational techniques utilized in a variety of domains including biology, chemistry, physics, and engineering. Students will learn how to program in Python and other languages, how to extract information from large data sets, and how to utilize a variety of tools employed in scientific computation. The course has no prerequisites and assumes no prior experience with programming or computer science. (Juniors and Seniors by waiver) 3 hrs. lect./lab

Terms Taught

Fall 2021, Fall 2022, Fall 2023

Requirements

DED

View in Course Catalog

Course Description

Artificial Intelligence
Artificial Intelligence (AI) is the study of computational systems that exhibit rational behavior. Applications include strategic game playing, medical diagnosis, speech and handwriting recognition, Internet search, and robotics. Course topics include intelligent agent architectures, search, knowledge representation, logical reasoning, planning, reasoning under uncertainty, machine learning, and perception and action. We will also discuss the social implications of AI systems. This course fulfills the Responsible Computing requirement for the Computer Science major. (CSCI 0200 and CSCI 0201) 3 hrs. lect./lab

Terms Taught

Fall 2022, Fall 2024

Requirements

DED

View in Course Catalog

Course Description

Software Development
This course examines the process of developing larger-scale software systems. Laboratory assignments emphasize sound programming practices, tools that facilitate the development process, and teamwork. (CSCI 0200 and CSCI 0201) 3 hrs. lect./lab

Terms Taught

Spring 2023, Fall 2023, Spring 2024

View in Course Catalog

Course Description

Bioinformatics Algorithms
In this course we will explore and implement algorithmic solutions to modern biology questions. Students will be introduced to motivating biological questions—such as, “How do we compare DNA sequences?”—and then implement solutions to those problems using dynamic programming, graph, randomized, combinatorial and/or other algorithmic approaches. At the completion of the course students will be able to precisely define computational biology problems, design an algorithmic solution and implement that solution in software. No biology background is assumed, but students are expected to be able to implement sophisticated algorithms in Python. This course fulfills the Responsible Computing requirement for the Computer Science major.(CSCI 201) 3 hrs. lect./lab.

Terms Taught

Spring 2022, Spring 2024

Requirements

DED

View in Course Catalog

Course Description

Parallel Computing
Most modern computer architectures are parallel at multiple scales. In this course students will learn to develop programs that can efficiently use those parallel resources to improve performance and solve ever larger problems. Through a project-based survey students will be introduced to parallel hardware (multicore processors, clusters, GPUs), memory models (shared vs. non-shared), locality, synchronization, and different parallel programming models (threads, MapReduce, message-passing, SIMT, and more). Programming assignments will be implemented in multiple languages. (CSCI 0202) 3hrs. lect./lab

Terms Taught

Spring 2023

Requirements

DED

View in Course Catalog

Course Description

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

Terms Taught

Fall 2020, Winter 2021, Spring 2021, Fall 2021, Winter 2022, Spring 2022, Fall 2022, Winter 2023, Spring 2023, Fall 2023, Winter 2024, Spring 2024, Fall 2024, Winter 2025, Spring 2025

View in Course Catalog

Course Description

Senior Independent Research
Seniors conducting independent research in Molecular Biology and Biochemistry under the guidance of a faculty mentor should register for MBBC 0700 unless they are completing a thesis project (in which case they should register for MBBC 0701). Additional requirements include attendance at all MBBC-sponsored seminars and seminars sponsored by the faculty mentor’s department, and participation in any scheduled meetings and disciplinary sub-groups and lab groups. (Approval required).

Terms Taught

Winter 2021, Spring 2021, Winter 2022, Spring 2022, Winter 2023, Spring 2023, Winter 2024, Spring 2024, Fall 2024, Winter 2025, Spring 2025

View in Course Catalog

Course Description

Senior Thesis
This course is for seniors completing independent thesis research in Molecular Biology and Biochemistry that was initiated in BIOL 0500, CHEM 0400, MBBC 0500, or MBBC 0700. Students will attend weekly meetings with their designated research group and engage in one-on-one meetings with their research mentor to foster understanding in their specialized research area. Students will also practice the stylistic and technical aspects of scientific writing needed to write their thesis. (BIOL 0500, CHEM 0400, MBBC 0500, MBBC 0700) (Approval required).

Terms Taught

Winter 2021, Spring 2021, Winter 2022, Spring 2022, Winter 2023, Spring 2023, Winter 2024, Spring 2024, Fall 2024, Winter 2025, Spring 2025

View in Course Catalog

Publications