Tópicos Especiais em Desenvolvimento para Web
OBJETIVOS:
Ao final da disciplina, o aluno deverá ser capaz de construir aplicações para Web tendo conhecimento das principais tecnologias e técnicas empregadas, bem como tirar valor dos algoritmos e tecnologias da computação social.
JUSTIFICATIVA:
A Web se tornou uma plataforma para a execução de sistemas e também alterou a maneira como se desenvolve software. Site e software se fundiram nos sistemas web, que executam de maneira integrada a diversos dispositivos e levam em conta a conectividade e interatividade propiciadas pela tecnologia. O código desses sistemas deve ser flexível para acompanhar a rápida evolução dos processos de negócio. Os dados das aplicações são constantemente realimentados pelos próprios usuários, que cada vez mais votam, avaliam, comentam, editam e filtram os conteúdos. Surge uma “inteligência coletiva” a partir da análise das interações entre os usuários. Torna-se com isso fundamental para os novos desenvolvedores conhecerem os algoritmos e tecnologias voltados para a computação social e as técnicas e tecnologias provenientes da área de sistemas colaborativos.
CONTEÚDO (EMENTA):
Evolução da Engenharia de Software. Sistemas Colaborativos. Tecnologias e técnicas para o desenvolvimento para Web. Desenvolvimento baseado em componentes. Mineração de dados. Computação social. Sistemas de recomendação. Algoritmos para formação de grupos. Algoritmos para busca e ranqueamento. Filtragem colaborativa. Sistemas adaptativos.
BIBLIOGRAFIA:
BASHAM, B. & SIERRA, K. Use a Cabeça – Servlets e JSP, Alta Books, 2005. ISBN 8576080850
BORGHOFF, U.M. AND SCHLICHTER, J.H., Computer-Supported Cooperative Work: Introduction to Distributed Applications. Springer, USA, 2000. ISBN 3-540-66984-1
GIMENES, I.M.S. & HUZITA, E.H.M. Desenvolvimento Baseado em Componentes, Editora Ciência Moderna, Rio de Janeiro, 2005. ISBN 85-7393-406-9, pg. 57-103, 2005.
JOHNSON, R. Expert One-on-One J2EE Design and Development, Wrox, 2002. ISBN 0764543857.
QIAN, K., Java Web Development Illuminated, Jones & Bartlett Publishers, 2004. ISBN 0763734233
SEGARAN, T., Programming Collective Intelligence: Building Smart Web 2.0 Applications, O’Reilly, ISBN 0596529325, 2007.
SZYPERSKI, C., Component Software: Beyond Object-Oriented Programming. ACM Press/Addison-Wesley, USA, 2002. ISBN 0201745720
THOMAS, D., HANSSON, D., BREEDT, L. & CLARK, M. Agile Web Development with Rails, 2nd edition, 2006. ISBN 0977616630
CRITÉRIOS DE AVALIAÇÃO:
A avaliação será realizada através de provas, apresentações, trabalhos e projetos computacionais. Parte da disciplina será baseado no livro de SERAGAN (2007).
OBSERVAÇÕES:
Pré-requisitos desejáveis: conhecimento de programação orientada a objetos e linguagem Java.