EXA844: plano de ensino
Plano de Ensino do Componente Curricular
EXA844 – Programação para Redes
Professor
João B. Rocha-Junior
Carga Horária
60 horas / (T:30; P:30; E:00)
Ementa
Modelos cliente-servidor. Arquiteturas dos serviços Web. Programação do cliente. Programação do servidor. Conectividade com bancos de dados. Aplicações distribuídas. Interfaces de usuário. Linguagens e ferramentas.
Pré-requisitos
Algoritmos e Programação II
Redes de Computadores
Objetivos, Habilidades e Competências
Compreender o funcionamento de programas desenvolvidos para executar em rede, tais quais, sistemas de informação, sistemas web e sistemas distribuídos. Compreender o funcionamento de um programa cliente-servidor e P2P. Ser capaz de desenvolver programas distribuídos. Conhecer tecnologias e frameworks utilizados para desenvolver a parte do cliente (Front end) e do servidor (Back end).
Conteúdo Programático
Arquitetura de Sistemas Distribuídos
Fluxo de Dados
Protocolos de comunicação
Programação Back End
Programação Front End
Outros Frameworks e linguagens para programação Web
Metodologia
A metodologia deste módulo será através aulas teóricas e práticas. As aulas teóricas tem como objetivo apresentar temas que serão aprofundados nas aulas práticas. As aulas práticas servem para aprimorar conhecimentos introduzidos nas aulas teóricas e até mesmo discutir outros assuntos que não serão abordados nas aulas práticas.
Material Utilizado
Sala de aula equipadas com quadro branco, kit para escrever nos quadros e projetor multimídia, Google Classroom e AWS.
Laboratório de Programação.
Avaliação
A avaliação será através de atividades , projeto individual e projeto de extensão.
Média Final
A média final será obtida da seguinte forma:
1a Unidade: Atividades + Projeto individual (Parte 1);
2a Unidade: Atividades + Projeto Individual (Parte 2);
3a Unidade: Atividades + Projeto individual (Parte 3) + Projeto de extensão.
Aprovação no módulo
Para ser aprovado no módulo, o estudante precisa cumprir os seguintes requisitos: ter frequência igual ou superior a 75% da carga horária efetiva ministrada no módulo e obter média final superior a 7,0 (sete).
Prova final
Prova escrita abordando os temas apresentados e discutidos em sala de aula.
Referências
1. J. Fawcettt, L. R. E. Quin and D. Ayers. Beginning XML. Wiley, 5ed. 2012. [sample]
2. M. Haverbeke. Eloquent Java Scrit. 2ed. 2014. [online]
3. M. Hall, L. Brawn and Y. Chaikin. Core Servlets and Java ServerPages. 2ed ed. Sun. 2007. [online tutorial]
4. K. L. Calvert and M. J. Donahoo. TCP/IP Sockets in Java: Practical Guide for Programers. 2Ed. Morgan Kaufmann. 2008. [first edition]
5. The Java EE 6 Tutorial. Oracle. 2013. [online]
6. A. Gutmans, S. S. Bakken and D. Rethans. PHP 5 Power Programming. Prentice Hall, 2004. [online]
7. CakePHP Cookbook Documentation. Cake Software Foundation. 2015. [online]
8. M. D. Pierro. WEB2PY. 5ed. 2013. [online]
9. A. B. Downey. Think Python. 2014. [online]
10. How to Tango with Jango. 2013. [online]
11. J. McAnally. Mr. Neighborly's Humble Little Ruby Book. 2006. [online]
12. M. Hartl. Ruby on Rails Tutorial. 2ed. Addison-Wesley. 2013. [online]