Skip to content
No description, website, or topics provided.
Java Kotlin Other
Branch: master
Clone or download
Latest commit 6d0c505 Oct 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
aulas Update aula12.md Oct 17, 2019
img Add files via upload Oct 15, 2019
src codigo swing Oct 16, 2019
trabalhos trabalhos alunos Sep 23, 2019
README.md atualizando links Oct 16, 2019

README.md

Paradigmas de Programação

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.

Aulas

Trabalhos

Projeto Final

  1. Unidade 1: Apresentação do tema
  2. Unidade 2: Apresentação de algum framework, biblioteca ou linguagem que possa ser utilizada (não é para usar no projeto ainda).
  3. Unidade 3: Entrega do projeto final. Algumas restrições:
    • Usar pelo menos uma linguagem estaticamente tipada.
    • A aplicação pode ser para desktop, mobile ou web
      • Monolitico, um único codebase
      • Quebrado em frontend e backend (cliente servidor)
    • A aplicação deve ser capaz de criar, deletar e atualizar dados de alguma fonte: banco de dados embutido (sqlite, hsqldb ), servidor de banco de dados (mysql, postgres), API Web, Firebase, Mongodb, Google Apps ....
    • Usar orientação objetos, apresentar um diagrama de classes. Necessário ter algumas classes do modelo de negocio. Não apenas classes associadas ao framework.

Conteúdo programático

  1. Conceitos de Linguagens de Programação
  • 1.2. Por que estudar paradigmas de programação ?
  • 1.3. Evolução das linguagens de programação
  • 1.4. Principais características das linguagens de programação
  • 1.5. Introdução aos paradigmas de programação
  • 1.6. Introdução a programação funcional
  • 1.7. Introdução a programação lógica
  1. Conceitos básicos de Orientação a Objetos
  • 2.1. Abstração;
  • 2.2. Objetos;
  • 2.3. Classes;
  • 2.4. Atributos;
  • 2.5. Métodos;
  • 2.6. Encapsulamento e modificadores de acesso;
  1. Herança e Polimorfismo
  • 3.1. Subclasses
  • 3.2. Subtipos e supertipos
  • 3.3. Tipo estático e dinâmico
  • 3.4. Polimorfismo
  • 3.5. Classes Abstratas e Interfaces
  • 3.6. Pacotes
  1. Exemplos práticos e tópicos avançados
  • 4.1 Plataforma Java
  • 4.2 Tratamento de excecões
  • 4.3 Generics e coleções
  • 4.4 Swing - Java GUI widget toolkit
  • 4.5 The Java Database Connectivity (JDBC)
  • 4.6 Metaprogramação
  • 4.7 Java Reflection
  • 4.8 Lambda, Streams e Optionals

Referências

Básicas

  1. Sebesta, Robert W., Conceitos de Linguagens de Programação. 9º edição, Bookman, 2011.
  2. Deitel, H. M. & Deitel, P. J. Java Como Programar. 8º edição. Pearson, 2010.
  3. Bjarne Stroustrup. Princípios e Práticas de Programação Com C++, Bookman. 2012.
  4. David A. Watt. Programming Language Design Concepts. Wiley, 2006
  5. Kawano, Wilson. Migrando De C Para C++. 1º Edição, Ciência Moderna. 2010.

Complementares

  1. Varejão, F. M. Linguagens de Programação: Conceitos e Técnicas. 2004.
  2. Allen Tucker; Robert Noonan, Linguagens de Programação Princípios e Paradigmas, 2ª Edição, McGraw-Hill, 2009.
  3. Claudio Cesar de Sá e Marcio Ferreira da Silva. Haskell – Uma abordagem prática, Novatec, 2006.
You can’t perform that action at this time.