Curso-extra Introdução à Java Lista de discussão

Curso extra-curricular de Java para alunos do IME

Introdução à linguagem Java


Tempo: 6 aulas aos sábados, das 9H às 12H (1 projeto)

Datas: aos sábados

  1. 14 / setembro - primeira aula
  2. 21 / setembro - segunda aula
  3. 05 / outubro - terceira aula + monitoria após a aula
  4. 19 / outubro - quarta aula + monitoria após a aula
  5. 26 / outubro - quinta aula + monitoria após a aula (entrega etapa 1 projeto)
  6. 09 / novembro - sexta aula + monitoria após a aula

Profa.: Nilsa Arean Garcia (ex-aluna do BCC)
 
[material disponível nos "links" de cabeçalho de cada aula]


[aula 1   |   aula 2   |   aula 3   |   aula 4   |   aula 5   |   aula 6   |   projeto ]


 
Aula 01 : Programação Orientada a Objetos e noções gerais da linguagem Java.   (exemplos: exemplo 1; exemplo 2)
Tópicos da Aula
  1. Fundamentos de orientação a objetos

  2. Características de orientação a objetos
  3. Definições de objetos e classes
  4. Encapsulamento e mensagens
  5. Operações envolvendo classes e objetos
  6. Introdução à metodologia OMT
  7. Fases da metodologia
  8. Análise: modelo de objetos
  9. Principais características da linguagem Java
  10. Integração de Java com outras plataformas
  11. Linguagens orientadas a objetos
  12. PARADIGMA DE ORIENTAÇÃO A OBJETOS:
  13. Alta reutilização de software, Desenvolvimento sempre evolutivo, Construções complexas a partir de construções simples, Manutenção tende a ser simples.
  14. Elementos básicos: OBJETOS, CLASSES, INSTANCIAÇÃO
    • OBJETOS: caracterização(identificação, estado interno, comportamento) e classificação
    • CLASSES: Abstrações para representar objetos com características e comportamentos comuns. Caracterização: nome, atributos e métodos. Encapsulamento. Classificação/Instanciação, Generalização/ Especialização, Agregação/ Decomposição.
    • HERANÇA
    • METODOLOGIA OMT ( Object Modeling Technique ) ou técnica de Rumbaugh.
    • FASES DA METODOLOGIA: Análise, Projeto do sistema, Projeto dos objetos, Implementação. Passos das fases. Modelos, diagramas e notações.
  15. JAVA
    • Java x Outras Linguagens
    • Características Gerais de Java
    • Suporte de Desenvolvimento: JDK ( Compilador e Interpretador ), Jbuilder ( PC ), Visual Café ( PC ), Code Warrior ( PC-Macintosh)
    • Mecanismo de Trabalho, Estrutura de um arquivo .java, Pacotes, Suporte Gráfico
    • APPLETS: Mecanismo de funcionamento, Applets em páginas, HMTL
    • Suporte para redes, Suporte para banco de dados, Suporte para objetos remotos
    • Interligação de Java com outras plataformas



Aula 02 : Programando com a linguagem Java.   (exemplos: exemplo 3; exemplo 4)
Tópicos da Aula
  1. Sintaxe da linguagem Java e programação
  2. Applets
  3. Mecanismo de funcionamento das applets
  4. Mecanismos de segurança com applets
  5. Estrutura do pacote java.applet
  6. Programação de applets
  7. Interfaceamento de applets com páginas WWW
  8. JAVA
    • Organização de um programa Java
      Estrutura básica de uma classe Sintaxe da linguagem: Palavras reservadas, Tipos básicos,Operadores e suas precedências, Comandos de controle, arrays e comentários

    • APPLETS: Mecanismos de carregamento de applets, de segurança e carga remota Gerenciamento de segurança pelos navegadores Applets carregadas localmente Estrutura do pacote java.applet Ciclo de vida e implementação de applets Interfaceamento com páginas WWW e HTML Sintaxe e atributos do marcador <applet> Passagem e recuperação de parâmetros para as applets Outros métodos importantes das applets:URL getDocumentBase(), URL getCodeBase().



Aula 03 : Estruturação de classes com a linguagem Java.   (exemplos e tarefas: exemplo 3; tarefa 3)
Tópicos da Aula
  1. Estrutura geral de uma classe
  2. Construtores e Garbage collection
  3. Operador de autoreferência this
  4. Atributos, métodos e herança
  5. Operador super
  6. Polimorfismo
  7. Classes abstratas
  8. Métodos abstratos
  9. Interfaces



Aula 04 : Pacotes, Tratamento de exceções (erros) e Mecanismos de IO (exemplo(s) 4)
Tópicos da Aula
  1. Detecção e tratamento de exceções
  2. Construção de classes e pacotes de exceções
  3. Utilização de pacotes de classes
  4. Restrições de acesso
  5. Organização do java.lang e java.util
  6. Organização do pacote java.io
  7. Classe File e interface FilenameFilter
  8. Entrada e Saída



Aula 05 : Interfaces gráficas e manipulação de imagens.
(exemplo(s) 5)
Tópicos da Aula
  1. Estrutura básica do pacote java.awt
  2. Ciclo de desenvolvimento de interfaces gráficas
  3. Componentes
  4. Estrutura básica do java.awt-components
  5. Containers
  6. Gerenciadores de layout
  7. Eventos
  8. Handler gráfico Graphics
  9. Primitivas gráficas do AWT
  10. Texto no modo gráfico
  11. Cores
  12. Pacote java.awt.image



Aula 06: Gerenciamento de processos, Threads e Applets. (exemplo(s) 6)
Tópicos da Aula
  1. Conceitos básicos de processos
  2. Concorrência e semáforos
  3. Classes Runtime e Process
  4. Threads
  5. Interface Runnable
  6. Threads concorrentes
  7. Comunicação entre threads
  8. Uso de threads em animação
  9. Implementação de Applets
  10. Ciclo de vida de uma Applet
  11. Produtores, consumidores e observadores de imagens
  12. Filtros para imagens



Projeto: Um sistema gráfico para Cálculo.

Projeto em grupo, com os alunos divididos em times (tamanho do time a ser decidido de acordo com a turma)

Objetivo geral do sistema:

  1. desenhar f(x) com parâmetros a, b, ...
  2. alterar parâmetro a (b,...), com barra de rolagem p.e., altera dinamicamente o desenho
  3. desenhar f'(x)
  4. desenhar f(.) e f'(.) em duas janelas, lado-a-lado, e pode-se animar um ponto na curva (x,f(.)), desenhando a reta tangente à f(.) neste ponto
  5. mais recursos do gênero com integral, talvez variando-se o método de integração (de modo modular, p/ o usuário escolher o método)
Dica de animação: fazer animação em AWT/Java tem alguns problemas, pois a chamada para "repaint" dentro de um laço pode ser escalonada (e portanto chamada) apenas uma vez!! Uma solução que frequente em programas é usar "threads", mas podemos também usar "double buffering" (técnica útil para evitar "imagens tremidas"). Estude os exemplos deste arquivo.

Exemplo de calculadora: aqui apresentamos um exemplo funcional de calculadora que pode ser utilizada (incrementando-a) para entrada da expressão aritmética.

Etapas: DOC com primeira etapa

Projeto - Terceira Parte
30/11/2002 - 10:00 hs

Faça uma interface gráfica em uma "applet" que ao receber (por exemplo, por
meio de um "TextField") uma função:  f(x) (R ->R), contínua e derivável, trace
as funções  f(x) e f´(x)  em um gráfico no R^2 (ou seja, desenhe graficamente
as duas funções na tela), com barras de rolagem: vertical e horizontal.
Opcionalmente, pode ser calculada, explicitamente a função   f´(x).
O código fonte deve estar, obrigatóriamente, documentado.

Lista de discussão: http://www.ime.usp.br/~leo/java2002/msq/

Apresentação: dia 30/11/2002, 10:00 hs, sala 16-B.

Grupos de no máximo 5 (cinco) componentes.


Monitorias: quatro reuniões para acampanhamento do projeto (após as aulas 3, 4, 5 e 6)


Nilsa Arean Garcia
Leônidas O. Brandão