Escolar Documentos
Profissional Documentos
Cultura Documentos
PRÓ-REITORIA DE GRADUAÇÃO
COORDENADORIA DE REGISTROS ACADÊMICOS
PLANO DE ENSINO
Dados de Identificação
Turma(s): EC11
Ementa
Linguagens formais. Modelos de computação. Programas e máquinas. Máquinas universais. Funções recursivas. Computabilidade.
Objetivo Geral
Desenvolver as competências necessárias para a formalização e solução de problemas relacionados à computabilidade de problemas e ao poder computacional de modelos de computação expressos matematicamente.
Objetivos Específicos
Apresentar a teoria de linguagens formais, permitindo ao aluno entender as questões referentes à especificação formal da sintaxe de linguagens em termos de seus dispositivos geradores e reconhecedores.
Introduzir o conceito de algoritmo, relacionando programas com as máquinas que os executam. Apresentar formalmente a noção de computação de uma máquina.
Apresentar o conceito de Máquina Universal e as técnicas de verificação e comparação do poder computacional de modelos de máquinas.
Apresentar a Tese de Church e indicações de que ela reflete a realidade, por meio de extensões que mantém o poder computacional de máquinas hipotéticas com estrutura simples.
Desenvolver a teoria sobre funções recursivas como um formalismo capaz de descrever problemas computáveis.
Estudar as classes de computabilidade de problemas e técnicas de demonstração sobre a computabilidade dos mesmos.
Metodologia
O componente curricular será trabalhado de forma teórica e prática, em sala de aula comum, por meio de aulas expositivas, resoluções de exercícios e trabalhos de aplicação. Trabalhos individuais e em grupo deverão ser desenvolvidos para contemplar a
carga horária semipresencial da disciplina, valendo tanto nota na avaliação quanto frequência no componente curricular.
3 (três) atividades não presenciais para avaliação teórico-prática. Essas atividades são computadas na nota final, com ponderação equivalente à carga horária atribuída a elas, e são obrigatórias para obtenção da frequência de 1/3 da carga horária da
disciplina, devendo ser desenvolvidas fora de sala de aula. As atividades consistirão de leituras, exercícios e outros trabalhos e serão determinados ao longo do semestre. O cômputo da nota desses trabalhos, NT, será dado pela média aritmética dos
mesmos: NT = (4*T1+10*T2+16*T3)/30.
As avaliações teóricas serão realizadas em sala de aula. As avaliações teórico-práticas serão realizadas em horário extraclasse pelos alunos, em grupos. As avaliações teórico-práticas deverão ser entregues ao professor por e-mail em arquivo formato pdf
(portable document format) e apresentadas quando solicitado.
A expressão para o cálculo da média semestral, MS, do aluno é dada por MS = (8 NP + 2 NT)/10.
Os conteúdos das avaliações são cumulativos, ou seja, a cada avaliação será solicitado conhecimento sobre todo conteúdo apresentado na disciplina até aquele momento. Para ser considerado aprovado, o aluno deve obter média semestral maior ou igual a
6,0 (seis).
Alunos com média semestral inferior a 6,0 (seis) poderão realizar a prova de recuperação final (PR). A prova de recuperação final consistirá de uma avaliação que irá versar sobre todo o conteúdo abordado durante o semestre na disciplina. A nota da prova de
recuperação final substitui integralmente a nota obtida nas avaliações teóricas (NP) mas não substitui a nota obtida nas avaliações teórico-práticas.
A expressão para o cálculo da média final, MF, do aluno é dada por MF = (8 max{NP,PR} + 2 NT)/10, onde NP é a nota obtida conforme explicado acima ou a nota obtida pela substituição da prova de recuperação em P1, P2 ou P3.
Estará aprovado o aluno que obtiver média final igual ou superior a 6,0 (seis).
Para a aprovação é imprescindível 75% de presença às aulas teóricas da disciplina por parte dos alunos (incluída a carga horária referente às atividades não-presenciais). Alunos com menos de 75% de presença estão automaticamente reprovados,
independente das notas obtidas.
Alunos com média semestral inferior a 6,0 (seis) poderão realizar a prova de recuperação final (PR). A prova de recuperação final consistirá de uma avaliação que irá versar sobre todo o conteúdo abordado durante o semestre na disciplina. A nota da prova de
recuperação final substitui integralmente a nota obtida nas avaliações teóricas (NP) mas não substitui a nota obtida nas avaliações teórico-práticas.
As avaliações teórico-práticas podem ser recuperadas no final do semestre, mediante trabalho individual a ser apresentado oralmente.
Discentes com falta justificada a uma das avaliações poderão realizar a prova de recuperação para substituir esta nota.
Número Carga
Data Tipo Conteúdos/Descrição
da aula horária
04/08/2016 1 55 Min Teórica Apresentação da disciplina: objetivos, conteúdos e avaliação. Introdução à teoria de linguagens formais e à teoria da computação.
05/08/2016 3 55 Min Teórica Representação finita de linguagens. Cardinalidade das representações finitas e cardinalidade das linguagens. Questões teóricas associadas à diferença de cardinalidade desses dois conjuntos.
11/08/2016 5 55 Min Teórica Classe das linguagens geradas por expressões regulares.
12/08/2016 7 55 Min Teórica Autômatos finitos determinísticos. Definição formal. Semântica informal.
18/08/2016 9 55 Min Teórica Semântica formal da execução de autômatos finitos: definições de configuração, relação de transição em um passo, relação de transição em zero ou mais passos, linguagem reconhecida por um autômato finito.
19/08/2016 12 55 Min Teórica Equivalência entre autômatos finitos determinísticos e não determinísticos.
25/08/2016 13 55 Min Teórica Equivalência entre as linguagens geradas por expressões regulares e reconhecidas por autômatos finitos. Linguagens regulares.
26/08/2016 15 55 Min Teórica Linguagens regulares. Propriedades de fechamento das linguagens regulares: união, intersecção, fecho de Kleene, complemento, intersecção.
26/08/2016 16 55 Min Teórica Estrutura das linguagens regulares: teorema do bombeamento. Prova da não regularidade de linguagens.
01/09/2016 17 55 Min Teórica Gramáticas livres de contexto. Definição formal. Semântica informal. Exercícios.
01/09/2016 18 55 Min Teórica Atividade não presencial: especificação da gramática de uma linguagem de programação simples. (4h)
08/09/2016 21 55 Min Teórica Classe das linguagens geradas por linguagens livres de contexto. Gramáticas regulares.
08/09/2016 22 55 Min Teórica Prova de que toda linguagem regular é livre de contexto. Caracterização das linguagens regulares via gramáticas.
15/09/2016 25 55 Min Teórica Linguagens livres de contexto. Propriedades das linguagens livres de contexto.
23/09/2016 31 55 Min Teórica Gramáticas irrestritas. Máquina de Turing. Definição formal e semântica informal.
23/09/2016 32 55 Min Teórica Máquina de Turing como dispositivo reconhecedor de linguagens. Máquina de Turing como computador de funções.
07/10/2016 39 55 Min Teórica Definição formal de computação em uma Máquina de Turing. Equivalência de máquinas. Tipos de equivalência. Tese de Church.
07/10/2016 40 55 Min Teórica Extensões de Máquina de Turing. Equivalência entre a Máquina de Turing original e suas extensões.
13/10/2016 42 55 Min Teórica Equivalência entre a Máquina de Turing original e suas extensões.
04/11/2016 53 55 Min Teórica Equivalência de programas, correspondência de Post e outros problemas não computáveis.
Carga
Data Conteúdos/Descrição
Horária
4.00
03/08/2016 Horas Trabalho sobre especificação de linguagens.
10.00
04/08/2016 Horas Trabalho sobre simulação de máquinas.
16.00
05/08/2016 Horas Trabalho sobre máquinas universais.
Dia da
Inicio Final Local Observação
Semana
Quinta-feira 14:00:00 17:00:00 Sala 3139 Outros horários de atendimento podem ser combinados por e-mail.
Não há.
Outras Ações
Não há.
Bibliografia Básica
LEWIS, Harry R., PAPADIMITRIOU, Christos H. Elements of the Theory of Computation. 2nd. Ed. Prentice Hall, 1999. 361 p.
SIPSER, M. Introduction to the Theory of Computation. 2 ed. Course Technology, 2005. 456 p.
DAVIS, Martin. Computability and Unsolvability. Dover Publications, 1985. 248 p.
Bibliografia Complementar
DIVÉRIO, Tiaraju Asmuz e MENEZES, Paulo Fernando Blauth. Teoria da computação: máquinas universais e computabilidade. Porto Alegre: SagraLuzzato, 1999.
TAYLOR, Gregory R. Models of Computation and Formal Languages. Oxford University Press, 2007. 688 p.
HOPCROFT, John E., MOTWANI, Rajeev, ULLMAN, Jeffrey D. Introduction to Automata Theory, Languages, and Computation. 3rd. Ed. Addison Wesley, 2006. 535 p.
DAVIS, Martin. The Universal Computer: The Road from Leibniz to Turing. W. W. Norton & Company, 2000. 256 p.
PETZOLD, Charles. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine. Wiley, 2008. 384 p.