1. Ementa
1.1. Estudos sobre recursos avançados de orientação a objetos e da linguagem Java utilizando interface gráfica (GUI) e utilização de mecanismos de processamento para banco de dados relacional.
2. Objetivos
2.1. Conhecer e aplicar os recursos avançados de orientação a objetos e da linguagem Java no uso de Interfaces Gráficas e Web.
2.2. Cognitivos
2.2.1. - Capacitar o aluno a elaborar programas de computador que necessitem de conhecimentos de linguagem de programação Java. - Caracterizar aplicações utilizando acesso a banco de dados. - Identificar e avaliar resultados de testes dos programas desenvolvidos. - Projetar e implementar aplicações com ferramentas RAD. - Construir aplicações Java utilizando técnicas de concorrência. - Construir interfaces utilizando bibliotecas gráficas
2.3. Habilidades
2.3.1. – Compreender e desenvolver classes e seus objetos com seus atributos e métodos, aplicando herança e composição polimorfismo e encapsulamento; – Utilizar Arrays, Lists, Sets ou Maps dependendo da necessidade da aplicação. – Iterar e ordenar listas e coleções. – Acessar bancos de dados relacionais através de JDBC e mapeamento objeto-relacional. – Elaborar e executar casos e procedimentos de testes de programas com JUNIT – Implementar aplicações com Java Swing e JavaFX no Netbeans. – Implementar e refatorar aplicações para o padrão arquitetural MVC. – Construir interfaces utilizando as bibliotecas gráficas Swing e JavaFX na linguagem Java.
2.4. Atitude
2.4.1. - Reconhecer em que circunstâncias aplicar melhor os principais conceitos relacionados à orientação a objetos. - Desenvolver arquiteturas de sistemas com baixo acoplamento. - Detectar as situações que se aplicam melhor as estruturas de dados fornecidas pela linguagem Java. - Aplicar de forma correta os recursos Java fornecidos para manipulação de banco de dados - Escrever testes automatizados de maneira eficiente. - Identificar e implementar componentes das bibliotecas gráficas Swing e JavaFX. - Aplicar a distribuição de responsabilidades das classes da aplicação utilizando camadas. – Desenvolver a camada de visão usando os principais componentes do Java.
3. Bibliografia
3.1. Básica
3.1.1. - TURINI, R.; SILVEIRA, P. Java 8 Prático: Lambdas, Streams e os novos recursos da linguagem. 6ª ed. São Paulo: Casa do Código, 2014. - JANDL, P. Java Guia do Programador: Atualizado Para Java 8. São Paulo: Novatec, 2015 - DEITEL, H.; DEITEL, P. Java: como programar. 10ª ed. São Paulo: Pearson Prentice Hall, 2017 - SIERRA, Kathy; Use a Cabeça!: Java. 2. ed. Rio de Janeiro: Alta Books, 2007
3.2. Complementar
3.2.1. - WINDER, Russel. Desenvolvendo software em Java. 3 ª ed. Rio de Janeiro: LTC, 2009. - PUGA, Sandra.; RISSETTI, G. Lógica de programação e estrutura de dados, com aplicações em Java. 3ª ed. São Paulo: Pearson Education do Brasil, 2016. - GOODRICH, M. T.; TAMASSIA, R. Estruturas de dados e algoritmos em Java. 5ª ed. Porto Alegre: Bookman, 2013. - FURGERI, S. Java 8 - Ensino Didático: Desenvolvimento e Implementações de Aplicações. 1ª ed. São Paulo: Érica, 2015. - SINTES, A. Aprenda Programação Orientada a Objetos em 21 dias. 6. ed. São Paulo: Pearson Prentice Hall, 2002
4. Avaliação
4.1. 1º Estágio - Unidade I - Avaliação Escrita (2 pontos), Exercícios (3 pontos) 2º Estágio - Unidade II - Avaliação Escrita (2 pontos), Projeto da Disciplina (3 pontos) O processo avaliativo compreenderá: Primeira Avaliação (A1) no valor de 0,0 a 5,0. Segunda Avaliação (A2) no valor de 0,0 a 5,0. A Nota Final (NF) resulta da soma destas duas notas (A1 A2). É considerado aprovado na disciplina o aluno que obtiver Nota Final (NF) igual ou superior a 6,0 (seis) e que tenha, no mínimo, 75% (setenta e cinco por cento) de frequência às atividades acadêmicas.
4.2. Diagnóstica
4.2.1. Perguntas e respostas diretas ao aluno; Exercícios de fixação; Projeto prático feito em grupo; Discussões sobre a resolução dos exercícios em sala de aula; Desafios práticos extraclasse e em grupo para cada estágio.
4.3. Formativa
4.3.1. Através da verificação do desempenho nas diversas atividades descritas na metodologia, através de jogos, listas de exercícios e questionários no AVA;
4.4. Somativa
4.4.1. Listas de exercícios semanais no Ambiente Virtual de Aprendizagem (BlackBoard); Projeto prático feito em grupo; Avaliação teórica escrita individual
5. Conteúdo
5.1. Primeira Avaliação
5.1.1. História das bibliotecas gráficas da linguagem Java. 1.2 Bibliotecas Java para criar interface gráfica: AWT, Swing e Java FX. 1.3 Criação de aplicação com interface gráfica utilizando apenas código. 1.4 Frameworks e Ferramentas RAD: NetBeans e JavaFX SceneBuilder. 1.5 Criando aplicação JavaFX FXML. 1.6 Componentes gráficos: contêineres e controles. 1.7 Tratamento de eventos da Interface Gráfica.
5.2. Segunda Avaliação
5.2.1. 2. Introdução as Aplicações Web com Java (Aplicações cliente-servidor, aplicações web. Plataforma Java EE) 2.1. Fundamentos da Web e a API de Servlets 2.2. Requisições HTTP com os métodos POST e GET 3. JSP 3.1. Scriptlet 3.2. JSTL (forEach, taglib) 3.3. Geração HTML dinamicamente com JSP e JSTL 5. Projeto: Criação uma aplicação CRUD com deploy no Tomcat