Plano de Ensino 📅
Curso: Paradigmas de Programação e Padrões de Projeto
Ementa
- Módulo 1: Fundamentos dos Paradigmas: Da evolução histórica ao paradigma funcional. Compreensão das raízes e estilos básicos.
- Módulo 2: Comparação e Princípios: Princípios SOLID, modelagem de software, acoplamento, coesão e problemas comuns de design.
- Módulo 3: Padrões Criacionais: Design Patterns focados na criação de objetos: Singleton, Factory Method, Abstract Factory e Builder.
- Módulo 4: Padrões Estruturais e Comportamentais: Organização de sistemas com Adapter, Composite, Decorator e gerenciamento de interações com Strategy, Observer e MVC.
- Módulo 5: Projeto Final: Integração dos conceitos em um projeto prático de arquitetura de software.
Cronograma (16 Aulas)
Módulo 1: Fundamentos dos Paradigmas
- Aula 01: Introdução aos Paradigmas de Programação 🧩
- Aula 02: Paradigma Imperativo e Estruturado 🏗️
- Aula 03: Paradigma Orientado a Objetos (POO) 📦
- Aula 04: Paradigma Funcional ⚡
Módulo 2: Comparação e Aplicação de Paradigmas
- Aula 05: Comparando Paradigmas na Prática ⚖️
- Aula 06: Paradigmas Modernos e Multi-Paradigma 🌐
- Aula 07: Princípios SOLID de Projeto de Software 📐
- Aula 08: Problemas Comuns de Design (Code Smells) ⚠️
Módulo 3: Padrões Criacionais
- Aula 09: Introdução aos Padrões de Projeto (GoF) 📖
- Aula 10: Padrões Criacionais (Singleton, Factory, Builder) 🏭
- Aula 11: Aplicando Padrões Criacionais em Projeto 🛠️
Módulo 4: Padrões Estruturais e Comportamentais
- Aula 12: Padrões Estruturais (Adapter, Composite, Facade) 🔗
- Aula 13: Padrões Comportamentais (Strategy, Observer, Template Method) 🧠
- Aula 14: MVC e Arquitetura de Software 🏛️
- Aula 15: Refatoração com Padrões ♻️
Módulo 5: Projeto Final
- Aula 16: Desenvolvimento de Mini Projeto 🏆
Avaliação
- Exercícios: 16 listas de exercícios teóricos e práticos (5 questões por aula).
- Quizzes: 16 quizzes rápidos para fixação (minimo de 10 perguntas).
- Projetos: 16 mini-projetos práticos aplicando os conceitos de cada aula.
- Projeto Integrador: Desenvolvimento de uma solução arquitetada utilizando múltiplos padrões de projeto.