Logic and Computational Thinking

بواسطة: edX

Overview

Understanding how a computer "thinks" is one of the first steps to becoming an excellent computer programmer. A foundation in logic is crucial in developing this understanding. Mastering logic is more than learning a set of rules. It involves learning how to break problems into smaller chunks, figuring out how repeatable processes can save time and improve quality, and understanding how to organize problems into the right size.

In this course, you'll learn how to do all those things and use computers to make them easier. After all, logical tasks are what computers are best at doing!

This is not a programming course, but it will teach you how to approach critical thinking as both a lifestyle and an aide to better programming and testing.

Note: These courses will retire in June. Please enroll only if you are able to finish your coursework in time.

Syllabus

1. Module 0: Introduction to the course
a. What this course is about
i. Analytic logic and its relation to computer science
ii. Critical thinking as both a lifestyle and aide to better programming and testing
iii. Note: This is not a programming course
b. Let's get started: critical thinking and logical reasoning
i. What does it mean to think critically?
ii. An overview of definition, induction, and deduction
iii. Computer programming and logical thinking
2. Module 1: Deduction and Induction
a. Deduction and deductive syllogisms
i. Validity and invalidity
ii. Argument forms
iii. Deductive arguments and computer code
iv. Exercises
b. Induction and inductive syllogisms
i. Inductive arguments and critical thinking
ii. Exercises
c. Assessment
3. Module 2: Deductive Reasoning and Categorical Logic
a. Focus on how to discipline thinking to write better programs
b. The categorical statement
c. The categorical syllogism
d. Venn diagrams
e. Application to computer code
f. Exercises
g. Assessment
4. Module 3: Inductive Reasoning and Software Testing: How to think critically
a. The logic of science
b. Looking for the cause (Mill's Methods)
c. Critical thinking and modern science
d. Applying critical thinking skills to software testing
e. Assessment
5. Final Exam

Taught by

Paul Pardi

Logic and Computational Thinking
الذهاب الي الدورة

Logic and Computational Thinking

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version299msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (188ms)
    • Application (110ms)
    • 1 x Booting (62.92%)
      188.42ms
      1 x Application (36.83%)
      110.30ms
      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 executed7ms
      • select * from `courses` where `slug_ar` = 'logic-and-computational-thinking' limit 1
        5.62ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. logic-and-computational-thinking
        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-08 00:47:15' where `id` = 2454
        280μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-08 00:47:15
        • 1. 2454
        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)
        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 `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        190μ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 (62) and `institutions`.`deleted_at` is null
        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 * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        220μ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` = 2445 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2445
        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
        uY5HSHt6eSg1Z1icjx3vtzm9VgJfigzZVfzvEAqx
        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/logic-...
        _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/logic-and-computational-thinking
        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.44.164" ] "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 => "92cdc0989f0b0125-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.44.164" ] "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.44.164" "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" => "92cdc0989f0b0125-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.44.164" "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" => "24676" "REMOTE_ADDR" => "172.70.178.69" "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/logic-and-computational-thinking" "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" => 1744073235.5446 "REQUEST_TIME" => 1744073235 ]
        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 => "Tue, 08 Apr 2025 00:47:15 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Iit4MWVLMDZjaFRrU1luT2kxVHVqN1E9PSIsInZhbHVlIjoiejJjSWRZa0NBbENHK0R4SWtwaEpzdTR6VjA5THYwT3ZMdUNhNGU0Ukh1aDVRM2lwNHhqRlU2NDlxN044elJmaWo0WFprcFJxVVJmRW1sem9iUUpSSGJoSGhRZS9sTjVOMlZTSElBQlB3QzVTSXRyV3hYeTY4Wjh4WnJaSUM1Um8iLCJtYWMiOiI3OGNlODZkODdmYTJmODk3ZWM1YWQ1MTAwZTQwMGRiYjk0ZGRiYjMxZTc4ZTM0OWY2NTk5YzI1OTIyNzZlYzQ4IiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 02:47:15 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Iit4MWVLMDZjaFRrU1luT2kxVHVqN1E9PSIsInZhbHVlIjoiejJjSWRZa0NBbENHK0R4SWtwaEpzdTR6VjA5THYwT3ZMdUNhNGU0Ukh1aDVRM2lwNHhqRlU2NDlxN044elJmaWo0WFprc" 1 => "laravel_session=eyJpdiI6ImwzSkVBK3cvTW5PRVFMNmY0ak1RSGc9PSIsInZhbHVlIjoiZGdTcmlrclFIK0t5MVZjUHQ3WTJDNFNzL2E3dG0wcXMwQWQ1OWRnRVhJUGVTZUsxOWlQaG9KSkx4MkNzZzU3OWZiWDhIY0hlM3VQR21GUUErZ1dRMG16WmZ3TW5Pc1NpY1U5UCtYOTVaaXJUNTJGaXhVZDVaM1lkOGNtY2cyL24iLCJtYWMiOiI2OWY5ZDQyNjg3ZDUwYjk2YTJjZTA2YTdiMzE0YTBkOWQ2NzBlNTE2MTI5Yjk2ZDJhNTU4ZTZjYTcxYzY5ZDExIiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 02:47:15 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImwzSkVBK3cvTW5PRVFMNmY0ak1RSGc9PSIsInZhbHVlIjoiZGdTcmlrclFIK0t5MVZjUHQ3WTJDNFNzL2E3dG0wcXMwQWQ1OWRnRVhJUGVTZUsxOWlQaG9KSkx4MkNzZzU3OWZi" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Iit4MWVLMDZjaFRrU1luT2kxVHVqN1E9PSIsInZhbHVlIjoiejJjSWRZa0NBbENHK0R4SWtwaEpzdTR6VjA5THYwT3ZMdUNhNGU0Ukh1aDVRM2lwNHhqRlU2NDlxN044elJmaWo0WFprcFJxVVJmRW1sem9iUUpSSGJoSGhRZS9sTjVOMlZTSElBQlB3QzVTSXRyV3hYeTY4Wjh4WnJaSUM1Um8iLCJtYWMiOiI3OGNlODZkODdmYTJmODk3ZWM1YWQ1MTAwZTQwMGRiYjk0ZGRiYjMxZTc4ZTM0OWY2NTk5YzI1OTIyNzZlYzQ4IiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 02:47:15 GMT; path=/XSRF-TOKEN=eyJpdiI6Iit4MWVLMDZjaFRrU1luT2kxVHVqN1E9PSIsInZhbHVlIjoiejJjSWRZa0NBbENHK0R4SWtwaEpzdTR6VjA5THYwT3ZMdUNhNGU0Ukh1aDVRM2lwNHhqRlU2NDlxN044elJmaWo0WFprc" 1 => "laravel_session=eyJpdiI6ImwzSkVBK3cvTW5PRVFMNmY0ak1RSGc9PSIsInZhbHVlIjoiZGdTcmlrclFIK0t5MVZjUHQ3WTJDNFNzL2E3dG0wcXMwQWQ1OWRnRVhJUGVTZUsxOWlQaG9KSkx4MkNzZzU3OWZiWDhIY0hlM3VQR21GUUErZ1dRMG16WmZ3TW5Pc1NpY1U5UCtYOTVaaXJUNTJGaXhVZDVaM1lkOGNtY2cyL24iLCJtYWMiOiI2OWY5ZDQyNjg3ZDUwYjk2YTJjZTA2YTdiMzE0YTBkOWQ2NzBlNTE2MTI5Yjk2ZDJhNTU4ZTZjYTcxYzY5ZDExIiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 02:47:15 GMT; path=/; httponlylaravel_session=eyJpdiI6ImwzSkVBK3cvTW5PRVFMNmY0ak1RSGc9PSIsInZhbHVlIjoiZGdTcmlrclFIK0t5MVZjUHQ3WTJDNFNzL2E3dG0wcXMwQWQ1OWRnRVhJUGVTZUsxOWlQaG9KSkx4MkNzZzU3OWZi" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "uY5HSHt6eSg1Z1icjx3vtzm9VgJfigzZVfzvEAqx" "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/logic-and-computational-thinking" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]