Differences

This shows you the differences between the selected revision and the current version of the page.

gustavo_wagner_:topicas_avancados_em_informatica 2007/08/20 18:11 gustavo_wagner_:topicas_avancados_em_informatica 2015/11/03 22:20 current
Line 1: Line 1:
-===== Tópicas Avançados em Informática 2007.2 =====+===== Tópicos Avançados em Informática 2007.2 =====
==== Horário/Sala ==== ==== Horário/Sala ====
Line 8: Line 8:
==== Lista de discussão  ==== ==== Lista de discussão  ====
-+<html>
-Cadastre-se na lista:\\+<table border=0 style="background-color: #fff; padding: 5px;" cellspacing=0>
-+ <tr><td>
-javabasicofatec@grupos.com.br\\+   <img src="http://groups.google.com/groups/img/3nb/groups_bar_pt-BR.gif"
-+         height=26 width=132 alt="Grupos do Google">
-Ao enviar e-mail à lista, coloque no início do subject: [fatec-java]+  </td></tr>
 + <tr><td style="padding-left: 5px"> <b>Participe do grupo tai-iesp</b> </td></tr>
 +  <form action="http://groups.google.com/group/tai-iesp/boxsubscribe">
 +  <tr><td style="padding-left: 5px;"> E-mail: <input type=text name=email>
 +          <input type=submit name="sub" value="Participe">
 +  </td></tr>
 +</form>
 +<tr><td align=right> <a href="http://groups.google.com/group/tai-iesp">Visitar este grupo</a> </td></tr>
 +</table>
 +</html>
==== Ementa ==== ==== Ementa ====
 +
 +Discussão de temas atuais da Informática, de interesse para a formação do profissional da área que: ou não tenham sido incorporados aos conteúdos programáticos das demais disciplinas do curso ou que precisem ser mais aprofundados.
==== Objetivos Programáticos ==== ==== Objetivos Programáticos ====
 +Capacitar a desenvolver softwares utilizando boas práticas de programação, tais como padrões de projeto, pair-programming, uso de uma metodologia de desenvolvimento e testes exploratórios. Usar tecnologias de ponta na área de desenvolvimento de sistemas que explorem: deployment de aplicações, controle de versão e servidor de aplicação.
