====== 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/]]
Google Groups Beta
Inscreva-se no grupo: JAVA - 2008.2. Toda informação e discussão deve ser enviada a esta lista.
Email:
===== 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 ====