Advanced Algorithmics and Graph Theory with Python

بواسطة: edX

Overview

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.

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

Taught by

Vincent Gripon, Patrick Meyer, Nicolas Farrugia, Carlos Eduardo Rosar Kos Lassance and Ghouti Boukli Hacene

Advanced Algorithmics and Graph Theory with Python
الذهاب الي الدورة

Advanced Algorithmics and Graph Theory with Python

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • intermediate
  • English
8.1.2PHP Version308msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (192ms)
    • Application (116ms)
    • 1 x Booting (62.14%)
      191.53ms
      1 x Application (37.61%)
      115.94ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed5.73ms
      • select * from `courses` where `slug_ar` = 'advanced-algorithmics-and-graph-theory-with-python' limit 1
        4.14ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. advanced-algorithmics-and-graph-theory-with-python
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-02-22 14:49:42' where `id` = 701
        400μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-02-22 14:49:42
        • 1. 701
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (6)
        280μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (57) and `institutions`.`deleted_at` is null
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 695 limit 1
        280μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 695
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        r2USzHlbKHvddmyB64BsOmSCJfzDyL0N4PwwdQUu
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanc...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanced-algorithmics-and-graph-theory-with-python
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "18.218.106.24" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.218.106.24" ] "cf-ray" => array:1 [ 0 => "915fc8c4ae2475e4-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "18.218.106.24" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.218.106.24" "HTTP_CF_RAY" => "915fc8c4ae2475e4-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "60352" "REMOTE_ADDR" => "172.69.17.52" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanced-algorithmics-and-graph-theory-with-python" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1740235782.1032 "REQUEST_TIME" => 1740235782 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 22 Feb 2025 14:49:42 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkN6Wm9RQ1d4NTNLb1FsNXVGdlJselE9PSIsInZhbHVlIjoiQlM2MGN5aEtoTWhZb2l1ZDUzT25TWjZCQlVyeWg2VFU0akRia3ZTYzNjRTJQOXNNcFF2eWtpM2h5SE4wYWpNTCtRRDJyK2IwYlYzZ09ZUXNFck9FQ3lRTXQ3ZlRWV1ZiQ1VrcFIzaHZSd1ByTEJkNEtmV3RHYzdGVm8wVE5PODMiLCJtYWMiOiJiYjY0MDk1NWE3NTJmNWE1YjYwZWFkNDYxZmRjZDljY2M2YjliOTQ5YTg5YTRjZDE1YWNhZTQyNmYyYTg0NTk2IiwidGFnIjoiIn0%3D; expires=Sat, 22 Feb 2025 16:49:42 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkN6Wm9RQ1d4NTNLb1FsNXVGdlJselE9PSIsInZhbHVlIjoiQlM2MGN5aEtoTWhZb2l1ZDUzT25TWjZCQlVyeWg2VFU0akRia3ZTYzNjRTJQOXNNcFF2eWtpM2h5SE4wYWpNTCtRRDJyK" 1 => "laravel_session=eyJpdiI6IlloeUlMeG1WUGt1WVhNakRWNStIS1E9PSIsInZhbHVlIjoicmdIK1haVEROc1hyZGtIRDN3S2p0Vjk0Q2pvWHB4L2lQTjhBYUd0T1NvQXdwaUpZYm9qT2ZrcVhUbklqd2l3UHZUUWlGaGxzZnZNYXpWZlVPeDJKSkorOWhCeGE1WGNRYW9wTFpLUHA4SkNVaGd4cEVLMjQvNGRqTDY0NTNTYnYiLCJtYWMiOiJmZjE4ZmY1MzAxNDZhYjNhYWU3ZjBiZDM3OGI4NjlkYWVhYTJmZjBjNWQzMjg3MDFjZWZlODYxZjc0MThhNzgwIiwidGFnIjoiIn0%3D; expires=Sat, 22 Feb 2025 16:49:42 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlloeUlMeG1WUGt1WVhNakRWNStIS1E9PSIsInZhbHVlIjoicmdIK1haVEROc1hyZGtIRDN3S2p0Vjk0Q2pvWHB4L2lQTjhBYUd0T1NvQXdwaUpZYm9qT2ZrcVhUbklqd2l3UHZU" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkN6Wm9RQ1d4NTNLb1FsNXVGdlJselE9PSIsInZhbHVlIjoiQlM2MGN5aEtoTWhZb2l1ZDUzT25TWjZCQlVyeWg2VFU0akRia3ZTYzNjRTJQOXNNcFF2eWtpM2h5SE4wYWpNTCtRRDJyK2IwYlYzZ09ZUXNFck9FQ3lRTXQ3ZlRWV1ZiQ1VrcFIzaHZSd1ByTEJkNEtmV3RHYzdGVm8wVE5PODMiLCJtYWMiOiJiYjY0MDk1NWE3NTJmNWE1YjYwZWFkNDYxZmRjZDljY2M2YjliOTQ5YTg5YTRjZDE1YWNhZTQyNmYyYTg0NTk2IiwidGFnIjoiIn0%3D; expires=Sat, 22-Feb-2025 16:49:42 GMT; path=/XSRF-TOKEN=eyJpdiI6IkN6Wm9RQ1d4NTNLb1FsNXVGdlJselE9PSIsInZhbHVlIjoiQlM2MGN5aEtoTWhZb2l1ZDUzT25TWjZCQlVyeWg2VFU0akRia3ZTYzNjRTJQOXNNcFF2eWtpM2h5SE4wYWpNTCtRRDJyK" 1 => "laravel_session=eyJpdiI6IlloeUlMeG1WUGt1WVhNakRWNStIS1E9PSIsInZhbHVlIjoicmdIK1haVEROc1hyZGtIRDN3S2p0Vjk0Q2pvWHB4L2lQTjhBYUd0T1NvQXdwaUpZYm9qT2ZrcVhUbklqd2l3UHZUUWlGaGxzZnZNYXpWZlVPeDJKSkorOWhCeGE1WGNRYW9wTFpLUHA4SkNVaGd4cEVLMjQvNGRqTDY0NTNTYnYiLCJtYWMiOiJmZjE4ZmY1MzAxNDZhYjNhYWU3ZjBiZDM3OGI4NjlkYWVhYTJmZjBjNWQzMjg3MDFjZWZlODYxZjc0MThhNzgwIiwidGFnIjoiIn0%3D; expires=Sat, 22-Feb-2025 16:49:42 GMT; path=/; httponlylaravel_session=eyJpdiI6IlloeUlMeG1WUGt1WVhNakRWNStIS1E9PSIsInZhbHVlIjoicmdIK1haVEROc1hyZGtIRDN3S2p0Vjk0Q2pvWHB4L2lQTjhBYUd0T1NvQXdwaUpZYm9qT2ZrcVhUbklqd2l3UHZU" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "r2USzHlbKHvddmyB64BsOmSCJfzDyL0N4PwwdQUu" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/advanced-algorithmics-and-graph-theory-with-python" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]