PCAP | Python Certified Associate Programmer Certification: Exam Syllabus

Exam block #1: Control and Evaluations (25%)

Objectives covered by the block (10 single-choice and multiple-choice questions)

  • basic concepts: interpreting, compilation, language elements
  • literals: Boolean, integer, floating point, string
  • operators: priorities and binding
  • numeric operators: ** * / % // + –
  • bitwise operators: ~ & ^ | << >>
  • string operators: * +
  • Boolean operators: not and or
  • relational operators ( == != > >= < <= ), building
  • assignment and shortcut operators
  • basic input and output: the input(), print(), int(), float(), and str() functions,
  • conditional statements: if, if-else, and if-elif-else
  • simple lists: constructing vectors, indexing and slicing, the len() function
  • simple strings: constructing, assigning, indexing, slicing comparing, immutability
  • building loops: while, for, range(), in, iterating through sequences
  • controlling loop execution: break, continue

Exam Block #2: Data Aggregates (25%)

Objectives covered by the block (10 single-choice and multiple-choice questions)

  • strings in detail: ASCII, UNICODE, UTF-8, immutability, copying and cloning, advanced slicing, comparing string vs. string, string vs. non-string, basic string methods (upper(), lower(), isxxx(), capitalize(), split(), join(), etc) and functions (len(), chr(), ord()), escape characters
  • lists in detail: indexing, slicing, basic methods(append(), insert(), index() etc) and functions (len(), sorted(), etc), the del instruction, iterating lists with the for loop, initializing, the in and not in operators, list comprehension, copying and cloning
  • lists in lists: matrices and cubes
  • tuples: indexing, slicing, building, immutability,
  • directories: building, indexing, adding, and removing keys, iterating through keys and values, checking a key’s existence

Exam block #3: Functions and Modules (25%)

Objectives covered by the block (10 single-choice and multiple-choice questions)

  • defining and invoking your own functions and generators
  • the return and yield keywords, returning results, the None keyword, recursion
  • parameters vs. arguments, passing positional and keyword arguments, default parameter values
  • name scopes, the global keyword
  • defining and using lambda functions
  • the map(), filter(), reduce() functions
  • the if operator
  • the import directives
  • writing and using modules, the __name__ variable
  • creating and using .pyc files
  • constructing and distributing packages, the role of the __init__.py file
  • hiding modules’ entities

Exam block #4: Classes, Objects, and Exceptions (25%)

Objectives covered by the block (10 single-choice and multiple-choice questions)

  • defining your own classes
  • class attributes: class variables and instance variables, defining, adding and removing attributes
  • defining and using class methods, the meaning and usage of the self parameter
  • inheritance and overriding, finding class/object components
  • single inheritance vs. multiple inheritance
  • name mangling
  • the role of the __str__ method
  • introspection: __dict__, __name__, __module__, __bases__ properties
  • writing and using constructors
  • the hasattr(), type(), issubclass(), isinstance(), super() functions
  • using pre-defined exceptions, and defining your own exceptions
  • the try-except-else-finally block, the raise statement
  • the hierarchy of exceptions
  • adding your own exceptions to an existing hierarchy
  • assertions
  • the anatomy of exception object
  • input/output basics: opening files, stream objects, binary vs. text files, reading and writing files