CPE – C++ Certified Entry-Level Programmer Certification


The CPE – C++ Certified Entry-Level Programmer certification is the perfect starting point for anyone beginning a career in software development, C++ programming, or related fields such as low-level and middle-level programming. It validates your grasp of essential programming concepts, including compilation, variables, data types, typecasting, operators, control flow, arrays, pointers, structures, and the runtime environment.

By earning the CPE certification, you gain a valuable competitive edge and lay the groundwork for future success – including progression to the CPA – C++ Certified Associate Programmer certification and more advanced professional opportunities.


CPE Badge

To earn the CPE – C++ Certified Entry-Level Programmer certification, a candidate should demonstrate the ability to apply core programming concepts and write basic C++ programs. Key knowledge areas and skills include:

  • understanding universal programming concepts such as variables, data types, typecasting, operators, control structures (conditions and loops), and compilation processes,
  • applying the syntax and semantics of the C++ language, including the use of arrays, pointers, memory management techniques, and structures,
  • utilizing fundamental programming techniques specific to C++, such as basic algorithmic thinking, code modularity, and simple problem-solving,
  • working with essential standard library functions and understanding their role in basic program development.


CLE exam on Certification Roadmap

Exam Information


Exam name:

CPE – C++ Certified Entry-Level Programmer


Exam code:

CPE-20-0x (x denotes the exam version)


Associated certifications:

CPA – C++ Certified Associate Programmer
CPP – C++ Certified Professional Programmer


Prerequisites:

None


Exam version:

CPE-20-01 (Active)


Duration:

45 minutes (exam) + approx. 5 minutes (Non-Disclosure Agreement/Tutorial)


Number of questions:

30


Format:

Single-choice questions, multiple-choice questions, gap fill, drag & drop


Passing score:

70%


Cost:

USD 69 (Exam)
USD 86 (Exam + Retake)


Languages:

English


Learning resources:

C++ Essentials 1 – Cisco Networking Academy (Go to Cisco NetAcad)
C++ Essentials 1 (Beginner) – OpenEDG Learning Platform (Go to OpenEDG Edube)



Exam policies:

Click here to go to Exam Policies


Exam syllabus:

Click here to go to Exam Syllabus


Exam Vouchers

Exam vouchers available through the OpenEDG Voucher Store





CPE Exam Syllabus


Exam Overview

The CPE certification exam assesses foundational skills in C++ programming. It verifies the candidate’s ability to write simple programs, apply basic programming constructs, understand fundamental concepts, and use standard library elements. The exam focuses on syntax, program logic, data manipulation, functions, pointers, structures, and strings.

The CPE exam consists of 30 questions (items), each carrying a different score value based on its complexity and objective. The maximum total score is 120 points, which is then normalized and converted into a percentage. To pass, a candidate must achieve a cumulative score of 70% or higher across all questions – the result is based on the total points earned, not on a simple average of scores per exam block.

The scoring system is based on psychometric analysis, where each question is assigned a weight and point value reflecting its difficulty and importance. This ensures that the exam measures knowledge and skills fairly, with the final score representing the total points earned across all questions, rather than a simple count of correct answers.

Exam Objectives by Block

Block 1 – Syntax, Literals, and Operators
(Exam items: 9 | Weight: 28%)

  1. 1.1 Identify valid C++ syntax elements, keywords, and code structures.
  2. 1.2 Recognize C++ built-in data types and corresponding literals.
  3. 1.3 Describe the structure and declaration of the main() function and its parameters.
  4. 1.4 Apply arithmetic, relational, logical, bitwise, and assignment operators.
  5. 1.5 Determine operator precedence, associativity, and the impact on expressions.
  6. 1.6 Apply short-circuit logic in control expressions.
  7. 1.7 Use basic input/output streams (cin, cout, cerr) and manipulators (endl, setw).

Block 2 – Flow Control and Functions
(Exam items: 8 | Weight: 28%)

  1. 2.1 Describe and use conditional statements (if, else).
  2. 2.2 Use loop constructs (while, do, for) and loop control statements (break, continue).
  3. 2.3 Recognize the purpose of the goto statement and labeled statements.
  4. 2.4 Apply multiple-selection structures using switch, case, and default keywords.
  5. 2.5 Define, declare, and invoke functions with correct syntax.
  6. 2.6 Use return statements in typed and void functions.
  7. 2.7 Pass arguments by value, by reference, and by pointer.
  8. 2.8 Apply basic recursion to solve simple problems.

Block 3 – Vectors and Pointers
(Exam items: 7 | Weight: 24%)

  1. 3.1 Declare, initialize, and manipulate vectors and arrays, including multidimensional arrays.
  2. 3.2 Access vector data using the data() method.
  3. 3.3 Declare and initialize pointers, including the use of nullptr.
  4. 3.4 Dereference pointers and use the address-of operator (&).
  5. 3.5 Perform pointer conversions using static_cast and dynamic_cast.
  6. 3.6 Manage dynamic memory with new, delete, and delete[].

Block 4 – Structures and Strings
(Exam items: 6 | Weight: 20%)

  1. 4.1 Declare and define structures.
  2. 4.2 Access structure members using the dot (.) operator.
  3. 4.3 Declare vectors of structures and access their fields.
  4. 4.4 Declare, initialize, and manipulate std::string objects.
  5. 4.5 Perform basic string operations and comparisons.

MQC Profile

A Minimally Qualified Candidate (MQC) for the CPE – C++ Certified Entry-Level Programmer certification understands the fundamental concepts of C++ programming and can apply them to write simple, correct programs that demonstrate practical use of core language features.

The candidate demonstrates knowledge of C++ syntax, data types, operators, and input/output mechanisms (Block 1), and is able to control program flow using conditional statements, loops, and functions, including basic recursion and parameter passing (Block 2). They can declare, initialize, and manipulate vectors, arrays, and pointers, and manage dynamic memory safely (Block 3). Additionally, the candidate is capable of defining and using structures and strings, performing basic operations, and organizing simple data within a program (Block 4).

The MQC is prepared to advance to higher-level certifications and apply entry-level C++ skills in practical programming tasks.


Last updated: July 22, 2025
First published: November 15, 2012
Aligned with Exam CPE-20-01