This repository contains my work and exercises for the PCEP - Certified Entry-Level Python Programmer certification, offered by the Python Institute.
The PCEP certification validates foundational knowledge of programming concepts and the Python programming language. This repository includes notes, exercises, and resources aligned with the certification syllabus.
PCEP™ – Certified Entry-Level Python Programmer certification (Exam PCEP-30-0x) is a professional credential that measures the candidate's ability to accomplish coding tasks related to the essentials of programming in the Python language. A test candidate should demonstrate sufficient knowledge of the universal concepts of computer programming, the syntax and semantics of the Python language, as well as the skills in resolving typical implementation challenges with the help of the Python Standard Library.
The PCEP™ certification shows that the individual is familiar with the following concepts: fundamental terms and definitions (e.g. compilation vs. interpretation), Python's logic and structure (e.g. keywords, instructions, indentation), literals, variables, and numeral systems, operators and data types, I/O operations, control flow mechanisms (conditional blocks and loops), data collections (lists, tuples, dictionaries, strings), functions (decomposition, built-in and user-defined functions, organizing interaction between functions and their environment, generators, recursion), exceptions (exception handling, hierarchies), as well as the essentials of Python programming language syntax, semantics, and the runtime environment.
Computer Programming and Python Fundamentals
- PCEP-30-02 1.1 – Fundamental Terms and Definitions
Concepts like interpreting and compilation are covered, with a focus on the role of the interpreter and compiler. Additionally, distinctions are made between lexis, syntax, and semantics in programming. - PCEP-30-02 1.2 – Python’s Logic and Structure
Introduces keywords, instructions, indentation, and comments, all crucial for structuring Python code effectively. - PCEP-30-02 1.3 – Literals and Variables, Numeral Systems
Discusses booleans, integers, floating-point numbers, and scientific notation. It also explores string handling, different numeral systems (binary, octal, decimal, hexadecimal), variable declaration, naming conventions, and implementing PEP-8 recommendations. - PCEP-30-02 1.4 – Operators and Data Types
Covers numeric operators (* / % // + -
), string operators (* +
), assignment and shortcut operators, unary and binary operators, as well as bitwise (~ & ^ | << >>
) and boolean (not, and, or
) operators. Also includes relational operators (== != > >= < <=
), floating-point accuracy considerations, and type casting. - PCEP-30-02 1.5 – Input/Output Console Operations
Explains the usage of functions likeprint()
,input()
, and the customization of outputs withsep=
,end=
, along with casting inputs to integer or float types usingint()
andfloat()
.
Control Flow - Conditional Blocks and Loops
- PCEP-30-02 2.1 – Make Decisions with
if
Focuses on using conditional statements such asif
,if-else
,if-elif
, andif-elif-else
. It also includes nested conditional statements and handling multiple conditions. - PCEP-30-02 2.2 – Perform Iterations
Introduces loop structures likewhile
andfor
, as well as functions likerange()
andin
. Covers controlling flow in loops usingbreak
,continue
, and expanding loop constructs withwhile-else
andfor-else
.
Data Collections, Tuples, Dictionaries, Lists, Strings
- PCEP-30-02 3.1 – Lists
Discusses constructing vectors, indexing, and slicing lists. Key functions likelen()
,sorted()
, list methods (append()
,insert()
,index()
), and iterating through lists usingfor
. Also covers list comprehensions, copying/cloning lists, and working with nested lists (matrices, cubes). - PCEP-30-02 3.2 – Tuples
Covers the immutable nature of tuples, differences between tuples and lists, and working with indexing, slicing, and nesting lists and tuples. - PCEP-30-02 3.3 – Dictionaries
Focuses on building, indexing, and modifying dictionaries, adding/removing keys, and iterating through dictionaries. Discusses dictionary methods likekeys()
,items()
, andvalues()
. - PCEP-30-02 3.4 – Strings
Explores string immutability, indexing, slicing, escaping characters with\
, handling quotes and apostrophes inside strings, and working with multi-line strings. It also introduces basic string methods and functions.
Functions and Exceptions
- PCEP-30-02 4.1 – Functions
Explains function definition and invocation, the role of thereturn
keyword, and recursion. Also covers the use of theNone
keyword in function returns. - PCEP-30-02 4.2 – Function Interaction
Focuses on the difference between parameters and arguments, how to pass positional, keyword, or mixed arguments, and setting default parameter values. Also addresses name scopes, shadowing, and the use of theglobal
keyword. - PCEP-30-02 4.3 – Python Built-In Exceptions
Introduces built-in exceptions such asBaseException
,SystemExit
,KeyboardInterrupt
, and other common errors likeArithmeticError
,IndexError
,KeyError
,TypeError
, andValueError
. - PCEP-30-02 4.4 – Exception Handling
Coverstry-except
blocks for error handling, the order ofexcept
branches, and propagating exceptions through function boundaries. It also discusses delegating responsibility for handling exceptions.