Algoritmos e Técnicas de Programação

Foto pessoal

José Carlos Ramalho

Professor/Investigador/Empresário

Dep. Informática - Universidade do Minho

jcr@di.uminho.pt

Outras informações


Horário

Aula Teória:

  • terça das 14h às 18h, sala 1.0.20

Aulas Práticas:

  • Turno 1: segunda das 16h às 18h, sala 7.1.09
  • Turno 2: quinta das 16h às 18h, sala 7.1.09


Avaliação

  • 8 Trabalhos de casa (20%);
  • 1 Projeto em grupo até 3 elementos (30%)[nota mínima de 8 val.];
  • 1 Teste escrito (40%)[nota mínima de 8 val.];
  • Fator JCR (10%).

Aulas Teóricas

Aula Teórica 1: 2021-10-12

Exercício de aquecimento: ping-pong.

Definição do manifesto que deverá acompanhar os TPC.

Notebook criado durante a aula.


Aula Teórica 2: 2021-10-19

O tipo de dados tuplo: construção, manipulação e operações mais usuais. Demonstração de várias funcionalidades.

Notebook criado durante a aula.


Aula Teórica 3: 2021-10-26

Definição e especificação de listas em compreensão: exemplos e exercícios resolvidos.

Introdução ao tipo de dados dicionário: construtores e métodos de acesso.

Realização de alguns desafios de modelação.

Notebook criado durante a aula.


Aula Teórica 4: 2021-11-02

Algoritmos numéricos: números primos.

Modelação de um problema real: uma base de dados de registos bibliográficos.

Notebook criado durante a aula.


Aula Teórica 5: 2021-11-09

Aula interrompida aos vinte minutos devido a uma ocorrência de emergência médica.


Aula Teórica 6: 2021-11-16

Introdução à persistência de informação: ficheiros.

Definição de um formato próprio versus um normalizado: ficheiros de texto e ficheiros JSON.

Aplicação num caso real: a base de dados de registos bibliográficos.

Notebook desenvolvido na aula.


Aula Teórica 7: 2021-11-23

Continuação da aula anterior: ficheiros JSON.

Introdução às interfaces gráficas: SimpleGui.

Notebook desenvolvido na aula.


Aula Teórica 8: 2021-11-30

Continuação da aula anterior: SimpleGui.

Configuração das interfaces gráficas: um gestor de tarefas.

Notebook desenvolvido na aula.


Aula Teórica 9: 2021-12-07

Manipulação de estruturas de dados: listas e dicionários.

O problema da inversão estrutural.

Notebook desenvolvido na aula.


Aula Teórica 10: 2021-12-14

Novos componentes nas interfaces: inputs, browse, imagens.

Criação dum pequeno visualizador e processador de imagens.

Notebook desenvolvido na aula.

Aplicação desenvolvida na aula.


Aula Teórica 11: 2022-01-04

Maps e Folds sobre listas: reduce e map.

Análise e processamento do dataset sobre a doença cardíaca.

Notebook desenvolvido na aula.


Aulas Práticas

Aula Prática 1 (Seg): 2021-10-04

Resolução de exercícios: somar 2 números, definir a função potência, definir a função somatório, definir a função divisão inteira. Para todas as funções foram criadas versões iterativas e recursivas.


Aula Prática 1 (Qui): 2021-10-07

Resolução de exercícios: somar 2 números, definir a função potência, definir a função somatório, definir a função divisão inteira. Para todas as funções foram criadas versões iterativas e recursivas.


Aula Prática 2 (Seg): 2021-10-11

Resolução de exercícios: manipulação de strings, procurar um caráter.


Aula Prática 2 (Qui): 2021-10-14

Resolução de exercícios.


Aula Prática 3 (Seg): 2021-10-18

Resolução de exercícios.


Aula Prática 3 (Qui): 2021-10-21

Resolução de exercícios.


Aula Prática 4 (Seg): 2021-10-25

Resolução de exercícios: frações.


Aula Prática 4 (Qui): 2021-11-04

Resolução de exercícios: frações.


Aula Prática 5 (Seg): 2021-11-08

Resolução de exercícios: polinómios.


Aula Prática 5 (Qui): 2021-11-11

Resolução de exercícios: polinómios.


Aula Prática 8 (Seg): 2021-11-29

Resolução de exercícios: processamento de datasets.


Aula Prática 8 (Qui): 2021-12-02

Resolução de exercícios: processamento de datasets.