CPE – C++ Certified Entry-Level Programmer Certification: Exam Syllabus

General objectives covered by the exam

  • basic input/output: std::cin, std::cout, std::cerr and stream manipulators: endl, setw

  • general C++ syntax (including C++ keywords) and semantics, block structure, block nesting, identifiers’ scopes, flow control instructions

  • defining and invoking functions, declaring and using vectors, structures, and strings

  • declaring and using pointers.

 

Exam block #1: Syntax, literals, and operators. (28%)

Objectives covered by the block (9 exam items)

  • C++ syntax fundamentals: literals, symbols, code blocks, and keywords

  • C++ built-in types and their literals

  • main() function declaration conventions and parameters

  • operators: unary and binary, priorities and binding

  • numeric operators: * / % + –

  • post- and pre- increment and decrement operators: ++,

  • short-circuit evaluations

  • bitwise operators: ~ & ^ | << >>

  • logical (Boolean) operators: ! && ||

  • relational operators: == != > >= < <=

  • assignment and shortcut operators: = op=

  • basics of I/O streams operation

 

Exam block #2: Flow control and functions (28%)

Objectives covered by the block (8 exam items)

  • conditional execution keywords: if, else

  • loop keywords: while, do, for

  • controlling loop execution keywords: break, continue

  • goto keyword and labeled statements

  • multiple-selection keywords: switch, case, default keywords

  • exiting the function: return keyword

  • defining, declaring and invoking functions

  • typed and void functions, return statement

  • passing arguments to parameters: by value, by reference, by pointer

  • recursion

 

Exam block #3: Vectors and pointers (24%)

Objectives covered by the block (7 exam items)

  • declaring, initializing and using vectors, declaring multidimensional arrays

  • the data() method

  • declaring pointers to C++ entities, the nullptr pointer

  • dereferencing pointers: * operator

  • obtaining pointers to existing data: & operator

  • converting pointers using static_cast and dynamic_cast operators

  • assigning and releasing memory: new, delete and delete[] operators

 

Exam block #4: Structures and strings (20%)

Objectives covered by the block (6 exam items)

  • declaring and using structures

  • accessing structure’s fields using . operator

  • vectors of structures: declaring and accessing

  • the std::string type and string literals

  • declaring, initializing, and using strings

  • basic string operations, comparing strings

 

 

Last updated: March 25, 2021
Aligned with CPE-20-01