Complete Intro to Computer Science

Brought by: Frontend Masters

Overview

Pass those difficult algorithms and data structures interview questions asked by the largest silicon valley companies. Even if you didn’t go to school for it, gain the advantages and skills a traditional computer science education can give you. We’ll tackle the big computer science concepts: Algorithms and Big O Analysis, Recursion, Sorting, Data Structures, AVL Trees, Binary Search Trees, Tree Traversals, and Path Finding.

Syllabus

  • Introduction
  • Code Setup
  • Big O Time Complexity
  • Why Use Big O
  • Spatial Complexity
  • Big O Trade-Offs
  • Bubble Sort
  • Bubble Sort Practice
  • Insertion Sort
  • Insertion Sort Practice
  • Recursion
  • Recursion Practice: Nested Addition
  • Recursion Practice: Factorials
  • Merge Sort
  • Merge Sort Practice
  • Merge Sort Q&A
  • Quick Sort
  • Quick Sort Practice
  • Quick Sort Q&A
  • Radix Sort
  • Radix Sort Practice
  • Binary Search
  • Binary Search Practice
  • ArrayList
  • ArrayList Practice
  • LinkedList
  • LinkedList Practice
  • Binary Search Tree
  • Binary Search Tree Practice
  • Self Balancing AVL Tree
  • Self Balancing AVL Tree Exercise
  • Self Balancing AVL Tree Solution
  • AVL Trees Q&A
  • Depth First Tree Traversals
  • Depth First Tree Traversals Practice
  • Breadth First Tree Traversals
  • Breadth First Tree Traversals Practice
  • Heap Sort
  • Heap Sort Practice
  • Graphs
  • Graphs Practice
  • Pathfinding
  • Pathfinding Exercise
  • Pathfinding Solution: a neighbors
  • Pathfinding Solution: b neighbors
  • Tries
  • Tries Exercise
  • Tries Solution
  • Bloom Filters
  • Bloom Practice
  • Wrapping Up

Taught by

Brian Holt

Complete Intro to Computer Science
Go to course

Complete Intro to Computer Science

