Introduction to Computer Science and Programming Using Python

Brought by: edX

Overview

This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. Some of the people taking the two courses will use them as a stepping stone to more advanced computer science courses, but for many it will be their first and last computer science courses. This run features lecture videos, lecture exercises, and problem sets using Python 3.5. Even if you previously took the course with Python 2.7, you will be able to easily transition to Python 3.5 in future courses, or enroll now to refresh your learning.

Since these courses may be the only formal computer science courses many of the students take, we have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics so they will have an idea of what is possible when they need to think about how to use computation to accomplish some goal later in their career. That said, they are not "computation appreciation" courses. They are challenging and rigorous courses in which the students spend a lot of time and effort learning to bend the computer to their will

Taught by

Ana Bell, Eric Grimson and John Guttag

Introduction to Computer Science and Programming Using Python
Go to course

Introduction to Computer Science and Programming Using Python

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Available
  • Certain days
  • beginner
  • English
8.1.2PHP Version253msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (153ms)
    • Application (98.82ms)
    • 1 x Booting (60.63%)
      153.11ms
      1 x Application (39.13%)
      98.82ms
      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.95ms
      • select * from `courses` where `slug_en` = 'introduction-to-computer-science-and-programming-using-python' limit 1
        2.01ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. introduction-to-computer-science-and-programming-using-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-04-21 17:28:10' where `id` = 4
        1.01ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-21 17:28:10
        • 1. 4
        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 (1)
        230μ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)
        210μ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 (3) and `institutions`.`deleted_at` is null
        170μ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
        140μ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` = 4 limit 1
        180μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 4
        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
        MJMkgYPH3coxeHsl7oc55R8rapxsn1G2TknmZ1UZ
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/introduction-to-computer-science-and-prog...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/introduction-to-computer-science-and-programming-using-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 => "18.216.17.239" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "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 => "933e98a68ae2aca8-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" ] "x-forwarded-for" => array:1 [ 0 => "18.216.17.239" ] "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" => "18.216.17.239" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "933e98a68ae2aca8-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "18.216.17.239" "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" => "65456" "REMOTE_ADDR" => "108.162.216.236" "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/introduction-to-computer-science-and-programming-using-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" => 1745256490.2831 "REQUEST_TIME" => 1745256490 ]
        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 => "Mon, 21 Apr 2025 17:28:10 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ik8rMU9IQzlndE5KamI3dlgydVNTZ3c9PSIsInZhbHVlIjoid05tcWw3OWlrTlJjZzNRbHIyRGx3NWN4dHJwNldqSHdUZ0tLaUY5SnFuWnpiN2xlRkFWV3JjdHJFQ2hsckVDKzVLcXZZa0JkY2JOaTMzNURYS2x2Zi9kOWxUQzRkUzBJeVBKdzQ3cVA1K1Y5VmQ5MHVOSzQwdWFzWnJsWGR4c1giLCJtYWMiOiJhN2Q0Yzk3NmM0MmU0YWJkZTRiMTI0MGM3OWRjM2NiNGM3YzEyZjhiMDM4ODQ4NGNiNzJkMzA3NjllMWEwNjM4IiwidGFnIjoiIn0%3D; expires=Mon, 21 Apr 2025 19:28:10 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ik8rMU9IQzlndE5KamI3dlgydVNTZ3c9PSIsInZhbHVlIjoid05tcWw3OWlrTlJjZzNRbHIyRGx3NWN4dHJwNldqSHdUZ0tLaUY5SnFuWnpiN2xlRkFWV3JjdHJFQ2hsckVDKzVLcXZZa" 1 => "laravel_session=eyJpdiI6Ik9PaS9temxrYlhIUjZzSWlIeURKVnc9PSIsInZhbHVlIjoicVNoQXA5MFEvbzhWQ2V6Sy9vSFhveWFwM1NiL2lZR2dtbXJoaHJuSG9XTHlCbDhURk4vWU1zMDdHREc4V1pWYk44UGhRRDJUcVFpUFRTVE80a0p5SXArNEJ6NEU3aTZrRkNkRUNmekJSVWdmRnRPbUttcFo0akRjc0pmNnlXUnMiLCJtYWMiOiI0NTZhMmYwZmY3YmJhNmE2ZTgwZmUxYWI2MzdiOGJkZWIyM2MwMTFjZjgwOGJlZWM3ZGI2ZWM0YjE3ZmI0MmRiIiwidGFnIjoiIn0%3D; expires=Mon, 21 Apr 2025 19:28:10 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Ik9PaS9temxrYlhIUjZzSWlIeURKVnc9PSIsInZhbHVlIjoicVNoQXA5MFEvbzhWQ2V6Sy9vSFhveWFwM1NiL2lZR2dtbXJoaHJuSG9XTHlCbDhURk4vWU1zMDdHREc4V1pWYk44" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ik8rMU9IQzlndE5KamI3dlgydVNTZ3c9PSIsInZhbHVlIjoid05tcWw3OWlrTlJjZzNRbHIyRGx3NWN4dHJwNldqSHdUZ0tLaUY5SnFuWnpiN2xlRkFWV3JjdHJFQ2hsckVDKzVLcXZZa0JkY2JOaTMzNURYS2x2Zi9kOWxUQzRkUzBJeVBKdzQ3cVA1K1Y5VmQ5MHVOSzQwdWFzWnJsWGR4c1giLCJtYWMiOiJhN2Q0Yzk3NmM0MmU0YWJkZTRiMTI0MGM3OWRjM2NiNGM3YzEyZjhiMDM4ODQ4NGNiNzJkMzA3NjllMWEwNjM4IiwidGFnIjoiIn0%3D; expires=Mon, 21-Apr-2025 19:28:10 GMT; path=/XSRF-TOKEN=eyJpdiI6Ik8rMU9IQzlndE5KamI3dlgydVNTZ3c9PSIsInZhbHVlIjoid05tcWw3OWlrTlJjZzNRbHIyRGx3NWN4dHJwNldqSHdUZ0tLaUY5SnFuWnpiN2xlRkFWV3JjdHJFQ2hsckVDKzVLcXZZa" 1 => "laravel_session=eyJpdiI6Ik9PaS9temxrYlhIUjZzSWlIeURKVnc9PSIsInZhbHVlIjoicVNoQXA5MFEvbzhWQ2V6Sy9vSFhveWFwM1NiL2lZR2dtbXJoaHJuSG9XTHlCbDhURk4vWU1zMDdHREc4V1pWYk44UGhRRDJUcVFpUFRTVE80a0p5SXArNEJ6NEU3aTZrRkNkRUNmekJSVWdmRnRPbUttcFo0akRjc0pmNnlXUnMiLCJtYWMiOiI0NTZhMmYwZmY3YmJhNmE2ZTgwZmUxYWI2MzdiOGJkZWIyM2MwMTFjZjgwOGJlZWM3ZGI2ZWM0YjE3ZmI0MmRiIiwidGFnIjoiIn0%3D; expires=Mon, 21-Apr-2025 19:28:10 GMT; path=/; httponlylaravel_session=eyJpdiI6Ik9PaS9temxrYlhIUjZzSWlIeURKVnc9PSIsInZhbHVlIjoicVNoQXA5MFEvbzhWQ2V6Sy9vSFhveWFwM1NiL2lZR2dtbXJoaHJuSG9XTHlCbDhURk4vWU1zMDdHREc4V1pWYk44" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "MJMkgYPH3coxeHsl7oc55R8rapxsn1G2TknmZ1UZ" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/introduction-to-computer-science-and-programming-using-python" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]