Algorithmic Thinking (Part 1)

بواسطة: Coursera

Overview

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part course builds on the principles that you learned in our Principles of Computing course and is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to real-world computational problems.

In part 1 of this course, we will study the notion of algorithmic efficiency and consider its application to several problems from graph theory. As the central part of the course, students will implement several important graph algorithms in Python and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms.

Recommended Background - Students should be comfortable writing intermediate size (300+ line) programs in Python and have a basic understanding of searching, sorting, and recursion. Students should also have a solid math background that includes algebra, pre-calculus and a familiarity with the math concepts covered in "Principles of Computing".

Syllabus

  • Module 1 - Core Materials
    • What is Algorithmic Thinking?, class structure, graphs, brute-force algorithms
  • Modules 1 - Project and Application
    • Graph representations, plotting, analysis of citation graphs
  • Module 2 - Core Materials
    • Asymptotic analysis, "big O" notation, pseudocode, breadth-first search
  • Module 2 - Project and Application
    • Connected components, graph resilience, and analysis of computer networks

Taught by

Luay Nakhleh, Scott Rixner and Joe Warren

Algorithmic Thinking (Part 1)
الذهاب الي الدورة

Algorithmic Thinking (Part 1)

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • intermediate
  • Arabic, French, Portuguese, Italian, German, Russian, English, Spanish, Korean, Telugu, Greek, Thai, Indonesian, Kazakh, Hindi, Swedish, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish
