Tópicos Especiais em Desenvolvimento para Web

Docente: Marco Aurélio Gerosa

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.