Brought by: Frontend Masters

  • Frontend Masters
  • Paid
  • English
  • Certificate Not Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version1.1sRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (716ms)
    • Application (377ms)
    • 1 x Booting (65.35%)
      715.85ms
      1 x Application (34.41%)
      376.92ms
      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
      6 statements were executed11.19ms
      • select * from `courses` where `slug_en` = 'complete-intro-to-computer-science' limit 1
        9.77ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. complete-intro-to-computer-science
        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-07-03 16:06:22' where `id` = 2149
        480μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-07-03 16:06:22
        • 1. 2149
        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)
        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 `providers` where `providers`.`id` in (41) and `providers`.`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 `html_files` where `html_files`.`id` = 2140 limit 1
        270μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2140
        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
        oOgfxE1LLKc42cn7kAXaIb9GJSfNinvDJfnvZ4Lj
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/complete-intro-to-computer-science" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/complete-intro-to-computer-science
        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 => "216.73.216.160" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.160" ] "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 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "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 => "9597a12eaa1a39fb-YYZ" ] "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" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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" => "216.73.216.160" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.160" "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" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9597a12eaa1a39fb-YYZ" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => "15476" "REMOTE_ADDR" => "172.69.214.7" "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/complete-intro-to-computer-science" "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" => 1751558781.4762 "REQUEST_TIME" => 1751558781 ]
        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, 03 Jul 2025 16:06:22 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImxOQkVQMEhCN1dRUUJxM3AwT1RBdGc9PSIsInZhbHVlIjoiM2wzN1FIUzN2VmpvL2h5eHp6bDJjb3EyRHpzVXZiUDkzRDhWVDV0elRmZnFpNnlNekNDL2JXT3UwdlVSUnQ2QTRiY3oxNURNVU40MVFhMytsL0xuUFl2WGF2eGR5QWNJL1dEc3RyQmdrdnptNHQrZkUvMXY5WVdjazU0emMxTmsiLCJtYWMiOiIzMjgwODY0NzRiYTllZDEwZDgwYzcwOThmYzE4YjA4NDI4Y2NiNTExNmUxZTg3MDQzYTA3Y2M1NWYyZWEyZjNiIiwidGFnIjoiIn0%3D; expires=Thu, 03 Jul 2025 18:06:22 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImxOQkVQMEhCN1dRUUJxM3AwT1RBdGc9PSIsInZhbHVlIjoiM2wzN1FIUzN2VmpvL2h5eHp6bDJjb3EyRHpzVXZiUDkzRDhWVDV0elRmZnFpNnlNekNDL2JXT3UwdlVSUnQ2QTRiY3oxN" 1 => "laravel_session=eyJpdiI6ImtuUW5HaHEvT3JIdjRGcDRuRW1Fd0E9PSIsInZhbHVlIjoiQU43cUNDWXBXZEFXRWd3VUF6NTlMWUl2ZUg1MGpOa0krQXBhbXpoNnROYzNsWEJXUmlBWlNXYWxiMUJNK1lyN3k4Sm13QThYTEdlOU9OREU0Y1QvQ3cvT3ZEcWo4bU1OYTcxLzdlWEpyQys1WWJ5Y3JhWXZsMVl3cFlQcjdzZUwiLCJtYWMiOiIwODRmOWQxZTQ0MzE5OWVkNTVjMGQwNDY4MGE1MDgwMzU2ZDYxNTRlMzA5MTY5ZTU3NDQ5NzNiZGE3YjJlMTYwIiwidGFnIjoiIn0%3D; expires=Thu, 03 Jul 2025 18:06:22 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImtuUW5HaHEvT3JIdjRGcDRuRW1Fd0E9PSIsInZhbHVlIjoiQU43cUNDWXBXZEFXRWd3VUF6NTlMWUl2ZUg1MGpOa0krQXBhbXpoNnROYzNsWEJXUmlBWlNXYWxiMUJNK1lyN3k4" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImxOQkVQMEhCN1dRUUJxM3AwT1RBdGc9PSIsInZhbHVlIjoiM2wzN1FIUzN2VmpvL2h5eHp6bDJjb3EyRHpzVXZiUDkzRDhWVDV0elRmZnFpNnlNekNDL2JXT3UwdlVSUnQ2QTRiY3oxNURNVU40MVFhMytsL0xuUFl2WGF2eGR5QWNJL1dEc3RyQmdrdnptNHQrZkUvMXY5WVdjazU0emMxTmsiLCJtYWMiOiIzMjgwODY0NzRiYTllZDEwZDgwYzcwOThmYzE4YjA4NDI4Y2NiNTExNmUxZTg3MDQzYTA3Y2M1NWYyZWEyZjNiIiwidGFnIjoiIn0%3D; expires=Thu, 03-Jul-2025 18:06:22 GMT; path=/XSRF-TOKEN=eyJpdiI6ImxOQkVQMEhCN1dRUUJxM3AwT1RBdGc9PSIsInZhbHVlIjoiM2wzN1FIUzN2VmpvL2h5eHp6bDJjb3EyRHpzVXZiUDkzRDhWVDV0elRmZnFpNnlNekNDL2JXT3UwdlVSUnQ2QTRiY3oxN" 1 => "laravel_session=eyJpdiI6ImtuUW5HaHEvT3JIdjRGcDRuRW1Fd0E9PSIsInZhbHVlIjoiQU43cUNDWXBXZEFXRWd3VUF6NTlMWUl2ZUg1MGpOa0krQXBhbXpoNnROYzNsWEJXUmlBWlNXYWxiMUJNK1lyN3k4Sm13QThYTEdlOU9OREU0Y1QvQ3cvT3ZEcWo4bU1OYTcxLzdlWEpyQys1WWJ5Y3JhWXZsMVl3cFlQcjdzZUwiLCJtYWMiOiIwODRmOWQxZTQ0MzE5OWVkNTVjMGQwNDY4MGE1MDgwMzU2ZDYxNTRlMzA5MTY5ZTU3NDQ5NzNiZGE3YjJlMTYwIiwidGFnIjoiIn0%3D; expires=Thu, 03-Jul-2025 18:06:22 GMT; path=/; httponlylaravel_session=eyJpdiI6ImtuUW5HaHEvT3JIdjRGcDRuRW1Fd0E9PSIsInZhbHVlIjoiQU43cUNDWXBXZEFXRWd3VUF6NTlMWUl2ZUg1MGpOa0krQXBhbXpoNnROYzNsWEJXUmlBWlNXYWxiMUJNK1lyN3k4" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "oOgfxE1LLKc42cn7kAXaIb9GJSfNinvDJfnvZ4Lj" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/complete-intro-to-computer-science" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]