CS50's Introduction to Artificial Intelligence with Python

Brought by: edX

Overview

This course explores the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation. Through hands-on projects, students gain exposure to the theory behind graph search algorithms, classification, optimization, machine learning, large language models, and other topics in artificial intelligence as they incorporate them into their own Python programs. By course’s end, students emerge with experience in libraries for machine learning as well as knowledge of artificial intelligence principles that enable them to design intelligent systems of their own.

Taught by

David J. Malan and Brian Yu

CS50's Introduction to Artificial Intelligence with Python
Go to course

CS50's Introduction to Artificial Intelligence with Python

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Available
  • Certain days
  • beginner
  • English
8.1.2PHP Version277msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (173ms)
    • Application (103ms)
    • 1 x Booting (62.58%)
      173.42ms
      1 x Application (37.17%)
      103.02ms
      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 en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed3.74ms
      • select * from `courses` where `slug_en` = 'cs50\'s-introduction-to-artificial-intelligence-with-python' limit 1
        2.17ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. cs50's-introduction-to-artificial-intelligence-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-05-30 15:44:42' where `id` = 33
        460μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-30 15:44:42
        • 1. 33
        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 (3)
        180μ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)
        150μ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 (1) and `institutions`.`deleted_at` is null
        330μ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
        250μ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` = 33 limit 1
        200μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 33
        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
        YT5x17NdsU7Zmtsq802OFtJUCo4d2OHPoee4ZVy9
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/cs50%27s-introduction-to-artificial-intel...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/cs50%27s-introduction-to-artificial-intelligence-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 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.135.229.106" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.135.229.106" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "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" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "947f5ab71bf713a0-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.135.229.106" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.135.229.106" "HTTP_SEC_FETCH_SITE" => "none" "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_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "947f5ab71bf713a0-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => "37990" "REMOTE_ADDR" => "172.69.17.162" "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" => "/en/courses/cs50%27s-introduction-to-artificial-intelligence-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" => 1748619882.3607 "REQUEST_TIME" => 1748619882 ]
        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 => "Fri, 30 May 2025 15:44:42 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjFtNVN3a1I3aHBqNFFPRCszV0NCZXc9PSIsInZhbHVlIjoiRXcyMnFTQXJxSEVSWW9MaVFDS1B5QjY2MjNSeVl1WWtJa0cyKzhhUW9qdkdzTnpCWW04cWx4aHlaa3h4bkxXVW9qcGpGand3ZzdKYnNDYkpxYTdkVXJ0ZHBPNCsxcHNBdUtrY2orc0hiMncvMURnUStzUlVRc0hNeGVuQmcvL3YiLCJtYWMiOiJhYjdmY2NiYTMxOGI4MzM2MjJiZjlkY2I2NTg5YTQ5NWJlZTk3YzM4N2ZhYjQyMWRlZTc2ZGE4M2U4ZDNiNTFhIiwidGFnIjoiIn0%3D; expires=Fri, 30 May 2025 17:44:42 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjFtNVN3a1I3aHBqNFFPRCszV0NCZXc9PSIsInZhbHVlIjoiRXcyMnFTQXJxSEVSWW9MaVFDS1B5QjY2MjNSeVl1WWtJa0cyKzhhUW9qdkdzTnpCWW04cWx4aHlaa3h4bkxXVW9qcGpGa" 1 => "laravel_session=eyJpdiI6IjNwamdmRDNKVlFPekZ6RnQwT2gzVEE9PSIsInZhbHVlIjoid1R2cTVCSmpiZWNhbHdycmZkWGpRRTk5ejJuMStTKzZCS2J4aHNFV0NFQ1oyZlhpYWFCeXFaUlVGc2xFbDZRc09GZkx4K3N3N2dtWUQ2QVZNQnVaSy9WaC9FUitTdEtWSjRtL3pSK2Jsb1BDZGVxL1phSEl2UG1Idnp3NWR2ZVIiLCJtYWMiOiIxOWUzMTMzOGI5YTAwYWNkNTY3YmY3ODI1ZmQ3NjJkMjYwOTUzZmE5OGMwZWQ0ZGE4NTA0NzMxYTQxMDY3MWQ5IiwidGFnIjoiIn0%3D; expires=Fri, 30 May 2025 17:44:42 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjNwamdmRDNKVlFPekZ6RnQwT2gzVEE9PSIsInZhbHVlIjoid1R2cTVCSmpiZWNhbHdycmZkWGpRRTk5ejJuMStTKzZCS2J4aHNFV0NFQ1oyZlhpYWFCeXFaUlVGc2xFbDZRc09G" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjFtNVN3a1I3aHBqNFFPRCszV0NCZXc9PSIsInZhbHVlIjoiRXcyMnFTQXJxSEVSWW9MaVFDS1B5QjY2MjNSeVl1WWtJa0cyKzhhUW9qdkdzTnpCWW04cWx4aHlaa3h4bkxXVW9qcGpGand3ZzdKYnNDYkpxYTdkVXJ0ZHBPNCsxcHNBdUtrY2orc0hiMncvMURnUStzUlVRc0hNeGVuQmcvL3YiLCJtYWMiOiJhYjdmY2NiYTMxOGI4MzM2MjJiZjlkY2I2NTg5YTQ5NWJlZTk3YzM4N2ZhYjQyMWRlZTc2ZGE4M2U4ZDNiNTFhIiwidGFnIjoiIn0%3D; expires=Fri, 30-May-2025 17:44:42 GMT; path=/XSRF-TOKEN=eyJpdiI6IjFtNVN3a1I3aHBqNFFPRCszV0NCZXc9PSIsInZhbHVlIjoiRXcyMnFTQXJxSEVSWW9MaVFDS1B5QjY2MjNSeVl1WWtJa0cyKzhhUW9qdkdzTnpCWW04cWx4aHlaa3h4bkxXVW9qcGpGa" 1 => "laravel_session=eyJpdiI6IjNwamdmRDNKVlFPekZ6RnQwT2gzVEE9PSIsInZhbHVlIjoid1R2cTVCSmpiZWNhbHdycmZkWGpRRTk5ejJuMStTKzZCS2J4aHNFV0NFQ1oyZlhpYWFCeXFaUlVGc2xFbDZRc09GZkx4K3N3N2dtWUQ2QVZNQnVaSy9WaC9FUitTdEtWSjRtL3pSK2Jsb1BDZGVxL1phSEl2UG1Idnp3NWR2ZVIiLCJtYWMiOiIxOWUzMTMzOGI5YTAwYWNkNTY3YmY3ODI1ZmQ3NjJkMjYwOTUzZmE5OGMwZWQ0ZGE4NTA0NzMxYTQxMDY3MWQ5IiwidGFnIjoiIn0%3D; expires=Fri, 30-May-2025 17:44:42 GMT; path=/; httponlylaravel_session=eyJpdiI6IjNwamdmRDNKVlFPekZ6RnQwT2gzVEE9PSIsInZhbHVlIjoid1R2cTVCSmpiZWNhbHdycmZkWGpRRTk5ejJuMStTKzZCS2J4aHNFV0NFQ1oyZlhpYWFCeXFaUlVGc2xFbDZRc09G" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "YT5x17NdsU7Zmtsq802OFtJUCo4d2OHPoee4ZVy9" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/cs50%27s-introduction-to-artificial-intelligence-with-python" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]