UGA Bulletin Logo

Programming and Data Structures for Bioinformatics


Course Description

An intensive introduction to fundamental concepts in programming and data structures and their application to everyday use in bioinformatics analyses. Hands-on exercises will emphasize problem-solving and writing code to collect, analyze, and present results.


Athena Title

Prog Data Struc Bioinformatics


Semester Course Offered

Offered spring


Grading System

A - F (Traditional)


Course Objectives

The goal of the class is to ensure that graduate students in any area of bioinformatics have basic programming skills in a structured object-oriented programming language and a background in necessary data structures. The class is designed so that these skills are gained and employed on bioinformatics-related data problems.


Topical Outline

• Algorithms • Programming style (documentation, specifications, naming conventions, indenting, comments) • Basic program structure, constants, variables (local, parameters, instance, class), operators (arithmetic, relational, logical, expressions, decisions, blocks) • Input, output, formatting, graphics, methods (procedures and functions) • Primitive types (floating point numbers, integers, characters, Booleans), casting, strings • Library functions, math functions • Classes, objects, constructors, visibility • Subclasses, inheritance • Loops, invariants • Arrays (one and two dimensional) • Searching (linear, binary) • Sorting (non-recursive) • Random numbers • Object-oriented design • Inheritance and Polymorphism • How to identify objects and object relationships • Testing strategies • Recursion • Mathematical background: finite and infinite series, logs, powers, exponents, order notation • Data structures - lists: stacks, queues, linked, doubly linked • Data structures - trees • Data structures – strings: compression, searching • Data structures - sets • Memory management


Syllabus


Public CV