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