C and C++
Program in C from your first function to pointers, allocators and hash tables, then in C++ with classes, templates, move semantics and standard algorithms. A Linux course comes first, and all five courses are hands-on exercises.
- Milestone 1
The Linux terminal
Work in a Linux shell: move around the file system, set permissions, process and search text, control processes and jobs, install packages and write Bash scripts.
- Milestone 2
C
Write C programs with pointers, strings, dynamic memory, structs and multiple source files, then work with fixed-width integer arithmetic, binary formats, hash tables, trees, heaps, custom allocators and text parsers.
- Hands-On: C for BeginnersFrom integers, loops and functions to pointers, dynamic memory, structs, the preprocessor, multi-file programs and linked lists.14h 3m
- Hands-On: C for Intermediate EngineersPicks up where the first C course ends: overflow-checked integers, byte order, generic code with void pointers, hash tables, trees, custom allocators and parsing.10h 49m
- Milestone 3
C++
Write C++ with references, std::string, vectors, maps, classes and unique_ptr, then build value types with copy and move operations, operator overloading, class hierarchies, templates, lambdas and standard algorithms.
- Hands-On: C++ for BeginnersStarts over in C++, so the syntax you know from C goes quickly; the new parts are references, std::string, vectors, maps, classes and unique_ptr.11h 20m
- Hands-On: C++ for Intermediate EngineersBuilds on those basics with strong types, operator overloading, copy and move operations, inheritance, templates, lambdas and the standard algorithms.9h 51m
