====== Java Básico 2009.1 ======
===== Horário/Sala =====
Segundas: 18h30 - 20h10
Terças: 20h20 - 22h
Laboratório: 4
===== Grupo de Discussão =====
email para: [[java-iesp@googlegroups.com]]\\
Para visualizar os emails já enviados, acesse: [[http://groups.google.com/group/java-iesp/]]
|
Inscreva-se no grupo: JAVA - 2008.2. Toda informação e discussão deve ser enviada a esta lista.
|
===== Blog =====
[[http://gugawag.wordpress.com/]]
===== Ementa =====
Estudo de uma linguagem de programação orientada a objetos. Tipos de dados, Estrutura da linguagem. Tipos estruturados (vetor, matriz e registro). Declarações. Comandos de atribuição, condicionais e de repetição. Modularização e Subprogramas. Mensagem e troca de mensagem. Aplicações.
===== Objetivos Programáticos =====
Esta disciplina tem o objetivo de dar continuidade ao desenvolvimento do raciocínio lógico aplicado à solução de problemas em nível computacional. Programação orientada a objetos. Mensagem. Introduzir conceitos mais avançados de desenvolvimento de algoritmos, e novas estruturas de controle e de dados. Introduzir funcionalidades mais avançadas de uma linguagem de programação. Programação Visual. Ao final da disciplina o aluno estará apto a implementar programas de complexidade média.
===== Programa =====
^ UNIDADE ^ ASSUNTO ^
| 1 | Introdução e conceitos básicos |
| 1.1 | Histórico |
| 1.2 | Conceitos básicos |
| 1.3 | Ambientes de programação Java |
| 2 | Programação orientada a objetos básica |
| 2.1 | Conceitos de orientação a objetos |
| 2.2 | Criação de objetos |
| 2.3 | Encapsulamento |
| 2.4 | Strings |
| 2.5 | Coleções |
| 3 | Projeto de programas Java e Programação orientada a objetos avançada |
| 3.1 | Estruturação de programas em camadas |
| 3.2 | Herança e polimorfismo |
| 3.3 | Classes abstratas e interfaces |
| 3.4 | Tratamento de exceções |
| 3.5 | Pacotes |
| 4 | Interface gráfica e orientação a eventos |
| 4.1 | Swing |
| 4.2 | Modelo de eventos |
===== Plano de Aulas =====
^ Data ^ Assunto ^ Material ^ Referências ^ Local ^
| | Apresentar site da disciplina;\\ Apresentação do critério de avaliação e discussão sobre os objetivos da disciplina; Apresentar motivação: pirâmide de programadores\\ Definição das duplas de laboratório; | {{java:motivacao.pdf|Motivação Java}} | JUG (Java User Group) - www.pbjug.com.br\ Entrem na lista de discussão do grupo\\ [[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html|Ranking das linguagens de programação em Agosto de 2008 (postado por Ary Júnior)]] | Sala |
| | Introdução ao Java;\\ Histórico; | {{java:02-introducao-java.pdf|Histórico e Introdução a Java}} | | Sala |
| 09/02 | Prática com o Java SDK;\\ Pesquisando API de Java; | {{java:03-lab-jsdk.pdf|Usando o JSDK e pesquisando API de Java}} | Capitulo 1 do livro texto\\ Exercício para casa: [[http://gugawag.wordpress.com/primeiro-programa-java-hello|instalação JDK e HelloWorld em Java]] | Sala |
| | Ambientação com a sintaxe Java\\ **Miniteste 1** | {{java:04-sintaxe-java1.pdf|Ambientação com sintaxe java}} | {{java:exercicios1.txt|Exercícios casa}}\\ Sobre variaveis em Java (capitulo 3 do livro texto) | Lab |
| | Entrega de exercício da aula passada;\\ Ambientação com a sintaxe Java; | {{java:05-sintaxe-java2.pdf|Ambientação com a sintaxe Java - 2}} | | Lab |
| | Ambientação com a sintaxe Java;\\ Exercícios em sala; | | | Lab |
| | Introdução ao Eclipse | {{java:06-introducao-eclipse.pdf| Introdução ao Eclipse}} | | Lab |
| | Exercícios em programação estruturada | | | Lab |
| | Introdução à programação orientada a objetos;\\ Atributos;\ Encapsulamento; | {{java:07-introducao-objetos.pdf|Introdução à Orientação a Objetos}} | | Sala |
| | Métodos;\\ Acesso;\\ Exercícios em sala; | | | Sala |
| | Exercícios: definição de classes;\\ Recursos avançados do Eclipse para classes; | | | Lab |
| 03/03 | Criação de objetos;\\ Construtores; | {{tw:08-criacao-objetos-gw.pdf|Criacao de objetos}}\\ {{java:gestormidias.zip|Inicio Gestor de midias}} | Você deve importar o projeto GestorMidias e acrescentar as classes Livro, Musica e Filme, com seus respectivos atributos, e alterar o AppBiblioteca para ter as diferentes opções para essas mídias | Sala |
| | Exercícios de criação de objetos; | | {{java:lista1.doc|Lista de exercícios 1}} | Lab |
| 09/03 | Strings e Arrays; | {{java:09-strings-arrays.pdf|Strings e Arrays}} | Págs. 59 a 63 do livro Use a Cabeça | Lab |
| | Exercícios em arrays; | {{java:09-mais_sobre_arrays.pdf|Mais sobre arrays}} | | Lab |
| | Exercícios em arrays; | | | Lab |
| 31/03 | MT; Exercícios em arrays; | | | Lab |
| | Últimas dúvidas - exercício de arrays;\\ Discussão lista de exercícios 1; | | | Lab |
| 08/04 | **Prova 1** | | | Sala |
| | Coleções em Java; | | [[http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/ed/colecoes.htm|Material sobre coleções de Jacques]]\\ Livro use a cabeça:\\ Coleções: apêndice B Collections;\\ ArrayList: cap. 6 - pag 128 (página da versão em inglês) | Sala |
| | Estruturação de programas Java; | {{java:10-projetooocamadas.pdf|Projeto OO em camadas}} | | Sala |
| | Estruturação de programas Java;\\ Iniciar exercício no laboratório; | | | Lab |
| | Exercícios em estruturação de programas Java | | | Lab |
| | Exercícios em estruturação de programas Java | | | Lab |
| | Herança;\\ Polimorfismo; | {{java:11-heranca.pdf|Herança e Polimorfismo}} | {{java:animaisheranca.zip|Código Exemplo (Herança entre animais)}} | Sala |
| | Cont. Herança;\\ Polimorfismo; | | | Lab |
| 25/05 | MT;\\ Exercícios em herança; | | | Lab |
| 26/05 | Avaliação projeto de herança; | | | Lab |
| 01/06 | Interfaces;\\ Pacotes; | {{java:12-interfaces-pacotes-midias.pdf|Interfaces}} | {{java:auditoriabancoseminterface.zip|Código de auditoria de Banco sem interface}}\\ {{java:auditoriabancocominterface.zip|Código de auditoria de Banco com interface}}\\ [[http://www.artima.com/lejava/articles/designprinciples.html|Leitura: Program to an interface, not an implementation]]\\ Capítulo 8 de Use a Cabeça Java (Head First Java) | Lab |
| 02/06 | Cont. Interface | | {{java:exemploheranca.zip|Exemplo de código com herança de tipos: USB e dispositivos}} | Lab |
| 06/06 | Cont. Interface + Exceções | Das 14h às 17h | | Lab |
| 08/06 | Tratamento de exceções;\\ MT5 | {{java:13-excecoes.pdf|Exceções}} | Capítulo 11 de Use a Cabeça Java (Head First Java)\\ {{java:exemploexcecao.zip| Exemplo de uso de exceção com leitura de arquivo}} | Lab |
| 09/06 | Avaliação final do projeto;\\ MT6 | | | Lab |
| 15/06 | **Prova 2** | | | Sala |
| 16/06 | ** Prova de Reposição ** | | | Sala |
| 22/06 | ** Prova Final ** | | | Sala |
===== Bibliografia =====
==== Basica ====
* SIERRA, Kathy, BATES, Bert. Use a cabeça! Java. 2ª edição. São Paulo: Oreilly, 2006
==== Complementar ====
* DEITEL, H. M., DEITEL, P. J. Java Como Programar. 3a./5a Edição. Bookman
* Horstmann e Cornell, Core Java 2: Volume 1, Fundamentos. Makron Books, 2003.
* ECKEL, Bruce. Thinking in Java. Prentice-Hall, 3a Edição, 2003.
* [[http://www.mindview.net/Books/TIJ/|Versao online do Thinking in Java - Livro grátis]]
* CADENHEAD, Rogers. Aprenda em 21 dias Java 2. Campus, 2005.
* FLANAGAN, David. Java: O Guia Essencial Java. Bookman, 5a Edição, 2006.
===== Avaliação =====
A avaliação será composta por 2 notas. A nota final é formada da seguinte forma: (média aritmética de 4 minitestes [serão feitos 6, mas as duas menores notas serão eliminadas]) * 0,3 + (média aritmética do projeto [será avaliado em 4 momentos distintos]) * 0,3 + (média aritmética de provas [serão realizadas duas]) * 0,4.
* Prova 1: após arrays
* Prova 2: final do curso
O projeto será formado por grupos de no máximo 2 pessoas, ou será realizado de forma individual.
===== Notas dos alunos =====
[[http://spreadsheets.google.com/pub?key=p3dX20Y0XaQDktWWJ0eArMw|Notas]]
===== Projeto =====
==== Descrição ====