Skip to main contentSkip to Xpert Chatbot

IMTx: Advanced Algorithmics and Graph Theory with Python

Strengthen your skills in algorithmics and graph theory, and gain experience in programming in Python along the way.

Advanced Algorithmics and Graph Theory with Python
6 weeks
2–4 hours per week
Instructor-paced
Instructor-led on a course schedule
This course is archived

About this course

Skip About this course

Algorithmics and programming are fundamental skills for engineering students, data scientists and analysts, computer hobbyists or developers.

Learning how to program algorithms can be tedious if you aren’t given an opportunity to immediately practice what you learn. In this course, you won't just focus on theory or study a simple catalog of methods, procedures, and concepts. Instead, you’ll be given a challenge wherein you'll be asked to beat an algorithm we’ve written for you by coming up with your own clever solution.

To be specific, you’ll have to work out a route faster than your opponent through a maze while picking up objects.

Each week, you will learn new material to improve your artificial intelligence in order to beat your opponent. This structure means that as a learner, you’ll confront each abstract notion with a real-world problem.

We’ll go over data-structures, basic and advanced algorithms for graph theory, complexity/accuracy trade-offs, and even combinatorial game theory.

This course has received financial support from the Patrick and Lina Drahi Foundation.

At a glance

  • Institution: IMTx
  • Subject: Computer Science
  • Level: Intermediate
  • Prerequisites:

    Some familiarity with Python 3 and basic mathematics.

  • Language: English
  • Video Transcript: English
  • Associated skills:Game Theory, Artificial Intelligence, Algorithms, Data Structures, Graph Theory, Python (Programming Language), Go (Programming Language)

What you'll learn

Skip What you'll learn
  • Ways to express a computational problem (such as pathfinding) using graph theory
  • How to choose the appropriate algorithm to solve the given computational problem
  • How to code the algorithmic solution in python
  • Methods for evaluating the proposed solution in terms of its complexity (amount of resources, scalability) or performance (accuracy, latency)

Week 1:Fundamentals of Graph Theory, Problem Solving, Good Programming Practices
Week 2: Graph Traversal, Routing, Queuing Structures
Week 3:Shortest Paths, Min-Heaps, Algorithmic Complexity
Week 4:NP-Completeness, Traveling Salesman Problem, Backtracking
Week 5:Heuristics, Greedy Approaches, Accuracy/Complexity tradeoff
Week 6:Combinatorial Game Theory, Winning Strategies

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.