Programming & Data Structures

Brought by: edX

Overview

This program will teach you core computer science competencies in programming and data structures. Understanding how programming works is essential in many technical disciplines such Information Technology, Software Engineering, Cybersecurity, and Computer Science. The courses utilize the C++ programming languages to establish a solid foundation in programming and data structures for the students. Students gain valuable hands-on experience programming solutions to problems in the labs. I the labs, students will practice their core programming skills and will also develop many advanced data structures including, hashtables, sorting and search algorithms, binary trees, AVL trees, graph algorithms and many more advanced computing topics. In addition to the applied programming labs, students will also gain an understanding of computational complexity through the analysis of the data structures and programs that are developed.

Syllabus

Courses under this program:
Course 1: Introduction to Programming in C++

Learn the fundamentals of programming in the C++ programming language, including iteration, decision branching, data types and expression.



Course 2: Advanced Programming in C++

Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings.



Course 3: Introduction to Data Structures

Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting.



Course 4: Advanced Data Structures

Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms.



Courses

Taught by

Aspen Olmsted and Itay Tal

Programming & Data Structures
Go to course

Programming & Data Structures

Brought by: edX

  • edX
  • Paid
  • English
  • Certificate Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version999msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (644ms)
    • Application (353ms)
    • 1 x Booting (64.45%)
      643.83ms
      1 x Application (35.3%)
      352.67ms
      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 executed9.03ms
      • select * from `courses` where `slug_en` = 'programming-&-data-structures' limit 1
        7.39ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. programming-&-data-structures
        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-06-12 20:23:36' where `id` = 1317
        480μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-12 20:23:36
        • 1. 1317
        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)
        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)
        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 `institutions` where `institutions`.`id` in (32) 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
        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 * from `html_files` where `html_files`.`id` = 1310 limit 1
        300μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1310
        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
        UEPDoMZNqXim21x6bYDgvByj3g9blJtIqY3Mgfrk
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/programming-&-data-structures" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/programming-&-data-structures
        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.168" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.168" ] "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 => "94ec111c9fb32324-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" ] "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.168" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.168" "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" => "94ec111c9fb32324-ORD" "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" => "60246" "REMOTE_ADDR" => "172.71.254.161" "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/programming-&-data-structures" "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" => 1749759815.4054 "REQUEST_TIME" => 1749759815 ]
        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, 12 Jun 2025 20:23:36 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRHY0prdkF0ZXlzQ0k5UHZiN1RVMFE9PSIsInZhbHVlIjoiME5BRExHVmsxdml4MCtGai8xUUk4NisrN3haVEwxazdtTWJRUTFrQnR3RTg0UWR5N1c0VUZoSmFDZjdUSUs2b0E2cktWLzc4Kzg2WnpOQlFabGFUMlo0MStNcTkweXU4a09OK3BQMkJIN2lvRFdxczJHUFRHQzVNMStMQlpJQzYiLCJtYWMiOiI5NzIxNmJjMzk1YzBmNzZmYjcxNDAzMzNlMDM5NzZlMDNkMDNlYzEyMGIwOTVkNTE4NGM2MmI0YWQ5NDNiZDVhIiwidGFnIjoiIn0%3D; expires=Thu, 12 Jun 2025 22:23:36 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkRHY0prdkF0ZXlzQ0k5UHZiN1RVMFE9PSIsInZhbHVlIjoiME5BRExHVmsxdml4MCtGai8xUUk4NisrN3haVEwxazdtTWJRUTFrQnR3RTg0UWR5N1c0VUZoSmFDZjdUSUs2b0E2cktWL" 1 => "laravel_session=eyJpdiI6ImxmSXRwWk15QmdFSktWUnIzcFNzemc9PSIsInZhbHVlIjoicmVhcnYxTHNqc24zUE1VSFlDdDNSR0VTZjFqd3BGeExzekRFbTYrbG5EMFpla2pNcUx1RjcydGNNbjR0bTExWEswQ1dwZE5kc2hPUEdzdGRaM0I3blhvM3BzZnpXR1ZNQUgzdFlrZEZibU9ka0JEQ2lDaGtmTlBESGFCZFJGNjIiLCJtYWMiOiJjYmFlODMyNzk5YTUxY2RkYWQ2NmE2ZWVkYWI2YmEyNzI3NzY0NGY2NGUzY2MwYTU5ZTI0MWJjYjcyNTRmOThjIiwidGFnIjoiIn0%3D; expires=Thu, 12 Jun 2025 22:23:36 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImxmSXRwWk15QmdFSktWUnIzcFNzemc9PSIsInZhbHVlIjoicmVhcnYxTHNqc24zUE1VSFlDdDNSR0VTZjFqd3BGeExzekRFbTYrbG5EMFpla2pNcUx1RjcydGNNbjR0bTExWEsw" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRHY0prdkF0ZXlzQ0k5UHZiN1RVMFE9PSIsInZhbHVlIjoiME5BRExHVmsxdml4MCtGai8xUUk4NisrN3haVEwxazdtTWJRUTFrQnR3RTg0UWR5N1c0VUZoSmFDZjdUSUs2b0E2cktWLzc4Kzg2WnpOQlFabGFUMlo0MStNcTkweXU4a09OK3BQMkJIN2lvRFdxczJHUFRHQzVNMStMQlpJQzYiLCJtYWMiOiI5NzIxNmJjMzk1YzBmNzZmYjcxNDAzMzNlMDM5NzZlMDNkMDNlYzEyMGIwOTVkNTE4NGM2MmI0YWQ5NDNiZDVhIiwidGFnIjoiIn0%3D; expires=Thu, 12-Jun-2025 22:23:36 GMT; path=/XSRF-TOKEN=eyJpdiI6IkRHY0prdkF0ZXlzQ0k5UHZiN1RVMFE9PSIsInZhbHVlIjoiME5BRExHVmsxdml4MCtGai8xUUk4NisrN3haVEwxazdtTWJRUTFrQnR3RTg0UWR5N1c0VUZoSmFDZjdUSUs2b0E2cktWL" 1 => "laravel_session=eyJpdiI6ImxmSXRwWk15QmdFSktWUnIzcFNzemc9PSIsInZhbHVlIjoicmVhcnYxTHNqc24zUE1VSFlDdDNSR0VTZjFqd3BGeExzekRFbTYrbG5EMFpla2pNcUx1RjcydGNNbjR0bTExWEswQ1dwZE5kc2hPUEdzdGRaM0I3blhvM3BzZnpXR1ZNQUgzdFlrZEZibU9ka0JEQ2lDaGtmTlBESGFCZFJGNjIiLCJtYWMiOiJjYmFlODMyNzk5YTUxY2RkYWQ2NmE2ZWVkYWI2YmEyNzI3NzY0NGY2NGUzY2MwYTU5ZTI0MWJjYjcyNTRmOThjIiwidGFnIjoiIn0%3D; expires=Thu, 12-Jun-2025 22:23:36 GMT; path=/; httponlylaravel_session=eyJpdiI6ImxmSXRwWk15QmdFSktWUnIzcFNzemc9PSIsInZhbHVlIjoicmVhcnYxTHNqc24zUE1VSFlDdDNSR0VTZjFqd3BGeExzekRFbTYrbG5EMFpla2pNcUx1RjcydGNNbjR0bTExWEsw" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "UEPDoMZNqXim21x6bYDgvByj3g9blJtIqY3Mgfrk" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/programming-&-data-structures" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]