These free C++ Institute study guides help you turn language knowledge into small programs with explainable behaviour. Work through types, control flow, lifetimes, functions and object design using tiny original examples. CPA, CPA-21-02 and CPP references represent separate catalogue labels. Match the exact target before adding Premium review material and keep your compiler and language-standard assumptions visible.
Want free reference PDFs? Email freelearning@ciscoforall.com with your exam code and name. We will send an available older reference file free of charge. Availability varies. See the request section below.
Browse All C++ Institute Premium PDFs
Choose the learning direction closest to your role and current knowledge. These orientations help you organise practice; they are not official exam objective lists. Compare your chosen target with the exact current syllabus and record any additional topics you need.
| Learning path | Who it suits | Topics to understand | First practice task |
|---|---|---|---|
| C++ foundations | Learners new to the language | Types, expressions and control flow | Trace a short calculation. |
| Program structure | Learners building reusable code | Functions, scope and lifetimes | Define a function contract. |
| Object-oriented review | Learners extending a foundation | Classes, invariants and polymorphism | Compare two object responsibilities. |
Connect additional review material with a specific preparation gap. Open a relevant product to explore its details, confirm its code and version, and decide how it supports your learning goal.
| Premium resource | Preparation focus |
|---|---|
| CPA β C++ Certified Associate Programmer β Premium PDF | Review CPA for the product and version shown in the listing. |
| CPA-21-02 β CPA – C++ Certified Associate Programmer β Premium PDF | Review CPA-21-02 for the product and version shown in the listing. |
| CPP β C++ Certified Professional Programmer β Premium PDF | Review CPP for the product and version shown in the listing. |
CPA, CPA-21-02 and CPP labels are retained in the featured references. Check the exact target and language-standard expectations before interpreting older examples.
Browse All C++ Institute Premium PDFs
Write the type of each input and intermediate result before evaluating an expression. An operation that looks mathematically familiar can behave differently when integer arithmetic or conversion is involved. Small examples make the assumption visible.
Practice task: Trace a division using two integers and then a floating-point value. Expected result: The result is explained from types and operations. Common mistake to avoid: Expecting every division to retain a fractional result.
A loop or condition should handle the first, last and empty cases deliberately. Record which values enter each branch. A successful middle-of-range example does not establish that the boundary condition is correct.
Practice task: Trace zero, one and several items through a fictional loop. Expected result: Every branch and termination condition has a reviewed example. Common mistake to avoid: Testing only a typical nonempty input.
State what inputs are accepted, what is returned and how an invalid input is represented. A function name alone cannot establish its behaviour. Keep side effects visible so the caller understands what changes.
Practice task: Write a contract for locating an item in a small collection. Expected result: The missing-item outcome is explicit to the caller. Common mistake to avoid: Returning an ambiguous value without describing its meaning.
Identify where each object is created and when it ceases to exist. A reference or pointer needs a valid target for the period it is used. The fact that an example once appeared to work does not establish correct lifetime handling.
Practice task: Draw a lifetime timeline for a local value and its intended consumer. Expected result: The consumer never depends on an expired local object. Common mistake to avoid: Treating an address as permanently valid after its object ends.
A fictional account object has a balance that must satisfy an agreed rule. Define valid states and permitted transitions. Encapsulation is useful when it prevents inconsistent states, rather than merely hiding fields behind arbitrary methods.
Practice task: Write valid and invalid updates and the intended response for each. Expected result: Every permitted operation preserves the stated invariant. Common mistake to avoid: Adding public setters without considering invalid combinations.
Remove unrelated input and preserve the condition that causes a wrong result. Write expected and actual behaviour before changing the code. A narrow example helps distinguish an incorrect assumption from a broader implementation issue.
Practice task: Reduce a fictional off-by-one defect to a three-item example. Expected result: The failure and corrected boundary are easy to trace. Common mistake to avoid: Changing several expressions without preserving the failing case.
Complete these activities as written exercises or in an authorised practice environment with fictional data. Define the expected outcome before starting and save a brief explanation of what the result establishes. Verify version-specific steps for your selected technology.
| Activity | What to do | Expected result |
|---|---|---|
| Trace types and conversions with concrete values | Trace a division using two integers and then a floating-point value. | The result is explained from types and operations. |
| Test control flow at boundary values | Trace zero, one and several items through a fictional loop. | Every branch and termination condition has a reviewed example. |
| Define function contracts before implementation | Write a contract for locating an item in a small collection. | The missing-item outcome is explicit to the caller. |
| Reason about scope and object lifetime | Draw a lifetime timeline for a local value and its intended consumer. | The consumer never depends on an expired local object. |
Use these comparisons to find an assumption worth revisiting. For each mistake, write a new example with different details and explain why the corrected principle still applies.
| Common mistake | Why it matters | Better approach |
|---|---|---|
| Treating an address as permanently valid after its object ends. | This prevents the exercise from establishing its intended outcome. | The consumer never depends on an expired local object. |
| Adding public setters without considering invalid combinations. | This prevents the exercise from establishing its intended outcome. | Every permitted operation preserves the stated invariant. |
| Changing several expressions without preserving the failing case. | This prevents the exercise from establishing its intended outcome. | The failure and corrected boundary are easy to trace. |
Explanation: No. Review the entry condition, indexing and termination assumptions. Include empty, one-item and boundary examples. Explain why each access is valid before treating the corrected implementation as reliable.
Write your own answer before reading the explanation. Identify the evidence supporting it, then change one detail and decide whether your answer should change. This is an original learning exercise, not an actual exam question.
| Stage | Focus | Practice outcome |
|---|---|---|
| Week 1 | Select the target and foundations | Trace a division using two integers and then a floating-point value. The result is explained from types and operations. |
| Week 2 | Apply core concepts | Trace zero, one and several items through a fictional loop. Every branch and termination condition has a reviewed example. |
| Week 3 | Investigate weak topics | Write a contract for locating an item in a small collection. The missing-item outcome is explicit to the caller. |
| Week 4 | Review mixed examples | Draw a lifetime timeline for a local value and its intended consumer. The consumer never depends on an expired local object. |
Four weeks is an example schedule, not a promise of readiness. Adjust each stage to your experience and available time. Extend a stage when you cannot explain the topic without the notes or apply it to a fresh scenario. Revisit the exact target objectives so a familiar topic does not replace a relevant topic you have not practised.
Create a tracker with target topic, initial explanation, practice activity, observed result and next review date. Separate a topic you recognise from a topic you can apply. A useful record makes the remaining gap visible and helps you choose the next activity instead of repeatedly rereading the same material.
When an answer is wrong, preserve the initial assumption, the contradicting evidence and the corrected principle. Create a second example using different details. If the explanation works only for the first example, return to the concept before adding more resources. Review recurring errors together: they may reveal a missing foundation rather than several unrelated weaknesses.
| Tracker field | Example entry to write | Review question |
|---|---|---|
| Requirement | Trace a division using two integers and then a floating-point value. | What outcome am I trying to establish? |
| Evidence | The result is explained from types and operations. | Which observation supports my explanation? |
| Limitation | State what the exercise did not establish. | Am I making a broader claim than the evidence allows? |
| Next activity | Trace zero, one and several items through a fictional loop. | What new example will test the principle? |
Email freelearning@ciscoforall.com with your exam code and name, the product or framework version if known, and the topics you need. We will send an available older reference file free of charge. Availability varies; a file may not be available for every target. The original notes, tables and exercises on this page are free to read without requesting a file.
Keep the code and version visible when using an older reference. Terminology, objectives and product behaviour may differ from your current target. Compare the material with the scope you intend to study and verify release-specific information before using it in a lab. We share only resources we are permitted to distribute. If you are unsure of the target name, include the learning goal so the request can be understood.
Use this guide to organise foundations and identify weaker topics. Then choose a relevant C++ Institute Premium PDF for additional review. Give the resource a clear purpose: explain a concept, compare alternatives or repeat a practical scenario. Track the exact target and version alongside your notes so useful older material is not mistaken for complete current coverage.
Build a preparation routine around topic review, original exercises and an error log. After reviewing a resource, close it and explain the principle in your own words. Apply that principle to an unfamiliar example and record any remaining uncertainty. The value comes from understanding and application, rather than the number of files collected.
Review CPA for the product and version shown in the listing. β Premium PDF Β· Review CPA-21-02 for the product and version shown in the listing. β Premium PDF Β· Review CPP for the product and version shown in the listing. β Premium PDF
Browse All C++ Institute Premium PDFs
Yes. The learning notes, tables, study plan and original exercises here are free to read. Premium PDFs are available separately through the linked product pages.
Use foundational concepts where relevant, but keep each target separate. CPA and CPP are distinct learning levels, and the catalogue also includes a version-labelled CPA reference. Compare exact objectives and language assumptions.
Yes. Email freelearning@ciscoforall.com with your name, exact target and exam code. We will send an available older reference file free of charge. Availability varies.
It may explain useful foundations while describing an earlier version. Compare its code, objectives and product behaviour with your exact target before treating it as a complete preparation resource.
Use the product table to find a resource matching your target. Explore its details and version, then connect it with the concept or practice gap you want to strengthen.
No. Adjust the schedule to your experience, available time and practice results. Repeat a stage until you can explain its concepts and apply them to a different example.
No. The scenarios are original exercises for understanding and decision-making. They are designed to help you practise explanations and evidence-based reasoning.
No. Results depend on your knowledge, practical skills and preparation.
Complete one small activity today and record its result. For an available older reference, email freelearning@ciscoforall.com. For additional preparation, choose a relevant Premium PDF above or browse the vendor selection below.