Algorithmic Thinking (Part 2)

  • 4.7
Approx. 12 hours to complete

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

Advanced

Course 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 curriculum

Pros 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
English
Available now
Approx. 12 hours to complete
Luay Nakhleh, Scott Rixner, Joe Warren
Rice University
Coursera

Instructor

Luay Nakhleh

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses