-
Algorithmic Design and Techniques
Learn how to design algorithms, solve computational problems and implement solutions efficiently.
-
Learn about data structures that are used in computational thinking – both basic and advanced.
-
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.
-
Learn about NP-complete problems, known as hard problems that can’t be solved efficiently, and practice solving them using algorithmic techniques.
-
String Processing and Pattern Matching Algorithms
Learn about pattern matching and string processing algorithms and how they apply to interesting applications. -
Dynamic Programming: Applications In Machine Learning and Genomics
Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution.
-
Graph Algorithms in Genome Sequencing
Learn how graphs are used to assemble millions of pieces of DNA into a contiguous genome and use these genomes to construct a Tree of Life.
-
Algorithms and Data Structures Capstone
Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.
Algorithms and Data Structures
You will learn algorithmic techniques for solving various computational problems through implementing over one hundred algorithmic coding problems in a programming language of your choice.