==== Programa ==== ==== Programa ====
Line 24: Line 36:
^  UNIDADE  ^ ASSUNTO  ^ ^  UNIDADE  ^ ASSUNTO  ^
-| 1 | Introdução e conceitos básicos |+| 1 | |
-| 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 ==== ==== Plano de Aulas ====
Line 48: Line 50:
^    Data        ^  Assunto        ^        Material      ^      Referências  ^ Local ^ ^    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.ppt|Motivação Java}}      | JUG - www.cgjug.com.br\ Entrem na lista de discussão do grupo | Sala |+|  | Apresentação da disciplina |         |  | Sala |
-| Introdução ao Java;\\ Histórico;  | {{java:02-introducao-java.zip|Histórico e Introdução a Java}} |      | Sala |+|  | Conversa com o cliente sobre as necessidades |         | | Sala |
-|  | Prática com o Java SDK;\\ Pesquisando API de Java; | {{java:03-lab-jsdk.ppt|Usando o JSDK e pesquisando API de Java}} |       | Lab |+|  | cont. Conversa com o cliente sobre as necessidades |         | | Sala |
-|  | Ambientação com a sintaxe Java | {{java:04-sintaxe-java1.ppt|Ambientação com sintaxe java}} |       | Lab|+|  | Levantamento de requisitos e casos de uso |         |  | Lab |
-|  | Entrega de exercício da aula passada;\\ Ambientação com a sintaxe Java;  {{java:05-sintaxe-java2.ppt|Ambientação com a sintaxe Java - 2}}  |  {{java:javabasico.jar|Biblioteca de I/O}}\\ \\ {{java:testeentrada.java|Exemplo de uso da biblioteca}}\\ \\ {{java:javadocconsole.zip|JavaDoc da biblioteca de I/O}}  | Lab |+|  | Levantamento de requisitos e casos de uso |         |  | Lab |
-|  | Ambientação com a sintaxe Java;\\ Exercícios em sala; |    |      | Lab |+| 26/09 | Arquitetura e JSF |   {{tai:arquitetura_e_jsf.ppt}}  |  Olhar tutoriais abaixo | Sala |
-| Introdução ao Eclipse | {{java:06-introducao-eclipse.ppt| Introdução ao Eclipse}} |      | Lab |+03/10 | Reforma Lab |         |  | Lab |
-|  | Exercícios em programação estruturada |          |      | Lab |+|  10/10 | JSF e padrões de projeto | |  | Lab |
-|  | Introdução à programação orientada a objetos;\\ Atributos;\ Encapsulamento; | {{java:07-introducao-objetos.ppt|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; | {{java:08-criacao-objetos.ppt|Criação 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|String e Arrays}} |      | Sala |+
-| | Exercícios em arrays; {{java:09-mais_sobre_arrays.ppt|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 |+
-|  |  **Prova 1**  |          |      | Sala |+
-|  | Estruturação de programas Java; |    {{java:10-projetoOOcamadas.ppt|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 |          |  {{java:melhoriaCodigoAluno.zip|Código melhorado de um aluno}}    | Lab |+
-|  | Exercícios em estruturação de programas Java |          |      | Lab |+
-|  | Herança;\\ Polimorfismo; | {{java:11-heranca.ppt|Herança e Polimorfismo}} |      | Sala |+
-|  | Exercícios em herança; |          |      | Lab |+
-|  | Interfaces;\\ Pacotes; | {{java:12-interfaces-pacotes.ppt|Interfaces}} |  [[http://www.artima.com/lejava/articles/designprinciples.html|Leitura: Program to an interface, not an implementation]]    | Sala |+
-|  | Exercícios com pacotes;\\ Exercícios com interfaces;\\ Dúvidas - Herança|          |      | Lab |+
-| 01/06  | Tratamento de exceções; | {{java:13-excecoes.ppt|Exceções}} |  | Sala |+
-| 04/06 | Avaliação do código  Interface + Continuação de Exceções |          |      | Lab |+
-|<html><font color="red"> 08/06</font></html> | 8-) <html> <font color="red"> Corpus Christi </font></html> |          |      | Praia |+
-| 11/06 | 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 |+
-| 15/06  | Avaliação final do projeto |          |      | lab |+
-| 18/06  |  **Prova 2**  |          |      | Sala |+
-| 22/06  |  ** Prova de Reposição **  |          |      | Sala |+
-| 25/06  | ** Prova Final ** |          |      | Sala |+
==== Bibliografia ==== ==== Bibliografia ====
Line 89: Line 69:
  * Core Java 2: Volume 1, Fundamentos. Horstmann e Cornell, Makron Books, 2000.   * Core Java 2: Volume 1, Fundamentos. Horstmann e Cornell, Makron Books, 2000.
  * [[http://www.mindview.net/Books/TIJ/|Thinking in Java - Livro grátis]]   * [[http://www.mindview.net/Books/TIJ/|Thinking in Java - Livro grátis]]
 +
==== Avaliação ==== ==== Avaliação ====
-A avaliação será composta por 2 notas. Cada nota é formada da seguinte forma: (nota de prova escrita) * 0,6 + (nota de laboratórios) * 0,4. Os laboratórios serão formados por grupos de no máximo 2 pessoas.+  * Nota 1: No mínimo 5 mini-testes realizados em sala de aula (10,0)
-+  * Nota 2: No mínimo 5 avaliações do projeto em laboratório (10,0)
-+
-Avaliação 1: após Unidade 2.\\+
-Avaliação 2: após Unidade 4.+
=== Notas dos alunos === === Notas dos alunos ===
-{{java:notas-tai-2007.2.xls|Notas}}+{{tai:notas-tai-2007.2.xls|Notas}}
==== Projeto ==== ==== Projeto ====
=== Descrição === === Descrição ===
-O projeto consiste em implementar um sistema bancário. 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. +
 +O projeto consiste em implementar um sistema de acompanhamento de estágios. 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. O sistema deve ter minimamente dados sobre:
 +
 +  * Empresas;
 +  * Estagiários;
 +  * Carga-horária do estágio;
 +  * Área de Atuação do Estagiário;
 +  * etc.
 +
 +O cliente é a Coordenação de Sistemas de Informação. Todos os requisitos deverão ser levantadas juntamente com o professor Bruno e/ou Jefferson.
 +
 +=== Metodologia ===
 +
 +== Papéis ==
 +
 +  * Cliente: definir as necessidades do sistema. (coordenação de SI do IESP)
 +  * Gerente: Manter o projeto no prazo e avaliar a equipe de desenvolvedores. (prof. Gustavo)
 +  * Analista de requisitos: levantar requisitos e modelá-los em UML; (alunos)
 +  * Arquiteto de Software: definir arquitetura para o sistema; (prof. Gustavo)
 +  * Desenvolvedores: desenvolver código a partir dos casos de uso levantados. (alunos)
 +
 +=== Arquitetura do Sistema ===
 +
 +{{tai:arquitetura.gif}}
 +
 +=== Ferramentas ===
 +
 +  * Java Sun Studio Creator V2 Update 1: http://developers.sun.com/jscreator/downloads/ (é necessário ser cadastrado na sun developers. Para se cadastrar, vá no site: https://reg.sun.com/register?program=sdn);
 +  * JBoss Eclipse IDE: http://docs.jboss.com/jbosside/install/build/en/html/installation.html;
 +  * JBoss 4.2.1.GA: http://labs.jboss.com/jbossas/downloads; (basta descompactar na raiz);
 +  * JSDK 1.5 ou superior;
 +  * ArgoUML: http://argouml.tigris.org/
 +  * CVS: usaremos o cvs público do java.net. Para isso, iremos criar um projeto lá para cada grupo. Primeiramente, crie uma conta no java.net: https://www.dev.java.net/servlets/Join
 +
 +=== Tutoriais ===
 +
 +== Sun Studio Creator e JSF ==
 +
 +  * Introdução à ferramenta:  http://developers.sun.com/jscreator/learning/tutorials/2/jscintro.html  http://developers.sun.com/jscreator/learning/tutorials/2/helloweb.html
 +
 +  * Trabalhando com componentes:  http://developers.sun.com/jscreator/learning/tutorials/2/about_components.html  http://developers.sun.com/jscreator/learning/tutorials/2/message_components.html
 +
 +  * Navegação entre páginas:  http://developers.sun.com/jscreator/learning/tutorials/2/simplepagenav.html
 +
 +  * Mais tutoriais em: http://developers.sun.com/jscreator/learning/tutorials/2/index.jsp
 
gustavo_wagner_/topicas_avancados_em_informatica.1187647907.txt.gz · Last modified: 2007/08/20 18:19 by gustavo