8.1.2PHP Version283msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (181ms)
    • Application (102ms)
    • 1 x Booting (63.83%)
      180.62ms
      1 x Application (35.93%)
      101.66ms
      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 executed4.4ms
      • select * from `courses` where `slug_ar` = 'algorithmic-thinking-(part-1)' limit 1
        3.03ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. algorithmic-thinking-(part-1)
        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-10 07:59:24' where `id` = 56
        560μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-10 07:59:24
        • 1. 56
        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)
        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)
        130μ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 (12) and `institutions`.`deleted_at` is null
        150μ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 (2) and `providers`.`deleted_at` is null
        150μ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` = 56 limit 1
        200μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 56
        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
        Nnw7s1vACOeVNixRR8g08pmD3YqwYGO9pR8jJgop
        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/algori...
        _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/algorithmic-thinking-%28part-1%29
        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.144.2.213" ] "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 => "92e0b461d8546189-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 => "3.144.2.213" ] "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.144.2.213" "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" => "92e0b461d8546189-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" => "3.144.2.213" "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" => "25364" "REMOTE_ADDR" => "172.69.7.195" "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/algorithmic-thinking-%28part-1%29" "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" => 1744271964.7067 "REQUEST_TIME" => 1744271964 ]
        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 => "Thu, 10 Apr 2025 07:59:24 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjAwc21OQnRDWGQ0eHdHSi81QmY1MlE9PSIsInZhbHVlIjoiWGQ5Mm1TOXJMb1JaUVRGcnZBNnQrQ3l6VGxBaXE3NHJ5VVR5WUZxVnpPa1c1Z1FsN2R0M2laMU15dTNnMVh5RnpYSUJKQjlHdndkQmVTcW4vV1lnL1BlMDFDTU9oaElDOWlrRStGY3ZNL2h1YzFVM0hOaFpNSk5IMmx4djBVOGEiLCJtYWMiOiIwMzhkOWM5MGUzOTgzYzY4ZWIxNTc0NjczYWYzYzk5YjUzMGJmZmU1OWI3NjBlZWZmNzI4NzZhOTNiNTRkNWY3IiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 09:59:24 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjAwc21OQnRDWGQ0eHdHSi81QmY1MlE9PSIsInZhbHVlIjoiWGQ5Mm1TOXJMb1JaUVRGcnZBNnQrQ3l6VGxBaXE3NHJ5VVR5WUZxVnpPa1c1Z1FsN2R0M2laMU15dTNnMVh5RnpYSUJKQ" 1 => "laravel_session=eyJpdiI6Im9pcU5NaFNTK2JmMDNOUU1WeVZJVXc9PSIsInZhbHVlIjoiYmZUUkUyT3BoVjRQSW1oQUgrWEZFVDhlRFQxb0JUZjZ1b2hxR2t0amZWRnFtSDNleTR1ZXV2eVZWQ3JtOG1DQzZuMnRCMVh5eC8xYldITXoxV3RUTnNNRW5PUit6TVlOOEtjMFVYRThCTEVtS01uL2pWSDlSMzgyL1QrVUpmc3YiLCJtYWMiOiJlZWM2MDA2MzBjNTIzZDdhNjNhOTMzNjY3NDJiOWM5M2NlMTMwYjUxZjRjZTE4YjJlYjRiODBlZWUwNzM4ZDllIiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 09:59:24 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Im9pcU5NaFNTK2JmMDNOUU1WeVZJVXc9PSIsInZhbHVlIjoiYmZUUkUyT3BoVjRQSW1oQUgrWEZFVDhlRFQxb0JUZjZ1b2hxR2t0amZWRnFtSDNleTR1ZXV2eVZWQ3JtOG1DQzZu" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjAwc21OQnRDWGQ0eHdHSi81QmY1MlE9PSIsInZhbHVlIjoiWGQ5Mm1TOXJMb1JaUVRGcnZBNnQrQ3l6VGxBaXE3NHJ5VVR5WUZxVnpPa1c1Z1FsN2R0M2laMU15dTNnMVh5RnpYSUJKQjlHdndkQmVTcW4vV1lnL1BlMDFDTU9oaElDOWlrRStGY3ZNL2h1YzFVM0hOaFpNSk5IMmx4djBVOGEiLCJtYWMiOiIwMzhkOWM5MGUzOTgzYzY4ZWIxNTc0NjczYWYzYzk5YjUzMGJmZmU1OWI3NjBlZWZmNzI4NzZhOTNiNTRkNWY3IiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 09:59:24 GMT; path=/XSRF-TOKEN=eyJpdiI6IjAwc21OQnRDWGQ0eHdHSi81QmY1MlE9PSIsInZhbHVlIjoiWGQ5Mm1TOXJMb1JaUVRGcnZBNnQrQ3l6VGxBaXE3NHJ5VVR5WUZxVnpPa1c1Z1FsN2R0M2laMU15dTNnMVh5RnpYSUJKQ" 1 => "laravel_session=eyJpdiI6Im9pcU5NaFNTK2JmMDNOUU1WeVZJVXc9PSIsInZhbHVlIjoiYmZUUkUyT3BoVjRQSW1oQUgrWEZFVDhlRFQxb0JUZjZ1b2hxR2t0amZWRnFtSDNleTR1ZXV2eVZWQ3JtOG1DQzZuMnRCMVh5eC8xYldITXoxV3RUTnNNRW5PUit6TVlOOEtjMFVYRThCTEVtS01uL2pWSDlSMzgyL1QrVUpmc3YiLCJtYWMiOiJlZWM2MDA2MzBjNTIzZDdhNjNhOTMzNjY3NDJiOWM5M2NlMTMwYjUxZjRjZTE4YjJlYjRiODBlZWUwNzM4ZDllIiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 09:59:24 GMT; path=/; httponlylaravel_session=eyJpdiI6Im9pcU5NaFNTK2JmMDNOUU1WeVZJVXc9PSIsInZhbHVlIjoiYmZUUkUyT3BoVjRQSW1oQUgrWEZFVDhlRFQxb0JUZjZ1b2hxR2t0amZWRnFtSDNleTR1ZXV2eVZWQ3JtOG1DQzZu" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "Nnw7s1vACOeVNixRR8g08pmD3YqwYGO9pR8jJgop" "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/algorithmic-thinking-%28part-1%29" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]