UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ – CEAVI DIREÇÃO DE ENSINO - DEN PLANO DE ENSINO DEPARTAMENTO: Sistemas de Informação DISCIPLINA: Programação Avançada para a Internet SIGLA: PAI PROFESSOR: Leonardo Sommariva E-MAIL: [email protected] CARGA HORÁRIA TOTAL: 72 TEORIA: 12 PRÁTICA: 60 CURSO(S): Sistemas de Informação SEMESTRE/ANO: 1/2013 PRÉ-REQUISITOS: Programação III OBJETIVO GERAL DO CURSO: O curso de Bacharelado em Sistemas de Informação objetiva formar profissionais críticos, criativos, investigativos, éticos e empreendedores. Além disso, deverão ser capazes de atuar em ambientes gerais de informática, como no desenvolvimento, análise, implementação, gerenciamento, gestão de contratos, modelagem e gestão de projetos. Inclusive, os profissionais deverão ter a capacidade de desenvolver soluções apoiadas em tecnologias de informação (computação e comunicação), dados e sistemas que abordem processos administrativos e de negócios das organizações. EMENTA: Programação dinâmica para WEB: Java Script, XML; Bancos de dados para a Web. Servidor Web, Tecnologias para Web. OBJETIVO GERAL DA DISCIPLINA Proporcionar aos graduandos técnicas de programação utilizadas na elaboração de aplicativos voltados à Internet. Serão utilizadas as linguagens JAVA, HTML 5, CSS, Java Script e XML. Será utilizado o framework JSF. OBJETIVOS ESPECÍFICOS/DISCIPLINA: Possibilitar ao aluno: i) conhecer linguagens utilizadas para desenvolvimento de aplicativos voltados à Internet; ii) estudar formas de resolução de problemas em programas desenvolvidos para Internet; iii) familiarizar-se com a prática de programação para Web em Linguagem JAVA com utilização do framework JSF. Cronograma de Atividades: CRONOGRAMA DE ATIVIDADES: Data Horário Aula Conteúdo 22/02 18:50 / 20:30 1 22/02 20:40 / 22:20 2 01/03 01/03 08/03 08/03 15/03 15/03 22/03 22/03 05/04 05/04 12/04 12/04 19/04 19/04 26/04 26/04 03/05 03/05 10/05 10/05 17/05 17/05 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 18/05 18/05 18/05 18/05 07/06 07/06 14/06 14/06 08:00 / 09:40 09:50 / 11:30 14:00 / 15:40 16:00 / 17:40 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 25 26 27 28 29 30 31 32 21/06 21/06 28/06 28/06 05/07 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 20:40 / 22:20 18:50 / 20:30 33 34 35 36 37 Introdução. Apresentação do plano de ensino. Discussão de métodos avaliativos. Conceitos básicos. Introdução ao desenvolvimento para internet. Conceitos básicos de HTML. HTML, DOM, estrutura de arquivo HTML. Novos elementos do HTML 5. Introdução ao CSS CSS: Seletores e propriedades Java Script: Estruturas de seleção e repetição. Funções. Introdução ao Framework JQuery JQuery: Eventos JQuery: Manipulação de elementos JQuery: Recursos avançados e animação Entrega e apresentação do trabalho 1(T1) Introdução sobre MVC. Introdução ao Java Server Faces. JSF: Conceitos, Ciclo de Vida JSF: Componentes JSF: Componentes JSF: Validação e Conversão JSF: Validação e Conversão JSF: Templates JSF: Vinculação de Componentes Visuais JSF: Ajax Entrega e apresentação do trabalho 2(T2) JPA: Mapeamento Objeto-Relacional JPA: Criação e Configuração de Unidade de Persistência Primeira entrega do Projeto Interdisciplinar (T4) JPA: Consultas JPA: Mapeamento de Relacionamentos - Many to one JPA: Mapeamento de Relacionamentos - One to many JPA: Mapeamento de Herança JPA: Mapeamento de Chave Primária Composta JPA: Mapeamento de Relacionamentos - Many to Many JPA: Mapeamento de Relacionamentos - Many to Many PrimeFaces: Conceitos Básicos Entrega e apresentação do trabalho 3(T3) PrimeFaces: Apresentação de Componentes PrimeFaces: Apresentação de Componentes Desenvolvimento do Projeto Interdisciplinar Entrega final do Projeto Interdisciplinar (T5) Exame Final METODOLOGIA PROPOSTA: Explicar o conteúdo baseado numa aula expositivo-dialogada. Iniciar-se-á cada aula abordando os pré-requisitos e a motivação para o conteúdo da aula. Em seguida, far-se-á uma apresentação no quadro (e eventualmente no Power Point) abordando o conteúdo. A cada explicação, exemplos serão apresentados para melhor entendimento. AVALIAÇÃO: Média Final = T1*0,20+T2*0,20+T3*0,20+T4*0,10+T5*0,20+LE*0,10 T1: Primeiro trabalho (HTML 5, CSS e JavaScript) T2: Segundo trabalho (JSF) T3: Terceiro trabalho (JSF + JPA) T4: Primeira entrega do Projeto Interdisciplinar T5: Entrega final do Projeto Interdisciplinar LE: Listas de Exercícios As notas referentes aos trabalhos 4 e 5 (T4 e T5) adotarão a implementação do Projeto Interdisciplinar (PI). Os softwares utilizados ao longo da disciplina são: - NetBeans 7.3 com JAVA EE - Servidor Apache Tomcat - Banco de Dados MySQL - Ferramenta MySQL WorkBench O aluno (a) que não realizar as provas e apresentação de trabalho na data estabelecida deverá preencher requerimento junto à secretaria para realização de avaliação em nova data. BIBLIOGRAFIA PRINCIPAL: BASHAM, Brian; SIERRA, Kathy; BATES, Bert. Use a cabeça!: Servlets & JSP. Rio de Janeiro : Alta Books, 2005. 534 p, il. BAUER, Christian; KING, Gavin. Java Persistence com Hibernate. Rio de Janeiro: Ciência Moderna, 2007. 844 p. BUDD, Andy; MOLL, Cameron; COLLISON, Simon. Criando páginas web com CSS: soluções avançadas para padrões web. São Paulo: Pearson Prentice Hall, 2006. 260 p. BURNS, Ed; SCHALK, Chris. JavaServer Faces 2.0: the complete reference. New York : McGraw-Hill, 2009, 752 p, il. CONALLEN, Jim. Desenvolvendo aplicações WEB com UML. Rio de Janeiro : Campus, 2003. 476p, il. Tradução de: Building Web applications with UML. FREEMAN, Elisabeth; FREEMAN, Eric. Use a cabeça!: HTML com CSS e XHTML. 2.ed. Rio de Janeiro : Alta Books, 2008. 616 p, il. LUCKOW, Décio Heinzelmann; MELO, Alexandre Altair de. Programação Java para a Web. São Paulo, SP: Novatec, 2010. 637 p.. MEMÓRIA, Felipe. Design para a Internet: projetando a experiência perfeita. Rio de Janeiro: Campus, 2006. 171 p. MORRISON, Michael. Use a cabeça!: JavaScript. Rio de Janeiro : Alta Books, 2008. 640 p, il. BIBLIOGRAFIA DE APOIO: AHMED, Khawar Zaman; UMRYSH, Cary E. Desenvolvendo aplicações comerciais em Java com J2EE e UML. Rio de Janeiro : Ciência Moderna, 2003. 302p, il. Tradução de: Developing enterprise Java applications with J2EE and UML. ARNOLD, Ken; GOSLING, James; HOLMES, David. A linguagem de programação Java.4. ed. Porto Alegre : Bookman, 2007. 799 p. BARNES, David J. Programação Orientada a Objetos com Java: Uma Introdução Prática Utilizando o Blue J. David J. Barnes, Michel Kölling. São Paulo: Pearson Prentice Hall, 2004. Número de chamada: 005.11 B261p. DEITEL, Paul J; DEITEL, Harvey M. Java: como programar.8. ed. São Paulo: Pearson, 2010. 1144 p, il. GEARY, David; HORSTMANN, Cay. Java Server Faces. 2. ed. Rio de Janeiro : Alta Books, 2007. 544 p, il. GONÇALVES, Edson. Desenvolvendo aplicações Web com NetBeans IDE 6. Rio de Janeiro : Ciência Moderna, 2008. xix, 581 p, il. +, 1 CD-ROM. GONÇALVES, Edson. Desenvolvendo relatórios profissionais com iReport para NetBeans IDE. Rio de Janeiro : Ciência Moderna, 2009. 352 p. SIERRA, Kathy; BATES, Bert. Use a cabeça!: Java.2. ed. Rio de Janeiro : Alta Books, c2007. xxvi, 470 p, il.