Computational Methods for Bioinformatics

Course Overview

Exam Format: Writing/debugging and discussing code (on paper or IDE)

What This Course Is Really About

Solving problems. Not just any problems—2D and 3D problems that show up constantly in bioinformatics.

Don't always use brute force. No "try everything and hope it works." Use the right data structures. Think before you code.

Most difficult problems will include Arrays and Strings.

Practice Resources

LeetCode
Practice problem-solving patterns, especially:

  • Array/matrix manipulation (2D problems)
  • Hash tables and sets
  • Graph algorithms (for 3D structures)
  • Dynamic programming basics

Recommended pace: Solve 2 problems for every lecture

Study Strategy

  1. Understand the problem first - Don't jump to coding
  2. Think about data structures - What fits this problem naturally?
  3. Sketch the approach - On paper
  4. Code it cleanly - Readable beats clever

Exam Preparation

You'll write and debug code, then discuss your choices. They want to hear your reasoning:

  • Why this data structure?
  • Could you optimize it further?

Practice explaining your code out loud. If you can't articulate why you chose an approach, you probably don't understand it well enough.