Skip to main content

Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms

Massive Open Online Course
  • Overview
  • Course Content
  • Requirements & Materials

Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms

Course Description

This Data Structures & Algorithms course completes the four-course sequence of the program with graph algorithms, dynamic programming, and pattern matching solutions. A short Java review is presented on topics relevant to new data structures covered in this course and time complexity is threaded throughout the course within all the data structures and algorithms. The course requires prior knowledge of Java, object-oriented programming, and linear and non-linear data structures.

Course Content





Requirements & Materials


  • Basic knowledge of the Java programming language, object-oriented principles, and various abstract data types from LinkedLists to Hashmaps to Trees to Stacks & Queues.


  • Internet connection (DSL, LAN, or cable connection desirable)


Who Should Attend

This course is designed for anyone who wants to delve into Pattern Matching algorithms from KMP to Rabin-Karp; tackle essential algorithms that traverse the graph data structure like Dijkstra’s Shortest Path; study algorithms that construct a Minimum Spanning Tree (MST) from a graph; or explore Dynamic Programming algorithms. A course visualization tool will be used to understand the algorithms and their performance.

Adult professional learning on a laptop

What You Will Learn

  • Java programming skills by implementing graph and dynamic programming algorithms
  • Algorithms for finding patterns in text processing
  • How to use preprocessing in the Boyer-Moore and KMP algorithms
  • The problem with hash codes in the Rabin-Karp algorithm
  • The Graph ADT and its representations within auxiliary structures
Female professional in computer science lab looking at tablet

How You Will Benefit

  • Traverse graphs using the Depth-First and Breadth-First Search algorithms.
  • Investigate Dijkstra’s Shortest Path algorithm which operates on weighted graphs.
  • Study the Minimum Spanning Tree (MST) problem and its characteristics.
  • Utilize Greedy algorithms, like Prim’s and Kruskal’s, to find the MST.
  • Decompose large problems using Dynamic Programming Techniques.
  • Apply Dynamic Programming techniques in the Longest Common Subsequence algorithm.
  • Grow Your Professional Network
  • Taught by Experts in the Field
Want to see all Massive Open Online Courses? section icon

Want to see all Massive Open Online Courses?

The course schedule was well-structured with a mix of lectures, class discussions, and hands-on exercises led by knowledgeable and engaging instructors.

- Abe Kani

Frequently Asked Questions

How do MOOCs work?

Designed for an online audience, MOOCs are available to anyone with an internet connection and are free to enroll. Some MOOCs can be started any time – others at regular intervals – and range in length from a few weeks to a few months to complete. You’ll have access to a wide range of online media and interactive tools, including video lectures, class exercises, discussions, and assessments.

Who can enroll in MOOCs?

Anyone with an internet connection can enroll. Sme courses may be unavailable in a small number of countries because of trade restrictions or government policies.

How do you enroll in a MOOC?

Visit a MOOC provider platforms — edX, Coursera, or Udacity — to enroll in a MOOC. Then, watch the pre-recorded lectures, learn from the course readings, and complete related work, like quizzes and in some cases, final projects.

How much do MOOCs cost?

Most courses are free, though there is a small fee if you opt to work towards a certificate of completion. Some courses count toward university credit—and some, like our online master’s program in computer science, offer a full degree. These credit-bearing courses do have fees and applications associated with them.

MOOC Credentials
Can I receive CEUs from completed a MOOC?

Yes, Georgia Tech offers CEUs for some completed MOOC courses taken through Coursera and edX. You have the option of purchasing CEUs after earning a verified course certificate.

What is a digital badge?

A digital badge is an acknowledgement that you've successfully completed a MOOC course. You can display your digital badge on your online profiles so that colleagues and employers can see your achievements at a glance.

What other credentials are available after completing a MOOC?

You can earn CEUs, digital badges, and verified certificates of completion. You can also use MOOCs as an alternate pathway to enter Georgia Tech master's programs through The Analytics: Essential Tools and Methods MicroMasters and the Online Master's in Computer Science.

Who issues the transcript or completion certification?

Certificates of completion are issued by the online providers edX, Coursera, and Udacity. Although they are a great way to showcase your skills, they are not the same as official academic credit from Georgia Tech. However, if you purchase CEUs (which are denoted by a badge), then you can request an official GTPE transcript for free.

Want to learn more about this course?