Unidade Curricular:Código:
Laboratório de Programação831LAPR
Ano:Nível:Curso:Créditos:
3LicenciaturaEngenharia Informática5 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Primeiro SemestrePortuguês/Inglês65
Objectivos de Aprendizagem:
Esta unidade curricular tem como objetivo aprofundar os conhecimentos de programação recorrendo a uma linguagem diferente das que foram anteriormente lecionadas. Serão também abordadas novas ferramentas para apoiar o desenvolvimento do projeto nesta unidade curricular. Pretende-se explorar a programação web aprofundando a utilização de uma Framework MVC. Esta aplicação será implementada usando uma abordagem full-stack.
Ao completar com sucesso esta unidade curricular os alunos devem ser capazes de:
-Estruturar e Planear uma nova aplicação web
-Elaborar um Mockup de uma nova aplicação web
-Entender e descrever quais são os princípios de programação full-stack, server-side e client-side
-Conhecer a organização do padrão de Arquitetura MVC
-Aptos a desenvolver uma aplicação web e/ou API Rest
-Aptos a trabalhar e desenvolver vistas que serão depois interpretadas pelos template engines
-Aptos a desenvolver Páginas web responsivas utilizando frameworks CSS / JS existentes
Conteúdos Programáticos:
0. Apresentação
0.1. Enquadramento e Objectivos
0.2. Metodologia e Sistema de Avaliação
0.3. Conteúdo Programático e Bibliografia
1. Introdução HTML / CSS
1.1. Markup Language
1.2. Responsive Framework
2. Introdução a Linguagem PHP
2.1. Tipos de dados
2.2. Operadores
2.3. Estruturas de controlo
2.4. Estruturas de repetição
2.5. Funções
3. Sintaxe de Programação PHP
3.1. Tratamento de exceções
3.2. Utilização de Arquivos (include, require)
3.3. Fundamentos de programação Orientada aos Objetos (OO)
3.3.1. Classes / Instâncias
3.3.2. Construtores / Destrutores
3.3.3. Encapsulamento
3.3.4. Herança
3.3.5. Interfaces
3.3.6. Classes e métodos abstratos
4. Aplicações Web
4.1. Formulários HTML
4.2. Requests
4.3. Sessões
4.4. Interação com uma base de dados - PDO
5. Framework MVC de Desenvolvimento Web
5.1 Rotas
5.2 Controladores
5.3 Views
5.4 ORM
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos cobrem os objetivos previstos, estando organizados em unidades que permitem estudar as principais áreas que caraterizam o desenvolvimento web. Inicialmente é feita uma introdução para permitir a elaboração de páginas estáticas. Depois serão abordados os conceitos da nova linguagem de programação web que será apresentada, sendo que é feito um paralelismo com as anteriores linguagens já ensinadas no curso (i.e., C e Java). Por fim, finaliza-se esta unidade curricular apresentando desenvolvimento web com a utilização de uma Framework MVC, e as suas particularidades/conceitos. Os objetivos da aprendizagem são atingidos complementando estes conceitos com exemplos concretos executados em ambiente de laboratório recorrendo a exercícios práticos.
Metodologias de Ensino (Avaliação Incluída):
A transmissão de conhecimentos nesta unidade curricular será efetuada recorrendo a aulas de cariz prático em ambiente laboratorial, onde são apresentados os conceitos fundamentais à compreensão dos temas do programa. Nessas aulas os alunos são confrontados com problemas reais que eles têm que resolver. A avaliação será calculada de acordo com a seguinte fórmula:
Nota final = 55% Frequência + 35% Projeto + 10% Av. Fichas de Trabalho (peso equitativo por ficha).
Os elementos acima referenciados como "Frequência" e "Projeto" requerem a nota minima de 10 valores para obter aprovação na disciplina.
Os momentos de avaliação, assim como os protocolos dos trabalhos, serão divulgados e apresentados pelo(s) docente(s) em sala. Estes encontrar-se-ão também disponíveis no LMS. Caso pretendam mais informações relativamente as avaliações, deverão consultar o docente e/ou a normativa académica em vigor disponibilizada pela UFP.
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
A metodologia de ensino/aprendizagem aplicada nesta unidade curricular bem como o seu sistema de avaliação encontram-se perfeitamente alinhados com os objetivos a atingir pelos alunos no final do período letivo. Os conceitos são apresentados, discutidos, aplicados e avaliados no contexto das aulas. Isto garante aos alunos uma base sólida de conhecimentos fundamentais para entenderem de forma aprofundada os desafios que se colocam a esta área de conhecimento. Por outro lado, para que o estudo não fique restrito a modelos conceptuais, nas aulas práticas são apresentados casos de estudo concretos e implementadas soluções para problemas reais recorrendo as ferramentas apropriadas. Esta combinação garante uma formação aos alunos que lhes permite conhecer os fundamentos científicos essenciais a uma boa compreensão do tema bem como a capacidade de eles se adaptarem a mudanças tecnológicas constantes. O processo de avaliação constituído por frequência(s) e trabalho(s) prático(s) permitindo manter um equilíbrio entre o esforço dedicado a ambas as componentes. O objetivo é formar profissionais conhecedores das técnicas, ferramentas, e do estado da arte. Nesta unidade curricular os conceitos relacionados com a área de desenvolvimento web são apresentados e avaliados através de frequência(s) e posteriormente aplicados num projeto.
Bibliografia:
PHP com programação orientada a objetos / Frederico Tavares, FCA, 2016. ISBN: 978-972-722-837-9.
Introdução ao desenvolvimento moderno para a web - do front-end ao back-end: uma visão global! / Filipe Portela, FCA, 2018. ISBN: 978-972-722-897-3.
Typescript - o javascript moderno para criação de aplicações / Luís Abreu, FCA, 2017. ISBN: 978-972-722-864-5
Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning PHP, MYSQL, Javascript, CSS & HTML5) / Robin Nixon, 5ª ed., O'Reilly Media, 2018. ISBN: 978-1491978917.
HTML, CSS & JavaScript Web Publishing in One Hour a Day, Sams Teach Yourself: Covering HTML5, CSS3, and jQuery / Laura Lemay, 7ª ed., Sams Publishing, 2016. ISBN: 978-0672336232.
PHP com Programação Orientada a Objetos / Frederico Tavares, FCA, 2016. ISBN: 9789727228379
Docente (* Responsável):
Christophe Soares (csoares@ufp.edu.pt)