Profile of <span>Michael Linderman</span>
Office
75 Shannon 216
Tel
(802) 443-5737
Email
mlinderman@middlebury.edu
Office Hours
M: 11AM-12PM, T: 1-2:30PM, W: 2-4PM, Th: Virtual by appointment, 2-4PM; 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. At Mount Sinai, he was a co-investigator in HealthSeq, a study investigating the return of whole genome sequencing data to healthy individuals, and the co-developer and director of “Practical Analysis of Your Personal Genome”, a unique laboratory-style genomics course in which students have the option to sequence and analyze their own whole genome. His research interests include heterogeneous computing (GPGPU), genomic variant interpretation, structural variant genotyping, and genomics education for the public, patients and providers.

Courses Taught

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 2018, Fall 2019, Fall 2021, Fall 2022

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. (CSCI 0200 and CSCI 0201) 3 hrs. lect./lab

Terms Taught

Fall 2022

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 2019, Spring 2020

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 or another language of their choice. (CSCI 201) 3 hrs. lect./lab.

Terms Taught

Spring 2019, Spring 2022

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 202) 3hrs. lect./lab

Terms Taught

Spring 2020

Requirements

DED

View in Course Catalog

Course Description

Compiler Design
An introduction to the design and construction of compilers and translators. Topics include context-free grammars, lexical analysis, symbol tables, top-down and bottom-up parsing, parser generators, error recovery, run-time organization, declaration processing, type checking, code generation, and optimization. Through the course of the semester students will implement a complete compiler for a simple programming language. (CSCI 0202 and CSCI 0301) 3 hrs. lect./lab

Terms Taught

Fall 2019

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 2018, Winter 2019, Spring 2019, Fall 2019, Winter 2020, Spring 2020, Fall 2020, Winter 2021, Spring 2021, Fall 2021, Winter 2022, Spring 2022, Fall 2022, Winter 2023, Spring 2023

View in Course Catalog

Course Description

Senior Seminar
This senior seminar provides a capstone experience for computer science majors at Middlebury College. Through lectures, readings, and a series of two to three week individual and group assignments, we will introduce important concepts in research and experimental methods in computation. Examples will include: reading research papers; identifying research problems; dealing with big data; experimental design, testing and analysis; and technical writing in computer science. (Approval only).

Terms Taught

Fall 2018

View in Course Catalog

Course Description

Practical Analysis of a Personal Genome
In this hands-on laboratory-style course, we will analyze a human genome starting from the raw sequencing data (publicly available). Using databases, scientific literature and other resources, students will formulate hypotheses about that person’s ancestry, physical traits, and disease susceptibility based on the genomic data. At the conclusion of the course, students will be able to describe the science underlying human genome analysis, employ and interpret the results of bioinformatics software tools, and debate the ethical, legal and social implications of personal genomics. No biology background is assumed, but students are expected to be able to use command-line software tools. (CSCI 101 or CSCI 150)

Terms Taught

Winter 2019

Requirements

DED, WTR

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 2019, Spring 2019, Winter 2020, Spring 2020, Winter 2021, Spring 2021, Winter 2022, Spring 2022, Winter 2023, Spring 2023

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 2019, Spring 2019, Winter 2020, Spring 2020, Winter 2021, Spring 2021, Winter 2022, Spring 2022, Winter 2023, Spring 2023

View in Course Catalog

Publications