universidade do estado de santa catarina centro de ciências

Propaganda
UNIVERSIDADE DO ESTADO DE SANTA CATARINA
CENTRO DE CIÊNCIAS TECNOLÓGICAS
DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO
PLANO
DE
ENSINO
DEPARTAMENTO: Ciências da Computação
DISCIPLINA: Linguagem de Programação II
CARGA HORÁRIA TOTAL : 60
SIGLA: LPG II
TEORIA: 36
PRÁTICA: 24
CURSO(S): Tecnologia em Sistemas de Informação
SEMESTRE/ANO: 01/2011
PRÉ-REQUISITOS: LPG I
OBJETIVO GERAL DA DISCIPLINA
Capacitar os estudantes a projetar e implementar programas simples de computadores segundo a perspectiva
de Orientação a Objetos. Enfoque nos conceitos de Orientação a Objetos, modelagem de sistemas
(empregando a linguagem UML) e na linguagem Java.
EMENTA: Conceitos de orientação a objetos: Classes, objetos, herança, polimorfismo, ligação dinâmica,
métodos e mensagens, encapsulamento e reuso. Componentização. Classes abstratas e interfaces, herança
múltipla; Tratamento de exceções. Noções de projeto orientado a objetos. Generalização e especialização.
OBJETIVOS ESPECÍFICOS/DISCIPLINA:
APRESENTAR os principais conceitos de Orientação a Objetos (O.O.);
APRESENTAR a linguagem UML (Unified Modeling Language) para modelagem de programas e sistemas;
APRESENTAR a linguagem de programação Orientada a Objetos Java;
EXPRESSAR conceitos de O.O. através da linguagem UML (diagrama de classes);
MODELAR programas e sistemas na ótica de Orientação a Objetos expressando através da linguagem UML
(diagrama de classes);
IMPLEMENTAR programas e sistemas na linguagem Java conforme modelagem (UML) prévia.
CRONOGRAMA DE ATIVIDADES:
C.H.
CONTEÚDOS PROGRAMÁTICOS
1. Apresentação da Disciplina
8h
1.1. Plano de Ensino
1.1.1.
Ementa
1.1.2.
Objetivo
1.1.3.
Avaliações
1.1.4.
Referências Bibliográficas
12h
2.
Introdução à Programação Orientada a Objetos
2.1. O que é um programa de Computador
2.2. O que são modelos? Exemplos de Modelos.
2.3. O que é programação Orientada a Objetos (POO)
2.4. Encapsulamento
2.5. O que são Classes, Objetos, Referências e Métodos
2.6. Orientação a Objetos é necessária?
3.
UML (Unified Modeling Language)
3.1. Introdução
4.1.1.
Porque modelar?
3.2. Modelagem Estrutural Básica
3.2.1.
Classes
AVALIAÇÃO
Participação
Freqüência
Prova #1
Exercícios
Participação
Freqüência
Prova #1
3.2.2.
3.2.3.
3.2.4.
3.2.5.
8h
4h
8h
Relacionamentos
Mecanismos comuns
Diagramas
Diagramas de Classes (D. de Classes)
4.
Criando Classes em Java
4.1. Introdução
4.2. Sintaxe Básica de criação de classes em Java
4.3. Atributos de classes em Java
4.3.1.
Usando dados nativos de Java
4.3.2.
Declarando atributos de classes em Java
4.3.3.
Que tipos de dados devem ser utilizados?
4.4. Métodos em classes em Java
4.5. Escopo e Encapsulamento
4.6. Modificadores de acesso
4.7. Expressar atributos, métodos e modificadores de
acesso em UML.
5.
Elaborando aplicações simples em Java
5.1. Introdução
5.2. Desenvolvendo aplicações em Java
5.3. A palavra-chave new
5.4. A palavra-chave null
5.5. Modelar classes e aplicações mais interativas (UML)
5.6. Escrever classes e aplicações mais interativas
6.
Construtores e Sobrecarga
6.1. Introdução
6.2. O que são construtores?
6.3. Sobrecarga de métodos
5.3.1. A palavra-chave this
5.3.2. Cuidados com sobrecarga de métodos
6.4. Expressar construtores em UML
7.
Atributos e métodos estáticos
7.1 Introdução
7.2 Atributos estáticos em classes
7.3 Métodos estáticos em classes
7.4 Atributos e métodos estáticos em aplicações
7.5 Fábricas de Objetos
7.6 Expressar atributos e métodos estáticos em
UML
8
Estruturas de decisão e controle (Condicionais)
8.1 Introdução
8.2 Operadores Lógicos em Java
8.3 Estruturas de decisão e execução seletiva
8.3.1
As instruções if-else
8.3.2
O operador condicional
8.3.3
A instrução switch
9
Estruturas de decisão e controle (Repetição)
9.1 Estruturas de repetição ou iteração
9.1.1
Contadores
9.1.2
O laço while
9.1.3
O laço do-while
9.1.4
O laço for
9.2 Introdução à recursão
9.3 Introdução à otimização de laços
10 Reutilização de Classes
Trabalho #1
Exercícios
Participação
Freqüência
Prova #1
Exercícios
Participação
Freqüência
Prova #1
Exercícios
10.1 Introdução
10.2 Delegação ou composição
10.2.1 Delegação e modificadores de acesso
10.2.2 Delegação e construtores
10.2.3 Expressar composição em UML
10.3 Herança
10.3.1
A palavra-chave super
10.3.2
Sobreposição e ocultação
10.3.3
Polimorfismo
10.3.4
Expressar Delegação, Herança e
Polimorfismo em UML
Participação
Freqüência
Prova #2
8h
11 Classes Abstratas e Interfaces
11.1 Introdução
11.2 Classes Abstratas
11.3 Interfaces
11.4 Herança múltipla usando interfaces
11.4.1 Conflitos de Herança Múltipla
11.5 Classes Concretas versus Classes Abstratas
11.6 Classes Abstratas versus Interfaces
11.7 Expressar Classes Abstratas e Interfaces em
UML
Exercícios
Participação
Freqüência
Prova #2
Trabalho #2
6h
12 Arrays em Java
12.1 Introdução
12.2 Arrays Unidimensionais
11.2.1 Arrays de objetos de classes
12.3 Arrays Multidimensionais
11.3.1 Arrays irregulares
12.4 Processando argumentos da linha de comando
Exercícios
Participação
Freqüência
Prova #2
6h
13 Pacotes de classes em Java
13.1 Introdução
13.2 Criando pacotes de classes
13.3 Pacotes e modificadores de acesso
13.3.1 O modificador default
13.3.2 O modificador protected
13.3.3 Sumário dos modificadores de acesso
e de suas regras
13.4 Pacotes padrão de Java (API Java)
13.4.1 AWT
13.4.2 Javax Swing
Exercícios
Participação
Freqüência
Prova #2
60h
Carga horária total teórica/prática – 60h
METODOLOGIA PROPOSTA:
A disciplina será ministrada através de aulas expositivas da teoria, abordando aplicações desta teoria e
resolução de exercícios para fixação. Tais aulas terão uma aplicação prática em laboratório, em paralelo com
a exposição dos conceitos.
AVALIAÇÃO:
O grau de desempenho do aluno será avaliado com base no desenvolvimento das seguintes atividades e com
os seguintes critérios:
a) 2 provas individuais (cada prova valendo 35% da média);
b) 1 ou 2 trabalhos em dupla (30% da média).
BIBLIOGRAFIA BASE DA DISCIPLINA
HORSTMANN, C. & CORNELL, G.. Core Java 1. São Paulo: Makron Books, 2003.
DEITEL, H. M. & DEITEL, P. J.. Java: como programar. Porto Alegre: Bookman, 2003.
ECKEL, B.. Thinking in Java. Mindview / Prentice Hall [versão gratuita do e-book]
DAMASCENO, J. A. Aprendendo Java. São Paulo: Érica, 2001.
RITCHEY, T.. Programando com Java. Rio de Janeiro: Campus, 2000.
ARNOLD, GOSLING & HOLMES. The Java Programming Language. Addison Wesley.
Download