Unidade Curricular:Código:
Laboratório de Programação832LAPR
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:
O objetivo da unidade curricular consiste em fornecer ao aluno as noções fundamentais da programação recorrendo a implementação de diversas e diferentes aplicações Web. Estas serão implementadas usando uma linguagem de programação definida pelo Docente. Esta linguagem irá permitir ao aluno ambientar-se com a sintaxe e métodos subjacentes às aplicações Web. O conjunto dos aspetos teórico-práticos da programação Web serão suportados através de projetos de software. As aplicações WEB serão suportadas por bases de dados e o desenvolvimento das mesmas até à interface com o utilizador. Pretende-se a
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 a Linguagem PHP
1.1. Tipos de dados
1.2. Operadores
1.3. Estruturas de controlo
1.4. Estruturas de repetição
1.5. Funções
2. Sintaxe de Programação PHP
2.1. Tratamento de exceções
2.2. Utilização de Arquivos (include, require)
2.3. Fundamentos de programação Orientada aos Objetos (OO)
2.3.1. Classes / Instâncias
2.3.2. Construtores / Destrutores
2.3.3. Encapsulamento
2.3.4. Herança
2.3.5. Interfaces
2.3.6. Classes e métodos abstratos
3. Aplicações Web
3.1. Formulários HTML
3.2. $_GET & $_POST
3.3. Variáveis de Sessão
3.4. Manipulação de uma base de dados
3.5. Desenvolvimento de Aplicações Web
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos apresentados são coerentes com os objectivos de aprendizagem da unidade curricular uma vez que existe uma grande convergência entre os capítulos do programa da cadeira e os conhecimentos que é suposto o aluno adquirir em cada um desses capítulos. Os conceitos fundamentais para a programação web. Os objectivos da aprendizagem são atingidos complementando os conceitos teóricos com exemplos concretos executados em ambiente de laboratório recorrendo a exemplos de programação e à resolução de fichas de trabalho.
Metodologias de Ensino (Avaliação Incluída):
A transmissão de conhecimentos nesta unidade curricular será efetuada recorrendo a aulas de cariz teórico-prático e prático em ambiente laboratorial. Nas aulas teóricas são apresentados os conceitos fundamentais à compreensão dos temas do programa. Nas aulas práticas os alunos são confrontados com problemas reais que têm que resolver eventualmente recorrendo a ferramentas de programação apropriadas. A avaliação é decomposta em duas componentes: a teórica e a prática. No primeiro caso a avaliação resulta de um conjunto de testes escritos aplicados durante o semestre sobre a matéria que for sendo leccionada em sala de aula. No segundo caso resulta de trabalhos práticos propostos pelo docente e que são efetuados e defendidos pelos alunos ao longo do semestre. Outro parâmetro em consideração é o desempenho do aluno em sala de aula e a sua assiduidade durante o período letivo. A nota final é uma média pesada destas três componentes.
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 objectivos a atingir pelos alunos no final do período letivo. Os conceitos teóricos são apresentados, discutidos, aplicados e avaliados no contexto das aulas teóricas o que garante aos alunos uma base sólida de conhecimentos fundamentais para entenderem de forma aprofundada os desafios que se colocam a esta área do 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 de software e equipamentos apropriados. 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 testes teóricos e trabalhos práticos garante também um correto equilíbrio entre o esforço dedicado a ambas as componentes. O objectivo é formar profissionais conhecedores das técnicas e ferramentas do estado da arte mas também garantir a sua capacidade de evolução futura.
Bibliografia:
- Elisabeth Robson, Eric Freeman (2005), “Head First HTML with CSS & XHTML”, O'Reilly Media;
- Eric Freeman, Elisabeth Robson (2011), “Head First HTML5 Programming”, O'Reilly Media;
- Michael Morrison (2007), “Head First JavaScript”, O'Reilly Media;
- Rebecca M. Riordan (2008), “Head First Ajax”, O'Reilly Media;
- Ryan Benedetti, Ronan Cranley (2011), “Head First jQuery”, O'Reilly Media;
- Lynn Beighley, Michael Morrison (2008), “Head First PHP & MySQL”, O'Reilly Media;
- Luís Abreu, “HTML5 - 2a Edição Atualizada e Aumentada”, FCA;
- Pedro Remoaldo, “CSS3”, FCA;
- Luís Abreu, João Paulo Carreiro, “JavaScript”, FCA;
- Carlos Serrão, Joaquim Marques, “Programação com PHP 5.3”, FCA.
Docente (* Responsável):
Christophe Soares (csoares@ufp.edu.pt)