Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
L5103
Acrónimo :
L5103
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
54.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Ciências e Tecnologias da Programação

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


Nenhum

Objetivos Gerais / Objectives


Aprendizagem de modelos computacionais (desde autómatos finitos às máquinas de Turing), sua utilização na resolução de problemas e estudo das suas limitações.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


Concluída a disciplina o aluno deverá ser capaz de: O1. Interpretar e formular definições rigorosas; O2. Analisar consequências lógicas das definições; O3. Descrever vários modelos computacionais e assinalar as suas limitações. O4. Descrever linguagens através de gramáticas. O5. Resolver problemas computacionais utilizando os modelos computacionais aprendidos. O6. Manipular os formalismos aprendidos na construção de analisadores léxicos e sintácticos.

Conteúdos Programáticos / Syllabus


CP1. Notação matemática e técnicas de demonstração CP2. Autómatos Finitos e Linguagens Regulares CP3. Autómatos de Pilha e Linguagens Livres de Contexto CP4. Máquinas de Turing, Linguagens Recursivamente Enumeráveis e Tese de Church-Turing.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


O conteúdo programático CP1 começa por referir a notação matemática e as técnicas de prova utilizadas na UC, seguindo-se a discussão da sua utilização na representação de vários modelos computacionais através dos conteúdos programáticos CP2 e CP3, contribuindo assim para a capacidade de interpretação de definições rigorosas proposta no objetivo de OA1 e OA3 e a compreensão das suas consequências lógicas, i. e. o objetivo de OA2; Os conteúdos programáticos CP2, CP3 e CP4 são acompanhados de exemplos de utilização, contribuindo assim para familiarizar os alunos com modos alternativos de resolver problemas computacionais e descrever linguagens, i.e. os objetivos de aprendizagem O4, O5 e O6.

Avaliação / Assessment


Avaliação ao longo do semestre: 10 mini avaliações semanais online individuais (10%) e dois testes escritos (90 %), o primeiro a meio do semestre e o segundo coincidindo com o exame de 1ª época. Não existem notas mínimas de aprovação nos testes escritos. A presença nas aulas não é obrigatória. ou Exame final individual(100%) – 1ª época, 2ª época e Época Especial

Metodologias de Ensino / Teaching methodologies


Aulas teorico-práticas.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


As aulas teórico-práticas têm como objectivo desenvolver a capacidade de utilização, interpretação e análise dos modelos computacionais estudados, i.e. os objectivos de aprendizagem propostos. Começa-se por dar uma ideia intuitiva dos conceitos e discute-se a sua formulação. As consequências lógicas das definições são estudadas com a participação dos alunos. Segue-se um conjunto de exemplos e exercícios.

Observações / Observations


-

Bibliografia Principal / Main Bibliography


F. Santos, Teoria da Computação - Exercícios, ISCTE-IUL, 2015. F. Santos, Teoria da Computação - Folhas de Apoio, ISCTE-IUL, 2013. J. Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill, (3ª edição)2003, (4ª edição) 2011.

Bibliografia Secundária / Secondary Bibliography


D. Mandrioli e C. Ghezzi, Theoretical Foundations of Computer Science, John Wiley, 1987 J. Hopcroft, R. Motwani e J. Ullman, Introduction to Automata Theory, Languages and Computation, Addison Wesley, 2001. N. Cutland, Computability: An Introduction to Recursive Function Theory, Cambridge University Press, 1980.

Data da última atualização / Last Update Date


2024-07-25