Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Laboratórios de Informática I

14295 [J301N6]

Licenciatura em Engenharia Informática [ENGINF]

S1

Olga Maria Gomes Martins Pacheco

Objetivos

Esta é a primeira de uma série de unidades curriculares designadas por Laboratórios de Informática que visam agregar as componentes laboratoriais de informática das várias temáticas leccionadas em cada semestre. Nesta primeira instância os alunos vão iniciar a aprendizagem da programação através do desenvolvimento em grupo de um projeto de média dimensão numa linguagem de programação funcional. É uma UC estruturante que pretende desenvolver diversas competências transversais à programação.

Programa

1. Introdução ao sistema de ficheiros e utilização da shell do Unix.
2. Utilização de ferramentas para interpretar e compilar programas Haskell e para gerir as bibliotecas instaladas.
3. Utilização de sistemas de controlo de versões.
4. Documentação de código Haskell usando Haddock.
5. Técnicas de teste unitário.
6. Aplicação das técnicas e ferramentas anteriores no desenvolvimento em grupo de um projecto de software de média dimensão.

Bibliografia

Fundamentos da Computação, Livro II: Programação Funcional. José Manuel Valença e José Bernardo Barros. Universidade Aberta, 1999.

Introduction to Functional Programming using Haskell. Richard Bird. Prentice-Hall, 1998.

The Linux Command Line. William Shotts. https://linuxcommand.org/tlcl.php

Resultados da aprendizagem

- Utilizar a linguagem de programação Haskell para desenvolver um projecto de software de média dimensão.
- Utilizar um sistema de controlo de versões para facilitar o desenvolvimento cooperativo de um projecto de software.
- Utilizar as ferramentas de um sistema operativo tipo Unix e editores de texto avançados para agilizar o desenvolvimento de um projecto de software.
- Aplicar técnicas de teste unitário para validar o código desenvolvido num projecto de software.
- Documentar adequadamente o código desenvolvido num projecto de software.

Método de avaliação

A avaliação baseia-se num projecto de software desenvolvido em grupo ao longo do semestre. A avaliação do projecto considera componentes explícitos para os diversos resultados de aprendizagem, assim como a prestação e empenho individual dos alunos ao longo do semestre.

Funcionamento

Turno: PL 1; Docente: Olga Maria Gomes Martins Pacheco; Dep.: DI; Horas: 30.
Turno: PL 2; Docente: Olga Maria Gomes Martins Pacheco; Dep.: DI; Horas: 30.
Turno: PL 3; Docente: Nelson Miguel Oliveira Estevão; Dep.: DI; Horas: 30.
Turno: PL 4; Docente: Nelson Miguel Oliveira Estevão; Dep.: DI; Horas: 30.
Turno: PL 5; Docente: Xavier Gomes Pinho; Dep.: DI; Horas: 30.
Turno: PL 6; Docente: Xavier Gomes Pinho; Dep.: DI; Horas: 30.
Turno: PL 7; Docente: Rui Carlos Azevedo Carvalho; Dep.: DI; Horas: 30.
Turno: PL 8; Docente: Rui Carlos Azevedo Carvalho; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]