Lógica de Programação
--- Disciplina optativa; 3 créditos ---

Introdução aos fundamentos da lógica de programação utilizando a linguagem Python. Estruturas básicas de algoritmos, variáveis e tipos de dados, operadores, estruturas de controle de fluxo (condicionais e de repetição). Definição e uso de funções. Manipulação de arquivos (csv, txt, xlsx, etc) e estruturas de dados (listas, dicionários, tuplas e conjuntos). Introdução à programação orientada a objetos: classes, atributos, métodos, encapsulamento e herança. Tratamento de erros e depuração. Leitura e visualização de dados com bibliotecas gráficas. Desenvolvimento de programas simples com foco em resolução de problemas computacionais e processamento de dados.
Introdução à Linguagem Python
- Instalação e configuração do ambiente (VSCode).
- Sintaxe básica.
- Tipos de dados primitivos (int, float, str, bool).
- Operadores aritméticos, relacionais e lógicos.
Estruturas de Controle
- Condicionais: if, elif, else.
- Estruturas de repetição: for, while.
- Compreensões de listas (list comprehensions).
Funções e Modularização
- Definição e chamada de funções.
- Parâmetros, escopo e retorno de valores.
- Introdução a módulos e pacotes.
Estruturas de Dados em Python
- Listas, tuplas, dicionários e conjuntos.
- Operações básicas e métodos úteis.
- Iteração e manipulação de coleções.
Manipulação de Arquivos
- Leitura e escrita em arquivos .txt e .csv.
- Uso do bloco with.
Operações com Vetores e Matrizes
- Criação e manipulação de arrays.
- Operações elementares e funções matemáticas.
- Indexação, slicing e broadcasting.
- Matrizes, transposição, soma, produto e inversão.
Programação Orientada a Objetos
- Conceitos básicos de POO.
- Definição de classes e objetos.
- Métodos, atributos e construtores.
- Encapsulamento e herança.
Tratamento de Erros e Depuração
- Uso de try, except, finally.
- Boas práticas de depuração.
Visualização de Dados
- Introdução a bibliotecas como matplotlib e seaborn.
- Criação de gráficos básicos: linhas, barras e dispersão.
- Personalização de gráficos (títulos, eixos, cores).