Python Syllabus 1
Python Syllabus 1
Python Programming 1
(Exam PCPP-32-10x) – EXAM
SYLLABUS
PCPP-32-101 Exam
1
Section 1: Advanced Object-Oriented Programming
(35%)
Objectives covered by the block (15 exam items)
class hierarchies
single vs. multiple inheritance
Method Resolution Order (MRO)
duck typing
inheritance vs. composition
modelling real-life problems using the "is a" and "has a" relations
2
creating decorators and operating with them: implementing
decorator patterns, decorator arguments, wrappers
decorator stacking
syntactic sugar
special methods: __call__, __init__
PCPP-32-101 1.5 Design, build, and use Python static and class methods
3
PCPP-32-101 1.10 Demonstrate proficiency in
performing shallow and deep copy operations
the PEP concept and selected PEPs: PEP 1, PEP 8, PEP 20, PEP 257
PEP 1: different types of PEPs, formats, purpose, guidelines
PEP 20: Python philosophy, its guiding principles, and design;
the import this instruction and PEP 20 aphorisms
4
module imports
recommendations for string quotes, whitespace, and trailing
commas: single-quoted vs. double-quoted strings, whitespace in
expressions and statements, whitespace and trailing commas
recommendations for using comments: block comments, inline
comments
documentation strings
naming conventions: naming styles, recommendations
programming recommendations
PCPP-32-101 2.3 – Employ the PEP 257 guidelines, conventions, and best
practices
5
checking the validity of user input and handling errors
working with Canvas and its methods
using the Entry, Radiobutton, and Button widgets
managing widgets with the grid and place managers
binding events using the bind() method
REST
network sockets
Domains, addresses, ports, protocols, and services
Network communication: connection-oriented vs. connectionless
communication, clients and servers
6
JSON: syntax, structure, data types (numbers, strings, Boolean
values, null), compound data (arrays and objects), sample JSON
documents and their anatomies
the json module: serialization and deserialization, serializing Python
data/deserializing JSON (the dumps() and loads methods), serializng
and deserializing Python objects
XML: syntax, structure, sample xml documents and their anatomies,
DTD, XML as a tree
processing xml files
7
reading and writing CSV data using functions and
classes: reader, writer, DictReader, DictWriter
logging events in applications
working with different levels of logging
using LogRecord attributes to create log formats
creating custom handlers and formatters
parsing and creating configuration files using
the ConfigParser object
interpolating values in .ini files