Programação em Python
Descrição
CURSO ONLINE - O Python é uma das linguagens de programação mais versáteis e amplamente utilizadas no mundo. Com uma sintaxe simples e um vasto ecossistema de bibliotecas, o Python tornou-se a escolha preferida de "desenvolvedores" em diversas áreas, incluindo desenvolvimento web, ciência de dados, aprendizagem automática, automação e muito mais.
Este curso foi concebido para proporcionar aos participantes uma base sólida em Python, ajudando-os a desenvolver competências aplicáveis a cenários reais. Através de projetos práticos, exercícios interativos e uma orientação passo-a-passo, os participantes ganharão confiança e conhecimentos técnicos para utilizar o Python de forma eficaz nas suas carreiras.
Quer seja um programador principiante, um profissional experiente à procura de aperfeiçoar as suas competências, ou esteja a iniciar os seus conhecimentos em programação, este curso foi pensado para atender às necessidades de participantes de todos os níveis.
Objetivos
- Construir uma base sólida em Python: Compreender a sintaxe do Python, as estruturas de dados e os conceitos essenciais de programação, como variáveis, funções e controlo de fluxo.
- Desenvolver competências de resolução de problemas e lógica: Aprender a abordar problemas de forma sistemática e a implementar soluções eficazes utilizando Python.
- Criar aplicações práticas: Aprender a desenvolver aplicações como scripts de automação, interfaces gráficas, ferramentas baseadas em bases de dados e clientes de API, através de exercícios práticos.
- Explorar tópicos avançados: Aprofundar conhecimentos com programação orientada a objetos, tratamento de erros, utilização de API e outros temas avançados.
- Trabalhar com dados e bases de dados: Adquirir competências para manipular ficheiros, processar dados e conectar aplicações Python a bases de dados.
- Adotar boas práticas da indústria: Aprender a escrever código limpo, modular e fácil de manter, seguindo as melhores práticas recomendadas no desenvolvimento em Python.
- Adquirir competências em Python que são altamente requisitadas no mercado de trabalho em áreas como ciência de dados, aprendizagem automática, desenvolvimento web e outras indústrias em crescimento.
Conteúdos Programáticos
1. Introdução ao Python
- Instalar o Python: Instruções passo-a-passo para instalar o Python no Windows, macOS e Linux.
- Configuração de um IDE: Guia para configurar um Ambiente de Desenvolvimento Integrado (IDE) como PyCharm, VSCode ou Jupyter Notebook. Programa "Hello World":
- Escrever e executar o primeiro programa em Python.
2. Fundamentos do Python
- Variáveis e Tipos de Dados: Explicação sobre variáveis, tipos (inteiros, floats, strings, booleanos) e tipagem dinâmica. Operadores Básicos: Operadores aritméticos, de comparação, de atribuição, lógicos e bitwise. Comentários e Docstrings: Como adicionar comentários de linha única e multi-linha, e o uso de docstrings.
3. Fluxo de Controlo
- Instruções Condicionais: Introdução às instruções if, elif e else. Loops: Visão geral de for e while, e como iterar sobre sequências. Instruções Break e Continue: Controlar o comportamento dos loops com break e continue. Tratamento de Exceções: Introdução a try, except, finally e raise para lidar com erros de forma elegante.
4. Funções
- Definição de Funções: Sintaxe para criar funções usando def. Argumentos de Função: Diferentes tipos de argumentos (posicionais, por palavra-chave, padrão e comprimento variável). Instrução Return: Como usar return para devolver valores a partir de funções. Funções Lambda: Introdução a funções anónimas utilizando lambda.
5. Estruturas de Dados
- Listas: Criar, aceder, modificar e cortar listas. Tuplos: Compreender os tuplos e a sua imutabilidade. Dicionários: Pares chave-valor, acesso e modificação de dicionários. Conjuntos (Sets): Introdução aos conjuntos e operações de conjuntos (união, interseção, diferença). Trabalhar com Coleções: Operações comuns em coleções como iteração, compreensão e transformações.
6. Manipulação de Strings
- Noções Básicas de Strings: Criar e manipular strings, incluindo slicing e indexing. Métodos de Strings: Métodos comuns (e.g., .upper(), .lower(), .replace(), .find(), .split()). Strings Formatadas: Introdução a f-strings, .format() e métodos de formatação com %.
7. Tratamento de Erros e Depuração
- Tipos de Erros: Visão geral de erros de sintaxe, de execução e lógicos. Ferramentas de Depuração: Usar instruções print, pdb (Python Debugger) e ferramentas de depuração do IDE. Registo de Logs: Fundamentos do registo de logs para acompanhar a execução do código e identificar problemas.
8. Módulos e Pacotes
- Importação de Módulos: Utilizar módulos integrados e criar módulos personalizados. Trabalhar com Bibliotecas Padrão: Visão geral de bibliotecas úteis (e.g., math, datetime, random, os). Instalar Pacotes Externos: Usar pip para instalar pacotes e gerir ambientes virtuais.
9. Manipulação de Ficheiros
- Leitura e Escrita de Ficheiros: Usar open, read, write e close para operações com ficheiros. Trabalhar com Caminhos de Ficheiros: Introdução aos módulos os e pathlib para gestão de caminhos de ficheiros. Lidar com Diferentes Tipos de Ficheiros: Trabalhar com ficheiros CSV, JSON e de texto usando Python.
10. Programação Orientada a Objetos (OOP)
- Classes e Objetos: Fundamentos da definição de classes, criação de objetos e utilização de atributos e métodos. Encapsulamento, Herança e Polimorfismo: Conceitos da OOP com exemplos práticos. Métodos Especiais: Compreender os métodos mágicos (dunder) como __init__, __str__ e __len__.
11. Trabalhar com Bases de Dados
- Introdução às Bases de Dados: Compreender bases de dados relacionais e não relacionais.
- Noções de SQLite: Usar SQLite com Python através da biblioteca sqlite3. Operações CRUD: Executar operações de Criar, Ler, Atualizar e Apagar em bases de dados. Conetividade com Bases de Dados: Ligar Python a bases de dados externas como MySQL ou PostgreSQL.
12. Trabalhar com APIs
- Compreender APIs: Introdução às APIs, sua finalidade e arquitetura RESTful. Fazer Requisições HTTP: Usar a biblioteca requests para realizar requisições GET, POST, PUT e DELETE. Tratar Respostas de APIs: Analisar respostas em JSON e lidar com códigos de status HTTP. Métodos de Autenticação: Visão geral de chaves de API, OAuth e autenticação básica. Aceder a APIs públicas (e.g., OpenWeather, GitHub).
- Criar a sua própria API: Introdução à criação de APIs usando Flask ou FastAPI. Implementar endpoints básicos e testar com ferramentas como Postman.
13. Trabalhar com Interfaces Gráficas (UI) em Python
- Introdução ao Desenvolvimento de Interfaces Gráficas: Visão geral de bibliotecas GUI em Python, como Tkinter, PyQt e Kivy.
Metodologias
Este curso será online, adotando uma estratégia muito semelhante à formação presencial. Teremos sessões de forma síncrona/em direto (formador e participantes estão online através de sistema de videoconferência), onde o formador abordará os conteúdos da formação e interagirá com os participantes e estes com o formador e com os restantes colegas.
Entre cada sessão síncrona, haverá atividades assíncronas que cada participante desenvolverá autonomamente, reforçando a sua aprendizagem.
Todos os módulos terão atividades individuais e/ou em grupo para investigação e estudo dos temas, consolidação de conhecimentos e prática nos softwares apresentados nas sessões síncronas.
Destinatários
Este curso está orientado para pessoas que pretendam conhecer, aperfeiçoar, explorar e retirar o máximo potencial da programação em Python.
Pré-requisitos
- Não existem pré-requisitos de conhecimentos, embora o conhecimento de algoritmia seja útil.
- Acesso à internet, webcam, microfone e auscultadores.
Formadores
Paulo Alexandre Serafim - formador na área das ciências informáticas há mais de 15 anos. Com vasta experiência em formação aos mais diversos níveis, tem-se dedicado à programação em diversas áreas, nomeadamente na programação Web e bases de dados.