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/21 18:58 | 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 9: | Line 9: | ||
==== Lista de discussão ==== | ==== Lista de discussão ==== | ||
<html> | <html> | ||
- | <table style="background-color: #fff; padding: 5px;" cellspacing=0> | + | <table border=0 style="background-color: #fff; padding: 5px;" cellspacing=0> |
<tr><td> | <tr><td> | ||
<img src="http://groups.google.com/groups/img/3nb/groups_bar_pt-BR.gif" | <img src="http://groups.google.com/groups/img/3nb/groups_bar_pt-BR.gif" | ||
height=26 width=132 alt="Grupos do Google"> | height=26 width=132 alt="Grupos do Google"> | ||
</td></tr> | </td></tr> | ||
- | <tr><td style="padding-left: 5px;font-size: 125%"> | + | <tr><td style="padding-left: 5px"> <b>Participe do grupo tai-iesp</b> </td></tr> |
- | <b>tai-iesp</b> | + | <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> | </td></tr> | ||
- | <tr><td style="padding-left: 5px"> <a href="http://groups.google.com/group/tai-iesp">Visitar este grupo</a> </td></tr> | + | </form> |
+ | <tr><td align=right> <a href="http://groups.google.com/group/tai-iesp">Visitar este grupo</a> </td></tr> | ||
</table> | </table> | ||
</html> | </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 30: | 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 54: | 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 96: | Line 70: | ||
* [[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 ==== | ||
- | 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. | + | ==== Avaliação ==== |
- | + | * Nota 1: No mínimo 5 mini-testes realizados em sala de aula (10,0) | |
- | Avaliação 1: após Unidade 2.\\ | + | * Nota 2: No mínimo 5 avaliações do projeto em laboratório (10,0) |
- | 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.1187737129.txt.gz · Last modified: 2007/08/21 18:59 by gustavo