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.
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.
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.