Exam block #1: Creating and Distributing Packages (20%)
Objectives covered by the block (8 exam items)
- Using pip
- Basic directory structure
- The setup.py file
- Sharing, storing, and installing packages
- Documentation
- License
- Testing principles and techniques
- unittest – Unit testing framework
- Pytest – framework to write tests
Exam block #2: Design Patterns (20%)
Objectives covered by the block (8 exam items)
- Object-oriented design principles and the concept of design patterns
- The Singleton Design Pattern
- The Factory Pattern
- The Façade Pattern
- The Proxy Pattern
- The Observer Pattern
- The Command Pattern
- The Template Method Pattern
- Model-View-Controller
- The State Design Pattern
Exam block #3: Interprocess Communication (20%)
Objectives covered by the block (8 exam items)
- multiprocessing — Process-based parallelism
- threading — Thread-based parallelism
- subprocess — Subprocess management
- Multiprocess synchronisation
- queue — A synchronized queue class
- socket — Low-level networking interface
- mmap — Memory-mapped file support
Exam block #4: Python Network Programming (20%)
Objectives covered by the block (8 exam items)
- Python Socket Module
- Introduction to sockets
- Server Socket Methods
- Client socket methods
- General socket methods
- Client-Server vs. Peer-to-peer
- Other Internet nodules
Exam block #5: Python-MySQL Database Access (20%)
Objectives covered by the block (8 exam items)
- Relational databases – fundamental principles and how to work with them
- MySQL vs. rest of the world
- CRUD Application
- db connection
- db create
- db insert
- db read
- db update
- db delete
Last updated: March 11, 2019
Aligned with PCPP-32-201