Course Summary
This course delves into advanced topics in algorithmic thinking and problem-solving techniques. Students will learn about network flows, linear programming, and dynamic programming, and apply these concepts to real-world scenarios.Key Learning Points
- Gain a deep understanding of advanced algorithms and their applications
- Learn to solve complex problems using network flows, linear programming, and dynamic programming
- Apply learned concepts to real-world scenarios
Related Topics for further study
Learning Outcomes
- Ability to solve complex problems using advanced algorithms
- Understanding of network flows, linear programming, and dynamic programming
- Application of learned concepts to real-world scenarios
Prerequisites or good to have knowledge before taking this course
- Algorithmic Thinking 1 or equivalent knowledge
- Proficiency in Python programming
Course Difficulty Level
AdvancedCourse Format
- Online
- Self-paced
Similar Courses
- Data Structures and Algorithms Specialization
- Algorithms and Data Structures
Related Education Paths
Related Books
Description
Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.
Outline
- Module 3 - Core Materials
- What is Algorithmic Thinking?
- The sorting problem
- A simple quadratic algorithm
- Illustrating MergeSort
- The recurrence for MergeSort
- The Master Theorem and MergeSort efficiency
- Linear vs. binary search
- Efficiency of binary search
- Class structure (from part 1)
- Coding styles and standards - PoC
- Testing and machine grading - PoC
- Plotting data - PoC
- Peer assessment - "We want a shrubbery!" - IIPP
- Class notes
- Coding notes
- Homework #3
- Module 3 - Project and Application
- Project #3 Description
- Tests and Tips for Implementing the Clustering Methods
- Application #3 Description
- Application #3 Solution
- Module 4 - Core Materials
- The RNA secondary structure problem
- A dynamic programming algorithm
- Illustrating the DP algorithm
- Running time of the DP algorithm
- DP vs. recursive implementation
- Global pairwise sequence alignment
- Local pairwise sequence alignment
- Homework 4
- Module 4 - Project and Application
- Class wrap-up
- Project #4 Description
- Application #4 Description
- Application #4 Solution
Summary of User Reviews
Algorithmic Thinking 2 is a highly recommended course for learners looking to enhance their programming skills. The course has received positive reviews from users worldwide. Many users have praised the course for its comprehensive curriculum and engaging learning experience.Key Aspect Users Liked About This Course
Comprehensive curriculumPros from User Reviews
- In-depth coverage of algorithms and data structures
- Hands-on programming assignments to reinforce learning
- Engaging lectures with clear explanations
- Great community support from instructors and peers
- Flexible schedule with self-paced learning
Cons from User Reviews
- Some assignments can be challenging for beginners
- Occasional technical issues with the platform
- Not suitable for learners with no prior programming experience
- Limited feedback on assignments
- Some users found the course content to be too advanced