Como chegar
|
Contactos

Sistemas Web 2018/2019

  • 6 ECTS
  • Lecionada em Português
  • Avaliação Contínua

Objetivos

Depois de concluída a unidade curricular, o estudante deverá ser capaz de:
- Elaborar projetos web, aplicando metodologia/Processo de desenvolvimento de software, desde a fase de análise de requisitos, até a publicação da aplicação web.
- Programar aplicações web usando HTML5, CSS3 e JavaScript 5 fazendo uso de armazenamento local, processamento assíncrono e redireccionamento no servidor (através de PHP/Node.js) para web services existentes.
- Inferir, através da experimentação e avaliação crítica, na importância das frameworks e APIs JavaScript e CSS, no desenvolvimento de aplicações web.

Pré-Requisitos Recomendados

Conhecimentos adquiridos na unidade curricular:
Algoritmia e Programação, nomeadamente: condições lógicas, ciclos e arrays.
Matemática Discreta: lógica, expressões booleanas e conjuntos.
Programação Orientada a Objetos: information hiding, refactoring.
Redes de Computadores: TCP/IP, HTTP.
Linguagens e Tecnologias Web: HTML, CSS, JavaScript. Arquitetura cliente-servidor.

Método de Ensino

As metodologias de ensino são: expositiva, demonstrativa, baseadas em problemas(PBL) e laboratorial experimental. Exposição dos conceitos teóricos, demonstração de exemplos canónicos, experimentação da aplicação dos conceitos teóricos em problemas práticos semanais.

Conteúdos Programáticos

1.Linguagens Web
1.1 Front-end vs Back-end
1.2 Frameworks Web
2. Front-End
2.1 Revisões e Boas práticas HTML5/CSS3
2.2 JavaScript
2.2.1 ECMAScript vs. JavaScript
2.2.2 Sintaxe básica, Funções e Vetores
2.2.3 Document Object Model (DOM)
2.2.4 Funções Anónimas e padrão de módulos
2.2.5 Comunicação cliente-servidor
3. Back-End
3.1 Servidor Web
3.1.1 Model-View-Controller (MVC)
3.1.2 Camada do servidor Web
3.1.3 Node.js
3.1.4 Framework Express
3.2 Formatos de dados Estruturados e Base de dados
3.3 Serviços na Web
3.3.1 Paradigma CRUD (create, read, update, delete)
3.3.2 Web Services
3.3.3 introdução Arquitetura API/REST

Bibliografia e Webgrafia Recomendada

Portela, Filipe; Queirós, Ricardo (2018); Introdução ao desenvolvimento moderno para a Web; 1.ª edição, FCA, Lisboa; ISBN: 978-972-722-897-3
Abreu, Luis (2016); NODE.JS- CONSTRUÇÃO DE APLICAÇÕES WEB; FCA, Lisboa; ISBN: 978-972-722-860-7


HTML5 specification, W3C Candidate Recommendation 6 August 2013 http://www.w3.org/TR/html5/

CSS standards and drafts, http://www.w3.org/Style/CSS/

ECMAScript specification, Standard ECMA-262 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf

Mozilla Developer Network - https://developer.mozilla.org/pt-PT/

Bibliografia Complementar

Abreu, Luís (2015); HTML5 - 4a edição; FCA, Lisboa; ISBN: 978-972-722-821-8
Remoaldo, Pedro (2011); CSS3; FCA, Lisboa, ISBN: 978-972-722-731-0
Abreu, Luis (2015); JAVASCRIPT 6; FCA, Lisboa; ISBN: 978-972-722-815-7

Planificação Semanal

