====== Java Básico 2008.2 ====== ===== Horário/Sala ===== Segundas: Terças: Laboratório: 3 ===== Grupo de Discussão ===== email para: [[java-iesp@googlegroups.com]]\\ Para visualizar os emails já enviados, acesse: [[http://groups.google.com/group/java-iesp/]]
Google Groups Beta
Inscreva-se no grupo: JAVA - 2008.2. Toda informação e discussão deve ser enviada a esta lista.
Email:
===== 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 - www.cgjug.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 | | | 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 | 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 | | | Criação de objetos;\\ Construtores; | {{tw:08-criacao-objetos-gw.pdf|Criacao de objetos}} | | Sala | | | Exercícios de criação de objetos; | | {{java:lista1.doc|Lista de exercícios 1}} | Lab | | | Strings e Arrays; | {{java:09-strings-arrays.ppt|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 | | | Exercícios em arrays; | | | Lab | | | Últimas dúvidas - exercício de arrays;\\ Discussão lista de exercícios 1; | | | Lab | | 14/10 | **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}} | | Sala | | | Exercícios em herança; | | {{java:auditoriabancoseminterface.zip|Código auditoria banco sem interface}}\\ {{java:auditoriabancocominterface.zip|Código auditoria banco com interface}} | Lab | | | Interfaces;\\ Pacotes; | {{java:12-interfaces-pacotes.pdf|Interfaces}} | [[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) | Sala | | | Exercícios com pacotes;\\ Exercícios com interfaces;\\ Dúvidas - Herança| | {{java:exemploheranca.zip|Exemplo de código com herança de tipos: USB e dispositivos}} | Lab | | | Tratamento de exceções; | {{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}} | Sala | | | Avaliação do código Interface + Continuação de Exceções | | | Lab | | | 8-) Corpus Christi | | | Praia | | | Teste de Software | [[http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/oo/testes.htm|Excelente aula do prof. Jacques sobre testes de unidade]] | | Sala | | | Avaliação final do projeto | | | lab | | | **Prova 2** | | | Sala | | | ** Prova de Reposição ** | | | Sala | | 16/12 | ** 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 5 minitestes) * 0,3 + (média aritmética de laboratórios) * 0,3 + (média aritmética de provas) * 0,4. * Prova 1: após arrays * Prova 2: final do curso Os laboratórios serão formados por grupos de no máximo 2 pessoas. ===== Notas dos alunos ===== [[http://spreadsheets.google.com/pub?key=p3dX20Y0XaQANqEcfzh3OQw|Notas]] ===== Projeto ===== ==== Descrição ==== O projeto consiste em implementar um sistema de corretora de valores. O aluno evoluirá o código durante as aulas de laboratório e a avaliação levará em conta tanto o trabalho durante o laboratório quanto as funcionalidades implantadas. Abaixo estah o documento de visao e o diagrama de classes versao 1.0 do sistema. Iremos evolui-lo com o tempo. {{java:gwcorretoradeinvestimentosv1.pdf|Documento de visao v1}}