About this Course
The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).
WHAT YOU WILL LEARN
- Essential algorithmic techniques
- Design efficient algorithms
- Practice solving algorithmic interview problems
- Implement efficient and reliable solutions
SKILLS YOU WILL GAIN
- Dynamic Programming
- Debugging
- Software Testing
- Algorithms
- Computer Programming
0 Comments