Visão Geral
Curso PCPP1 Certified Professional Python Programmer Level 1. O curso PCPP1 – Certified Professional Python Programmer Level 1 foi desenvolvido para profissionais que desejam aprofundar seus conhecimentos em programação avançada com Python, desenvolver aplicações profissionais e dominar recursos especializados da linguagem.
A formação aborda conceitos avançados de Programação Orientada a Objetos (OOP), incluindo herança, polimorfismo, encapsulamento, composição, metaclasses, decorators, métodos estáticos e métodos de classe. Também contempla padrões de codificação, boas práticas de desenvolvimento, documentação e padronização de código.
Os participantes desenvolverão competências para construir aplicações com interfaces gráficas (GUI), implementar comunicação entre sistemas por meio de sockets e protocolos HTTP, consumir serviços REST e trabalhar com formatos de dados como JSON e XML.
O conteúdo inclui ainda processamento de arquivos, manipulação de bancos de dados SQLite, logging, gerenciamento de configurações e interação com o ambiente operacional utilizando módulos da biblioteca padrão do Python.
A formação possui abordagem teórica e prática, com exercícios técnicos, laboratórios de programação e atividades direcionadas à preparação para o exame internacional PCPP1 do Python Institute (OpenEDG).
Conteúdo Programatico
Module 1 – Advanced Object-Oriented Programming
- Advanced Object-Oriented Programming Concepts
- Classes, Objects, Instances, Attributes and Methods
- Class Variables and Instance Variables
- Python Special Methods (Dunder Methods)
- Operator Overloading and Core Syntax Operations
- Inheritance, Multiple Inheritance and Method Resolution Order (MRO)
- Polymorphism, Duck Typing and Composition
- Extended Function Arguments: *args and **kwargs
- Closures and Function Decorators
- Class Decorators and Callable Objects
- Static Methods and Class Methods
- Abstract Classes and Abstract Methods
- Attribute Encapsulation, Getters, Setters and Properties
- Subclassing Built-in Python Classes
- Advanced Exception Handling and Exception Chaining
- Shallow Copy and Deep Copy Operations
- Object Serialization and Deserialization with Pickle and Shelve
- Metaclasses and Advanced Metaprogramming
Module 2 – Coding Conventions, Best Practices and Standardization
- Python Enhancement Proposals (PEPs)
- Python Philosophy and the Zen of Python (PEP 20)
- PEP 8 – Python Code Style Guide
- Code Layout, Indentation and Formatting Standards
- Naming Conventions and Import Organization
- Comments, Docstrings and Documentation Standards
- PEP 257 – Docstring Conventions
- PEP 484 – Type Hints
- Code Quality, Linters and Static Analysis
- Python Coding Best Practices and Maintainability
Module 3 – GUI Programming
- Introduction to Graphical User Interface Programming
- GUI Architecture and Event-Driven Programming
- Python GUI Toolkits and Tkinter
- Creating Windows and Application Interfaces
- Working with Widgets, Buttons, Labels and Frames
- Input Components: Entry and Radiobutton
- Geometry Management: Grid and Place
- Event Handling, Callbacks and Event Binding
- Dialog Boxes and User Interaction
- Input Validation and Error Handling in GUI Applications
- Canvas Components and Interface Customization
- Building Desktop Applications with Tkinter
Module 4 – Network Programming
- Fundamentals of Network Programming
- Client-Server Architecture and Communication Models
- Network Domains, IP Addresses, Ports and Protocols
- Connection-Oriented and Connectionless Communication
- Socket Programming with Python
- Establishing Connections and Data Transmission
- Sending and Receiving Data with Sockets
- JSON Data Structures and Serialization
- XML Data Structures and Processing
- HTTP Protocol and HTTP Methods
- REST Architecture and API Communication
- CRUD Operations: Create, Read, Update and Delete
- Building REST Clients with Python Requests
- API Responses, HTTP Status Codes and Exception Handling
Module 5 – File Processing and Communicating with a Program's Environment
- File Processing and Data Management with Python
- Database Programming with SQLite3
- Database Connections, Cursors and Transactions
- SQL Operations: SELECT, INSERT, UPDATE and DELETE
- Reading and Writing CSV Files
- Working with DictReader and DictWriter
- XML File Processing and Data Transformation
- XML Parsing and Element Tree Manipulation
- Application Logging with Python Logging
- Logging Levels, Handlers and Formatters
- Configuration File Management with ConfigParser
- Working with INI Files and Configuration Interpolation
- Operating System Interaction with the OS Module
- Date and Time Management with Datetime and Time
- Input and Output Operations with the IO Module
Module 6 – Practical Labs and PCPP1 Certification Preparation
- Advanced Object-Oriented Programming Exercises
- Implementation of Classes, Decorators and Inheritance
- Development of a Desktop Application Using Tkinter
- Implementation of a REST Client and API Integration
- Network Communication Using Python Sockets
- Data Processing with SQLite, CSV and XML
- Application Logging and Configuration Management
- Integrated Python Application Development
- Technical Review of the Five Official PCPP1 Exam Domains
- Certification Exam Preparation and Knowledge Assessment