Introduction to the Course

Learn who will benefit from this course and what its prerequisites are.

About this course

This course presents a dynamic approach to learning bioinformatics. It strikes a unique balance between practical challenges in modern biology and fundamental algorithmic ideas. Various anecdotes and historical notes provide insights into how a scientific field evolves and what the catalysts are that help along the way.

Who is this course for?

This course targets students in biology and computer science and helps them relate the two fields. They don’t need to be experts in their respective domains, but some background knowledge in genomics and algorithms is required. Knowledge of programming is essential in order to attempt the coding exercises and maximize learning by being hands-on.

What to expect

The following provides a brief overview of what to expect in the course:

  • An introduction to some of the important problems in genomics, such as DNA replication, genome assembly, and comparing genetic sequences

  • Application of concepts from algorithm design to genomics like Eulerian paths, de Bruijn graphs, and longest common subsequences

  • Coding playgrounds to implement the concepts learned in the lessons

An active learning approach

The course uses an active learning approach. This is because as you read, you’ll find a number of active learning components that will help you learn the material interactively and at your own pace. These components are listed below:

  • Code Challenges ask you to implement the algorithms that you’ll encounter.

  • Charging Stations provide additional insights on implementing the algorithms you encounter.

  • Exercise Breaks test your knowledge.

  • Stop and Think Questions invite you to slow down and contemplate the current material before continuing to the next topic.

  • Detours provide extra content that didn’t quite fit in the main text but adds value and makes the course interesting.