UGA Bulletin Logo

Introduction to Computational Biology


Course Description

Brings together computer science, machine learning, and computer vision analysis techniques. Introduces basic programming concepts within the context of scientific discovery and applying those concepts to current problems in biology using the Python ecosystem.

Additional Requirements for Graduate Students:
Propose, design, execute, and report the results of a novel experiment using computational tools.


Athena Title

Intro Computational Biology


Grading System

A - F (Traditional)


Course Objectives

Students will be expected to master fundamental programming concepts, understand their uses within the scientific context, and be able to demonstrate that knowledge by implementing Python programs to solve biological problems. Specifically, students will: •Learn the basic tenets of high-level programming languages (variables, expressions, data structures, control flow, conditionals, input/output, loops, objects). •Learn how to use existing packages and their documentation in the Python ecosystem to avoid reinventing the wheel and to create new packages to further extend the ecosystem. •Implement and apply analytical techniques to myriad real-world biological problems, including, but not limited to, genomic sequence alignment, high-throughput bioimage analysis, modeling disease spread, analyzing protein structure, and data visualization. •Introduction to other special topics as time allows (machine learning and data mining, more specialized scientific languages such as Julia, etc.). •Appreciate the role automation and computation can play in scientific discovery. •[Graduate students only] Propose, design, execute, and report the results of a novel experiment using computational tools.


Topical Outline

1st half of semester: basics of programming in Python •Introduction to Python: “Hello, world!” •Variables and data types •Functions •Conditionals and control flow •Data structures (lists, dictionaries, arrays, sets) •Object-oriented programming •Packages •Advanced topics (array slicing, networking, multiprocessing) 2nd half of semester: biological applications •Dynamic programming •Sequence alignment •Hidden Markov Models (forward/backward/Viterbi algorithms) •Protein structure alignment (RMSD) •Analyzing molecular dynamics simulations •Image analysis (segmentation, principal component analysis) •Clustering gene expression •Modeling disease outbreaks