Semana 1 (04/02)
(TP)
Apresentação da UC, planificação, momentos de avaliação. Logística.
Semana 2 (11/02)
(TP PLA/B)
- O que é um programador web/
/ Full Stack Developer? Conceito, tecnologias e ferramentas de suporte.
- Fundamentos e Revisões: HTML5 (elementos semânticos e formulários) e CSS3 (seletores/integração, cascata e herança), boas práticas.
Semana 3 (18/02)
(TP PLA/B)
- Fundamentos e Revisões: ECMAScript vs. JavaScript. JavaScript Sintaxe básica, Funções, Arrays, Orientado a Objetos
- Document Object Model (DOM): estrutura, documento e eventos
- Demos/Exercícios
Semana 4 (25/02)
(TP PLA/B)
- Execução automática e funções anonimas.
-Demos/Exercícios
Semana 5 (04/03)
(PLB)
- Frameworks CSS/JavaScript: Bootstrap e JQuery
- Demos/Exercícios
Semana 6 (11/03)
(TP PLA/B)
- Comunicação Cliente-Servidor (JSON vs. XML, XHR)
- Modelo web clássico vs. modelo AJAX. Same-Origin Policy: razões e restrições.
- Linguagem de programação PHP para contornar restrições do Same-Origin Policy para pedidos Ajax a recursos externos.
- CORS como tecnologia HTML5, alternativa solução PHP as restrições do Same-Origin Policy para pedidos Ajax a recursos externos.
- Demos/Exercícios
Semana 7 (18/03)
(TP PLA/B)
-Fundamentos e revisões Back-end: Servidor web, XAMPP, Apache, PHP. Sintaxe e algumas funções PHP.
- Model-View-Controller (MVC)
- Introdução ao Node.JS e arquitetura servidor Javascript
- Instalação e Demos
Semana 8 (25/03)
(TP PLA/B)
- Framework Express: conceitos (middleware, Rotas), variáveis globais e ficheiros estáticos.
- Demos e exercícios
Semana 9 (01/04)
(TP PLA/B)
- Formato de dados Estruturados e Base de Dados.
- Fundamentos e Revisões SQL.
- MySQL/MongoDB com Node.js
- Demos e Exercícios
Semana 10 (08/04)
(TP PLA/B)
- Mini-Teste
- Serviços na Web (API e REST)
- Paradigma CRUD (create, read, update e delete)
- Exemplos API lado cliente e do lado servidor. Boas praticas
Semana 11 (22/04)
(PLA/B)
- Acompanhamento Projeto: Analise Requisitos e Prototipagem
Semana 12 (29/04)
(TP,PLA/B)
- Acompanhamento Projeto: Front-End
Semana 13 (13/05)
(TP, PLA/B)
- Acompanhamento Projeto: Back-End
Semana 14 (20/05)
(TP, PLA/B)
- Acompanhamento Projeto: Documentação
Semana 15 (27/05)
(TP, PLA/B)
- Acompanhamento Projeto: Testes
- Apresentação/Defesa Projetos

Coerência do programa para com os objetivos

Os conceitos fundamentais estabelecem uma sólida base aos estudantes independentemente do seu percurso académico anterior à unidade curricular. É apresentada a arquitetura Cliente-Servidor, tendo como foco a linguagem JavaScript como equivalente às linguagens orientadas a objectos já conhecidas. Através da filosofia CRUD e o padrão MVC é mostrado como é fundamental para o desenvolvimento de aplicações autónomas com recurso de frameworks e API externas, com forte capacidade de reutilização.

Coerência dos métodos de ensino para com os objetivos

As quatro metodologias de ensino servem para enquadrar as possibilidades tecnológicas que os estudantes têm com a programação web. Os exemplos canónicos servem para mostrar problemas de rápida compreensão e resolução para que o estudante possa assimilar como será o caminho do seu trabalho. A experimentação/PBL serve para deixar os estudantes sair fora do que está programado ao mesmo tempo que se focam em obter um resultado delineado à partida. Nestas sessões o aluno terá não só que pensar como fazer, mas conjugar as suas ideias com ideias adversárias e possivelmente contraditórias dos seus pares; fomentado a procura da solução óptima.

competência genérica relevantedesenvolvida?avaliada?
Análise e síntese  
Aptidão para aplicação na prática dos conhecimentos teóricosSimSim
Capacidade crítica e de avaliaçãoSim 
Capacidade de adaptação a novas situaçõesSim 
Capacidade de auto-critica e de auto-avaliação  
Capacidade de iniciativa e espírito empreendedor  
Capacidade de investigaçãoSimSim
Competência em informática e uso de novas tecnologiasSimSim
Competência em língua estrangeiraSim 
Comportamento ético e responsável Sim
CriatividadeSimSim
Gestão da informação e da aprendizagem  
Preocupação com a eficáciaSimSim
Preocupação com a qualidadeSimSim
Resolução de problemasSimSim
Este website usa cookies para funcionar melhor e medir a performance (Diretiva da União Europeia 2009/136/EC)