EdX

Advanced Algorithmics and Graph Theory with Python (edX)

Advanced Algorithmics and Graph Theory with Python (edX)

Strengthen your skills in algorithmics and graph theory, and gain experience in programming in Python along the way. 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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 is supported by the Patrick and Lina Drahi Foundation.

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)

Syllabus

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

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

LAFF – On Programming for Correctness (edX) EdX
University of Texas at Austin,UTAustinX

LAFF – On Programming for Correctness (edX)

Learn to apply formal methods to systematically develop correct, loop-based programs, an essential skill for computer programmers. Is my program correct? Will it give the right output for all possible permitted inputs? Computers are now essential in everyday life. Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced
Python for Data Science (edX) EdX
University of California, San Diego,UC San DiegoX

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access to a large dataset, would you be able to find the answers you seek?

Self Paced
Self-Paced
CS50's Introduction to Artificial Intelligence with Python (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Artificial Intelligence with Python (edX)

Learn to use machine learning in Python in this introductory course on artificial intelligence. AI is transforming how we live, work, and play. By enabling new technologies like self-driving cars and recommendation systems or improving old ones like medical diagnostics and search engines, the demand for expertise in AI and machine learning is growing rapidly. This course will enable you to take the first step toward solving important real-world problems and future-proofing your career.

Self Paced
Self-Paced
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

Self Paced
Self-Paced
Introducción a la programación en C: Tipos de datos y estructuras (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Tipos de datos y estructuras (edX)

Aprende a programar en C, uno de los lenguajes de programación más usados. En este curso en línea adquirirás los conocimientos necesarios para comenzar a convertirte en un experto en C. Este curso en línea te permitirá aprender los conceptos básicos que te ayudarán a desarrollar las habilidades de programación necesarias para iniciarte en el lenguaje C.

Self Paced
Self-Paced
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced