How this course works
The chapters and lessons below are the fixed course structure. When you start, LearnLive teaches each lesson interactively and adapts examples, pacing, and questions to you.
Complete syllabus
Every chapter and lesson
- 01
Chapter 1 · 5 lessons
The Way of the Program
- 1.1
What is a programming language?
6 min · Quick check
Lesson goal: By the end you can define what a programming language is and its purpose in software development.
- A programming language is a formal set of instructions that can be used to produce various kinds of output.
- Programming languages enable communication between humans and computers.
- Different programming languages have different syntax and semantics.
- 1.2
What is a program?
6 min · Quick check
Lesson goal: By the end you can explain what a program is and its role in executing tasks.
- A program is a sequence of instructions written in a programming language.
- Programs are designed to perform specific tasks or solve problems.
- The execution of a program involves the computer following the instructions provided.
- 1.3
What is debugging?
6 min · Quick check
Lesson goal: By the end you can describe the process of debugging and its importance in programming.
- Debugging is the process of identifying and removing errors from a program.
- Common types of errors include syntax errors, runtime errors, and logical errors.
- Effective debugging improves the reliability and functionality of programs.
- 1.4
Formal and natural languages
6 min · Quick check
Lesson goal: By the end you can differentiate between formal and natural languages.
- Formal languages are structured and have strict syntax rules, used in programming.
- Natural languages are the languages spoken by humans, which are more flexible and ambiguous.
- Understanding the differences helps in grasping how programming languages function.
- 1.5
The first program
6 min · Quick check
Lesson goal: By the end you can create and run your first simple program.
- The first program often involves displaying a message to the user, such as 'Hello, World!'.
- Writing your first program helps in understanding the basic syntax of a programming language.
- Running a program involves compiling or interpreting the code to execute the instructions.
- 1.1
- 02
Chapter 2 · 5 lessons
Variables and Types
- 2.1
More output
6 min · Quick check
Lesson goal: By the end you can understand how to produce output in C++.
- Define what output means in the context of programming.
- Identify the basic output functions available in C++.
- Explain the syntax for using output functions.
- Demonstrate how to format output for clarity.
- 2.2
Variables
6 min · Quick check
Lesson goal: By the end you can define and use variables in C++.
- Define what a variable is and its purpose in programming.
- Identify different types of variables available in C++.
- Explain how to declare and initialize variables.
- Demonstrate the use of variables in simple expressions.
- 2.3
Keywords
6 min · Quick check
Lesson goal: By the end you can recognize and use keywords in C++.
- Define what keywords are in the context of programming languages.
- Identify common keywords used in C++.
- Explain the significance of keywords in defining the structure of a program.
- 2.4
Operators
6 min · Quick check
Lesson goal: By the end you can understand and apply operators in C++.
- Define what operators are and their role in programming.
- Identify different types of operators available in C++.
- Explain the syntax for using operators in expressions.
- Demonstrate the use of operators in simple calculations.
- 2.5
Order of operations
6 min · Quick check
Lesson goal: By the end you can explain the order of operations in C++.
- Define the order of operations and its importance in programming.
- Identify the rules that govern the order of operations in C++.
- Explain how parentheses can alter the order of operations.
- Demonstrate the application of order of operations in expressions.
- 2.1
- 03
Chapter 3 · 5 lessons
Functions
- 3.1
Floating-point
6 min · Quick check
Lesson goal: By the end you can understand the concept of floating-point numbers in C++ and their significance in programming.
- Define floating-point numbers and their representation in C++.
- Explain the difference between floating-point and integer types.
- Discuss the precision and range of floating-point numbers.
- 3.2
Math functions
6 min · Quick check
Lesson goal: By the end you can utilize various math functions available in C++ to perform calculations.
- Identify common math functions provided by the C++ standard library.
- Demonstrate how to include the cmath header for math functions.
- Apply math functions to solve real-world problems.
- 3.3
Programs with multiple functions
6 min · Quick check
Lesson goal: By the end you can create programs that utilize multiple functions for better organization and modularity.
- Define what a function is and its purpose in programming.
- Explain how to declare and define multiple functions in a program.
- Demonstrate the process of calling functions from the main program.
- 3.4
Parameters and arguments
6 min · Quick check
Lesson goal: By the end you can differentiate between parameters and arguments in function definitions and calls.
- Define parameters and arguments in the context of functions.
- Explain the significance of passing values to functions.
- Demonstrate how to declare functions with parameters.
- 3.5
Functions with multiple parameters
6 min · Quick check
Lesson goal: By the end you can create functions that accept multiple parameters to enhance functionality.
- Define what multiple parameters are in function declarations.
- Explain how to pass multiple arguments to functions.
- Demonstrate the use of functions with multiple parameters through examples.
- 3.1
- 04
Chapter 4 · 4 lessons
Conditionals and Recursion
- 4.1
The modulus operator
6 min · Quick check
Lesson goal: By the end you can explain the purpose and use of the modulus operator in C++.
- Define the modulus operator and its symbol (%) in C++.
- Explain how the modulus operator calculates the remainder of a division.
- Provide examples of using the modulus operator in conditional statements.
- 4.2
Conditional execution
6 min · Quick check
Lesson goal: By the end you can implement conditional execution in C++ programs.
- Define conditional execution and its importance in programming.
- Explain the syntax of if statements and their variations.
- Demonstrate how to use conditional execution to control program flow.
- 4.3
Chained conditionals
6 min · Quick check
Lesson goal: By the end you can utilize chained conditionals to handle multiple conditions in C++.
- Define chained conditionals and their structure using else if statements.
- Explain how to evaluate multiple conditions in a logical sequence.
- Provide examples of using chained conditionals in real-world scenarios.
- 4.4
Infinite recursion
6 min · Quick check
Lesson goal: By the end you can identify and manage infinite recursion in C++ functions.
- Define recursion and infinite recursion in the context of programming.
- Explain the conditions that lead to infinite recursion.
- Demonstrate how to prevent infinite recursion with base cases.
- 4.1
- 05
Chapter 5 · 5 lessons
Fruitful Functions
- 5.1
Return values
6 min · Quick check
Lesson goal: By the end you can understand the concept of return values in functions.
- Define return values and their purpose in functions.
- Explain how return values can be used to pass data back to the caller.
- Identify the syntax for returning values from functions in C++.
- Discuss the importance of return types in function declarations.
- 5.2
Program development
6 min · Quick check
Lesson goal: By the end you can describe the process of program development using fruitful functions.
- Outline the steps involved in developing a program with fruitful functions.
- Discuss the role of planning and design in program development.
- Explain how to implement and test functions within a program.
- 5.3
Composition
6 min · Quick check
Lesson goal: By the end you can apply the concept of composition in functions.
- Define function composition and its significance in programming.
- Illustrate how to combine multiple functions to create more complex behavior.
- Provide examples of function composition in C++.
- 5.4
Boolean values
6 min · Quick check
Lesson goal: By the end you can explain the concept of Boolean values and their use in functions.
- Define Boolean values and their representation in C++.
- Discuss how Boolean values can be used as return values in functions.
- Illustrate the use of Boolean expressions in control flow.
- 5.5
Returning from main
6 min · Quick check
Lesson goal: By the end you can understand how to return values from the main function.
- Explain the purpose of returning values from the main function in C++.
- Discuss the significance of return codes in program execution.
- Identify the standard return values for successful and unsuccessful program termination.
- 5.1
- 06
Chapter 6 · 4 lessons
Iteration
- 6.1
Multiple assignment
6 min · Quick check
Lesson goal: By the end you can understand and apply multiple assignment in C++.
- Define multiple assignment and its syntax in C++.
- Explain how multiple assignment can simplify code.
- Demonstrate the use of multiple assignment with examples.
- 6.2
Tables
6 min · Quick check
Lesson goal: By the end you can create and manipulate tables in C++.
- Define what a table is in the context of programming.
- Explain how to declare and initialize tables in C++.
- Demonstrate accessing and modifying elements in a table.
- 6.3
Two-dimensional tables
6 min · Quick check
Lesson goal: By the end you can work with two-dimensional tables in C++.
- Define two-dimensional tables and their structure.
- Explain how to declare and initialize two-dimensional tables.
- Demonstrate accessing and modifying elements in a two-dimensional table.
- 6.4
Functions
6 min · Quick check
Lesson goal: By the end you can define and use functions in C++.
- Define what a function is and its purpose in programming.
- Explain the syntax for declaring and defining functions in C++.
- Demonstrate how to call functions and pass parameters.
- 6.1
- 07
Chapter 7 · 5 lessons
Strings and Things
- 7.1
Containers for strings
6 min · Quick check
Lesson goal: By the end you can explain what containers for strings are and how they are used in C++.
- Define what a container is in the context of C++.
- Identify different types of string containers available in C++.
- Discuss the advantages of using containers for managing strings.
- 7.2
Traversal
6 min · Quick check
Lesson goal: By the end you can describe the process of traversing strings in C++.
- Define string traversal and its importance.
- Explain how to use loops to traverse strings.
- Identify common operations performed during string traversal.
- 7.3
Our own version of find
6 min · Quick check
Lesson goal: By the end you can implement a custom version of the find function for strings.
- Define the purpose of the find function in string manipulation.
- Outline the steps to create a custom find function.
- Demonstrate how to handle cases where the substring is not found.
- 7.4
Increment and decrement operators
6 min · Quick check
Lesson goal: By the end you can explain how increment and decrement operators work with strings.
- Define increment and decrement operators in C++.
- Discuss how these operators can be applied to string iterators.
- Provide examples of using increment and decrement operators with strings.
- 7.5
Strings are mutable
6 min · Quick check
Lesson goal: By the end you can describe the mutability of strings in C++.
- Define mutability and its significance in string handling.
- Explain how strings can be modified after their creation.
- Discuss the implications of mutable strings on memory management.
- 7.1
- 08
Chapter 8 · 5 lessons
Structures
- 8.1
Compound values
6 min · Quick check
Lesson goal: By the end you can define compound values and understand their structure.
- Define what a compound value is in C++.
- Explain the components that make up a compound value.
- Identify examples of compound values in programming.
- 8.2
Operations on structures
6 min · Quick check
Lesson goal: By the end you can perform operations on structures.
- Describe the types of operations that can be performed on structures.
- Demonstrate how to access and modify structure members.
- Illustrate the use of operators with structures.
- 8.3
Structures as parameters
6 min · Quick check
Lesson goal: By the end you can use structures as parameters in functions.
- Explain the concept of passing structures to functions.
- Demonstrate how to define functions that accept structures as parameters.
- Illustrate the benefits of using structures as parameters.
- 8.4
Call by reference
6 min · Quick check
Lesson goal: By the end you can implement call by reference using structures.
- Define call by reference and its advantages.
- Demonstrate how to pass structures by reference to functions.
- Illustrate the impact of call by reference on structure data.
- 8.5
Structures as return types
6 min · Quick check
Lesson goal: By the end you can use structures as return types in functions.
- Explain how to return structures from functions.
- Demonstrate the syntax for returning a structure.
- Illustrate the use of structures as return types with examples.
- 8.1
- 09
Chapter 9 · 3 lessons
More Structures
- 9.1
Time
6 min · Quick check
Lesson goal: By the end you can define time structures and understand their components.
- Define what a time structure is.
- Identify the components of a time structure, such as hours, minutes, and seconds.
- Explain the importance of using structures to represent time in programming.
- 9.2
Pure functions
6 min · Quick check
Lesson goal: By the end you can explain pure functions and their characteristics.
- Define pure functions and their properties.
- Discuss the benefits of using pure functions in programming.
- Differentiate between pure functions and impure functions.
- 9.3
Modifiers
6 min · Quick check
Lesson goal: By the end you can describe modifiers and their effects on structures.
- Define what modifiers are in the context of structures.
- Explain how modifiers can change the behavior of structures.
- Provide examples of common modifiers used in programming.
- 9.1