Logic and Computational Thinking

Brought by: 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
Go to course

Logic and Computational Thinking

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Not Available
  • Certain days
  • All
  • N/A
8.1.2PHP Version232msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (141ms)
    • Application (90.17ms)
    • 1 x Booting (60.91%)
      141.37ms
      1 x Application (38.85%)
      90.17ms
      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 executed6.32ms
      • select * from `courses` where `slug_en` = 'logic-and-computational-thinking' limit 1
        4.58ms/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-12 13:52:14' where `id` = 2454
        700μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-12 13:52:14
        • 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)
        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 `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        200μ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
        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 `providers` where `providers`.`id` in (1) and `providers`.`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 `html_files` where `html_files`.`id` = 2445 limit 1
        230μ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
        2SJcOUqx8FJCB02lOhBkefaOrd2NUowg4EtlKqXA
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/logic-and-computational-thinking" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/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 [ "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" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.21.34.214" ] "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" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "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 => "3.21.34.214" ] "cf-ray" => array:1 [ 0 => "92f333f53b8986ff-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_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.21.34.214" "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_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.21.34.214" "HTTP_CF_RAY" => "92f333f53b8986ff-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" => "31808" "REMOTE_ADDR" => "172.70.131.152" "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/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" => 1744465933.8733 "REQUEST_TIME" => 1744465933 ]
        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, 12 Apr 2025 13:52:14 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjF4d3FwY0R3ZzlqYnR6ZXZsd0JGVmc9PSIsInZhbHVlIjoiTXZ1UDFmazF0a3NYYncwckFQdVFpeHQvOVNkQWZ1aHlIVnVHMTdXWnNkTkhFVG1VS08zMldVR3V0WWN6MkZOb1VjMlhqZlEwb1NlU09xVEoyTC9LT2tnYXJZZlVRQ0JscXdMb2htUjR6RDdRK2haaitId1grb0E0dmp4TWFuRy8iLCJtYWMiOiIwYmJiOGQ5OTNiZTlhZTUxZDhlMzIyYzVjYWMxZDAwM2IwYjE0Y2VhZDRmN2JhMTRkNDliYTEyNGNhNjhkNmVkIiwidGFnIjoiIn0%3D; expires=Sat, 12 Apr 2025 15:52:14 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjF4d3FwY0R3ZzlqYnR6ZXZsd0JGVmc9PSIsInZhbHVlIjoiTXZ1UDFmazF0a3NYYncwckFQdVFpeHQvOVNkQWZ1aHlIVnVHMTdXWnNkTkhFVG1VS08zMldVR3V0WWN6MkZOb1VjMlhqZ" 1 => "laravel_session=eyJpdiI6InZXMlNNNlhmQ2RTYVYrY0pMVzVTWnc9PSIsInZhbHVlIjoicDFWNnhEWHNxVWxwQjdYbFZBMXVwUmVPenRsbGd3VXFlRklnS25CaENmYWZFcURoVEsxUG16ODdSTnV4RlFoMC9kUEVaaEg4d1lkQTlHYnJVVEpDYTAwZlVRV0xZeTFQNTRGM2V0Y1BUd0c1NmtFWlN0NjhyY1ppcEo0cU04QjAiLCJtYWMiOiIwYTFkOWUyMmRmNzQwMDU5N2U5Mjg5ZWEyYjAzMWU5YjRkY2JhN2Q3ZTYwYjRlYjkyNDVmYjBkNWE4ZDJjZmRhIiwidGFnIjoiIn0%3D; expires=Sat, 12 Apr 2025 15:52:14 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InZXMlNNNlhmQ2RTYVYrY0pMVzVTWnc9PSIsInZhbHVlIjoicDFWNnhEWHNxVWxwQjdYbFZBMXVwUmVPenRsbGd3VXFlRklnS25CaENmYWZFcURoVEsxUG16ODdSTnV4RlFoMC9k" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjF4d3FwY0R3ZzlqYnR6ZXZsd0JGVmc9PSIsInZhbHVlIjoiTXZ1UDFmazF0a3NYYncwckFQdVFpeHQvOVNkQWZ1aHlIVnVHMTdXWnNkTkhFVG1VS08zMldVR3V0WWN6MkZOb1VjMlhqZlEwb1NlU09xVEoyTC9LT2tnYXJZZlVRQ0JscXdMb2htUjR6RDdRK2haaitId1grb0E0dmp4TWFuRy8iLCJtYWMiOiIwYmJiOGQ5OTNiZTlhZTUxZDhlMzIyYzVjYWMxZDAwM2IwYjE0Y2VhZDRmN2JhMTRkNDliYTEyNGNhNjhkNmVkIiwidGFnIjoiIn0%3D; expires=Sat, 12-Apr-2025 15:52:14 GMT; path=/XSRF-TOKEN=eyJpdiI6IjF4d3FwY0R3ZzlqYnR6ZXZsd0JGVmc9PSIsInZhbHVlIjoiTXZ1UDFmazF0a3NYYncwckFQdVFpeHQvOVNkQWZ1aHlIVnVHMTdXWnNkTkhFVG1VS08zMldVR3V0WWN6MkZOb1VjMlhqZ" 1 => "laravel_session=eyJpdiI6InZXMlNNNlhmQ2RTYVYrY0pMVzVTWnc9PSIsInZhbHVlIjoicDFWNnhEWHNxVWxwQjdYbFZBMXVwUmVPenRsbGd3VXFlRklnS25CaENmYWZFcURoVEsxUG16ODdSTnV4RlFoMC9kUEVaaEg4d1lkQTlHYnJVVEpDYTAwZlVRV0xZeTFQNTRGM2V0Y1BUd0c1NmtFWlN0NjhyY1ppcEo0cU04QjAiLCJtYWMiOiIwYTFkOWUyMmRmNzQwMDU5N2U5Mjg5ZWEyYjAzMWU5YjRkY2JhN2Q3ZTYwYjRlYjkyNDVmYjBkNWE4ZDJjZmRhIiwidGFnIjoiIn0%3D; expires=Sat, 12-Apr-2025 15:52:14 GMT; path=/; httponlylaravel_session=eyJpdiI6InZXMlNNNlhmQ2RTYVYrY0pMVzVTWnc9PSIsInZhbHVlIjoicDFWNnhEWHNxVWxwQjdYbFZBMXVwUmVPenRsbGd3VXFlRklnS25CaENmYWZFcURoVEsxUG16ODdSTnV4RlFoMC9k" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "2SJcOUqx8FJCB02lOhBkefaOrd2NUowg4EtlKqXA" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/logic-and-computational-thinking" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]