Computer Science 101: Master the Theory Behind Programming

بواسطة: Skillshare

Overview

Master the Theory to Becoming a Good Programmer! 

If you're looking to learn the theory that makes great programmers, you've come to the right place! This is perfect for anyone interested in learning the fundamentals to Computer Science Theory. 

No Previous Experience Necessary! 

Computer science and technology are often thought of as things only for "analytical minds". I believe however that technology and it's theory are for everyone. So I designed this course to teach each topic in a variety of easy to digest ways. Through these multiple reinforcing steps, I believe anyone can follow along and succeed! 

Why is the Theory of Programming Important? 

Understanding Computer Science theory is what sets the Great programmers from the average ones. Programming theory is something that transcends a single programming language. It gives you skills and techniques you can apply to any programming language you touch. Learning the theory behind programming is just as important, if not more important than learning a singular programming language like Java or C++.

Programming is all about problem solving. Analyzing a problem, and being able to figure out a way that a computer can help with that problem. Computer Science is the practice of this analysis process. It goes over the techniques and knowledge necessary to design efficient and sustainable code. 

In this lesson we will be covering: 

  • Binary Number System

  • N Notation

  • Big O Notation

  • How to Analyze a Program

  • Arrays and their Advantages

  • Nodes and their Importance

  • Linked Lists and their Advantages and Implementations

  • Stacks implemented with Arrays and Linked Lists

  • Queues Implemented with Arrays and Linked Lists

  • Various Sorting Algorithms and Their Comparisions

  • Trees and Binary Search Trees

  • And Much Much More! 

Syllabus

  • Introduction
  • 1-1 Time Complexity Introduction
  • 1-2 Math Refresher: Logarithmic Functions
  • 1-3 Math Refresher: Factorial Functions
  • 1-4 Math Refresher: Algebraic Expressions
  • 1-5 N-notation
  • 1-6 Big O Notation
  • 1-7 Real World Big-O Example
  • 2-1 How is Data Stored
  • 2-2 Fixed Array Introduction
  • 2-3 Fixed Array Run Times
  • 2-4 Binary Search Algorithm (Fixed Array Sorted Search)
  • 2-5 Circular Arrays
  • 2-6 Dynamic Arrays
  • 2-7 Array Review
  • 2-8 Array Real World Examples
  • 3-1 Nodes
  • 3-2 Linked List
  • 3-3 Linked List Run Times
  • 3-4 Doubly Linked Lists
  • 3-5 Tail Pointer
  • 3-6 Linked List Review
  • 3-7 Linked List Real World Examples
  • 4-1 Stacks
  • 4-2 Stack Example
  • 4-3 Queues
  • 4-4 Queue Examples
  • 4-5 Queue and Stack Run Times
  • 4-6 Stack and Queues Real World Examples
  • 5-1 Sorting Algorithm Introdcution
  • 5-2 Bubble Sort
  • 5-3 Selection Sort
  • 5-4 Insertion Sort
  • 5-5 Quick Sort
  • 5-6 Quick Sort Run Times
  • 5-7 Merge Sort
  • 5-8 Merge Sort Run Times
  • 5-9 Stable vs Nonstable
  • 5-10 Sorting Algorithm Real World Examples
  • 6-1 Basics of Trees
  • 6-2 Binary Search Tree
  • 6-3 BST Run Times
  • 6-4 Tree Traversals
  • 6-5 Tree Real World Examples
  • Timing - Project Prep

Taught by

Kurt Anderson

Computer Science 101: Master the Theory Behind Programming
الذهاب الي الدورة

Computer Science 101: Master the Theory Behind Programming

