Obrigatória – 60 horas – 4 créditos
Pré-requisitos: Técnicas de Programação II e Análise de Sistemas
Professor Responsável: Rodrigo Santos
Objetivos da Disciplina
Capacitar o aluno a projetar e construir sistemas utilizando um ambiente de programação orientada a objetos em Java.
Ementa
Seleção de um ambiente com uma linguagem de programação que dê suporte ao modelo cliente-servidor; construção de programas: estruturado, orientado a eventos e a objetos; teste; asserção de qualidade de programas, implementação de sistema; treinamento de usuário; entrega de sistema; revisão pós-implementação; gerenciamento de configuração; manutenção; engenharia reversa e re-engenharia.
Conteúdo Programático
- Fundamentos de Orientação a Objetos e sua implementação em Java
- Introdução a Java (JVM, tipos primitivos, estruturas de controle de fluxo, entrada/saída console)
- Classes e objetos
- Atributos, operações e métodos
- Herança e Polimorfismo
- Interface
- Composição
- Pacotes
- Tratamento de ExceçõesVariável
- Ambiente de Desenvolvimento em Java
- Principais características do ambiente
- Fundamentos de programação usando o ambiente
- Depuração de programas
- Reestruturação Automática de Código
- Geração Automática de Código
- Bibliotecas básicas para projeto e construção de sistemas em Java
- Java Generics
- Estruturas de dados utilizando Collections (List, Set, Map)
- Acesso a arquivos utilizando arquivos texto e binários
- Serialização Binária e XML
- Java Reflection
- Construção de Interface gráfica com usuário com Java Swing
Metodologia
Aprendizagem baseada em projeto: ao longo da disciplina o aluno deve projetar e construir, em grupo, um sistema de informação definido pelo professor.
Aprendizagem baseada em problemas/Exposição de conteúdo: para apoiar o aluno na realização do projeto, são realizadas aulas presenciais baseadas na resolução de problemas, isto é, a partir de problemas de implementação predefinidos, os conceitos necessários para a sua resolução são apresentados e imediatamente aplicados em conjunto com os alunos.
Avaliação
- Provas práticas bimestrais realizadas em laboratório.
- Projeto e construção de um sistema desenvolvido ao longo do semestre.
A nota final do aluno é a média entre a nota final atribuída ao projeto e a média das provas práticas.
Alunos com nota final entre 4,0 e 7,0 deverão fazer uma prova final prática em laboratório.
Bibliografia
- Cornell, Gary. Core Java Fundamentals. Prentice Hall, 2012.
- Pressman, Roger. Software Engineering: a Practitioner’s Approach. Mc-Graw Hill, 7a. edição, 2011.
- Manuais das linguagens e ambientes de programação selecionadas: