Paradigmas de Programação¶
Bem-vindo ao material didático da disciplina de Paradigmas de Programação! Este livro serve como guia completo da disciplina, cobrindo desde o estudo comparativo dos grandes paradigmas de linguagens até um aprofundamento em Orientação a Objetos com Java, tomado como estudo de caso detalhado de um dos paradigmas apresentados.
📋 Plano da Disciplina¶
| Estrutura | 3 unidades: Fundamentos e Paradigmas, Orientação a Objetos, Java Avançado |
| Linguagem de estudo aprofundado | Java (Java 21 LTS) |
| Pré-requisitos | Lógica de programação e experiência com alguma linguagem imperativa |
Ementa: Principais paradigmas de linguagens de programação. Estudo comparativo dos paradigmas. Integração de paradigmas. Estudo detalhado de uma linguagem de programação baseada em um dos paradigmas apresentados — neste caso, Java e o paradigma orientado a objetos.
🎯 Estrutura do Curso¶
📘 Unidade 1: Paradigmas e Fundamentos de Java¶
Estabelecemos o vocabulário comum para comparar linguagens — o que é um paradigma, como as linguagens se classificam (imperativo, orientado a objetos, declarativo) e como são implementadas (compilação, interpretação, máquinas virtuais). Em seguida, damos os primeiros passos em Java: sua história, seus princípios de design, e a sintaxe básica de tipos, expressões e comandos.
📙 Unidade 2: Orientação a Objetos em Java¶
O núcleo do curso. Estudamos os pilares da orientação a objetos — objetos, classes, encapsulamento, herança, polimorfismo — sempre ancorados em exemplos concretos de Java moderno, com uma comparação recorrente entre a prática da linguagem e os conceitos de projeto de linguagens que a fundamentam. Fechamos com uma visão geral de princípios e padrões de projeto orientados a objetos.
📗 Unidade 3: Java Avançado¶
Exploramos tópicos essenciais para uso profissional de Java: tratamento de exceções, o Java Collections Framework, persistência com JDBC, interfaces gráficas com Swing, reflexão e o estilo funcional trazido pelo Java 8+ (lambdas, streams, Optional). O livro termina com uma lista de exercícios resolvidos que integra os conceitos das três unidades.
📚 Bibliografia e Referências¶
- Sebesta, Robert W. Conceitos de Linguagens de Programação. 9ª edição, Bookman, 2011.
- Deitel, H. M. & Deitel, P. J. Java Como Programar. 10ª edição, Pearson.
- Watt, David A. Programming Language Design Concepts. Wiley, 2006.
- Flanagan, David & Evans, Benjamin. Java in a Nutshell. O'Reilly.
- Bloch, Joshua. Effective Java. 3ª edição, Addison-Wesley, 2018.
- Documentação oficial: Oracle Java Documentation.