بواسطة: Skillshare

  • Skillshare
  • مدفوعة
  • German
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • N/A
8.1.2PHP Version336msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (206ms)
    • Application (130ms)
    • 1 x Booting (61.15%)
      205.60ms
      1 x Application (38.61%)
      129.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 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
      6 statements were executed11.62ms
      • select * from `courses` where `slug_ar` = 'computer-science-101:-master-the-theory-behind-programmingpqC' limit 1
        10.3ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. computer-science-101:-master-the-theory-behind-programmingpqC
        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-01-30 20:19:03' where `id` = 7110
        400μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-01-30 20:19:03
        • 1. 7110
        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)
        270μ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)
        180μ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 `providers` where `providers`.`id` in (59) and `providers`.`deleted_at` is null
        200μ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` = 7101 limit 1
        270μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 7101
        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\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        lbzr8iA1qEClZ6lqsT0X0whAoBgJNEjbu6xlzTaI
        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/comput...
        _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/computer-science-101:-master-the-theory-behind-programmingpqC
        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" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "3.144.132.149" ] "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" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "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.144.132.149" ] "cf-ray" => array:1 [ 0 => "90a4279addb8e7f4-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_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "3.144.132.149" "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_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.144.132.149" "HTTP_CF_RAY" => "90a4279addb8e7f4-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" => "61858" "REMOTE_ADDR" => "172.70.100.194" "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/computer-science-101:-master-the-theory-behind-programmingpqC" "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" => 1738268343.7494 "REQUEST_TIME" => 1738268343 ]
        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, 30 Jan 2025 20:19:04 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IitzR1duKy9HV29XcUtiVmc4cGNkaGc9PSIsInZhbHVlIjoic1VkM3ZhNjI4bVNFcmN2dHlSai9DTkdhREtzWENiak9ST1drN2RWckVzMk9zTEN0cTYydWVEQVh5Ky9RUWIrMlQyclRxWFgrVmlFR1lqMW5LaCtPV3NiYlhFVWlLcm9MZ2JpUEt2K0M0d25CRmVpYjdTTTU1aWQ4QWNMQXl6enoiLCJtYWMiOiI0Yjk2MWE2OWFiNjZjMTE1MWVmMGExNjZkM2Y3ODNkYzYxOWM5NmJjNGJiZjM0ZDdiMmIyMjEwNzIyYjZjY2QwIiwidGFnIjoiIn0%3D; expires=Thu, 30 Jan 2025 22:19:04 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IitzR1duKy9HV29XcUtiVmc4cGNkaGc9PSIsInZhbHVlIjoic1VkM3ZhNjI4bVNFcmN2dHlSai9DTkdhREtzWENiak9ST1drN2RWckVzMk9zTEN0cTYydWVEQVh5Ky9RUWIrMlQyclRxW" 1 => "laravel_session=eyJpdiI6IjB6cmtocWtGVWRESnR1RjlZcm5UR1E9PSIsInZhbHVlIjoiTCtUcWtaN3BDL3VxWmFRWVpaSWxpQWxsR3d4M1hScDhFSXVpTXBtdzZ0cFo4anBCK0xqZmNzcC93Q0JtZjIvTGZCYlMxYzZnMkZCM2p6YmNScjJaT2tBelkwMmEzOWR3cXJqbTUvNFZzbC9GeHdYbk9sejB6QzNJSUd0UzlZQ1ciLCJtYWMiOiJhMGU5MWZlMzA4NzViMGMzMmViODBlMzU4Zjg1NWMxYjI0ZDY2OWZkM2EzZWJiODM0YWY1NDZlZjQ3NDdlMDczIiwidGFnIjoiIn0%3D; expires=Thu, 30 Jan 2025 22:19:04 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjB6cmtocWtGVWRESnR1RjlZcm5UR1E9PSIsInZhbHVlIjoiTCtUcWtaN3BDL3VxWmFRWVpaSWxpQWxsR3d4M1hScDhFSXVpTXBtdzZ0cFo4anBCK0xqZmNzcC93Q0JtZjIvTGZC" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IitzR1duKy9HV29XcUtiVmc4cGNkaGc9PSIsInZhbHVlIjoic1VkM3ZhNjI4bVNFcmN2dHlSai9DTkdhREtzWENiak9ST1drN2RWckVzMk9zTEN0cTYydWVEQVh5Ky9RUWIrMlQyclRxWFgrVmlFR1lqMW5LaCtPV3NiYlhFVWlLcm9MZ2JpUEt2K0M0d25CRmVpYjdTTTU1aWQ4QWNMQXl6enoiLCJtYWMiOiI0Yjk2MWE2OWFiNjZjMTE1MWVmMGExNjZkM2Y3ODNkYzYxOWM5NmJjNGJiZjM0ZDdiMmIyMjEwNzIyYjZjY2QwIiwidGFnIjoiIn0%3D; expires=Thu, 30-Jan-2025 22:19:04 GMT; path=/XSRF-TOKEN=eyJpdiI6IitzR1duKy9HV29XcUtiVmc4cGNkaGc9PSIsInZhbHVlIjoic1VkM3ZhNjI4bVNFcmN2dHlSai9DTkdhREtzWENiak9ST1drN2RWckVzMk9zTEN0cTYydWVEQVh5Ky9RUWIrMlQyclRxW" 1 => "laravel_session=eyJpdiI6IjB6cmtocWtGVWRESnR1RjlZcm5UR1E9PSIsInZhbHVlIjoiTCtUcWtaN3BDL3VxWmFRWVpaSWxpQWxsR3d4M1hScDhFSXVpTXBtdzZ0cFo4anBCK0xqZmNzcC93Q0JtZjIvTGZCYlMxYzZnMkZCM2p6YmNScjJaT2tBelkwMmEzOWR3cXJqbTUvNFZzbC9GeHdYbk9sejB6QzNJSUd0UzlZQ1ciLCJtYWMiOiJhMGU5MWZlMzA4NzViMGMzMmViODBlMzU4Zjg1NWMxYjI0ZDY2OWZkM2EzZWJiODM0YWY1NDZlZjQ3NDdlMDczIiwidGFnIjoiIn0%3D; expires=Thu, 30-Jan-2025 22:19:04 GMT; path=/; httponlylaravel_session=eyJpdiI6IjB6cmtocWtGVWRESnR1RjlZcm5UR1E9PSIsInZhbHVlIjoiTCtUcWtaN3BDL3VxWmFRWVpaSWxpQWxsR3d4M1hScDhFSXVpTXBtdzZ0cFo4anBCK0xqZmNzcC93Q0JtZjIvTGZC" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "lbzr8iA1qEClZ6lqsT0X0whAoBgJNEjbu6xlzTaI" "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/computer-science-101:-master-the-theory-behind-programmingpqC" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]