Você está na página 1de 5

MINISTÉRIO DA EDUCAÇÃO

FUNDAÇÃO UNIVERSIDADE FEDERAL DO PAMPA

PRÓ-REITORIA DE GRADUAÇÃO
COORDENADORIA DE REGISTROS ACADÊMICOS

PLANO DE ENSINO

Dados de Identificação

Componente Curricular: BA017521-TEORIA DA COMPUTACAO

Pré-resquisitos(s): BA017505 -LOGICA PARA COMPUTACAO, BA011032 -MATEMATICA DISCRETA

Turma(s): EC11

Ano / Período: 2016 / 2. Semestre

Unidade: CAMPUS BAGÉ Curso: ENGENHARIA DE COMPUTACAO

Docente(s): ANA PAULA LUDTKE FERREIRA

Carga Horária Total: 90 CH Teórica: 60 CH Prática: 0 CH Semipresencial: 30 CH Outros: 0

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.

Avaliação do Processo de Ensino-Aprendizagem


A avaliação da disciplina será focada na capacidade dos alunos de resolver os problemas propostos na disciplina, na capacidade de modelagem desses problemas e na correção das respectivas soluções.

A média semestral (MS) do aluno será composta por:


3 (três) avaliações teóricas, P1, P2 e P3. Cada avaliação será individual. O cômputo da nota das provas individuais, NP, será dado pela média aritmética das mesmas: NP = (P1+P2+P3)/3.

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.

Atividades de Recuperação Preventiva do Processo de Ensino-Aprendizagem

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.

Cronograma e Programa do Componente Curricular - Presencial

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.

04/08/2016 2 55 Min Teórica Alfabetos, palavras e linguagens.

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.

05/08/2016 4 55 Min Teórica Expressões regulares. Exercícios.

11/08/2016 5 55 Min Teórica Classe das linguagens geradas por expressões regulares.

11/08/2016 6 55 Min Teórica Exercícios.

12/08/2016 7 55 Min Teórica Autômatos finitos determinísticos. Definição formal. Semântica informal.

12/08/2016 8 55 Min Teórica Exercícios.

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.

18/08/2016 10 55 Min Teórica Exercícios.

19/08/2016 11 55 Min Teórica Autômatos finitos não determinísticos.

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.

25/08/2016 14 55 Min Teórica Exercícios.

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)

02/09/2016 19 55 Min Teórica Avaliação P1.

02/09/2016 20 55 Min Teórica Avaliação P1.

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.

09/09/2016 23 55 Min Teórica Autômatos de pilha. Definição e semântica formal.

09/09/2016 24 55 Min Teórica Exercícios.

15/09/2016 25 55 Min Teórica Linguagens livres de contexto. Propriedades das linguagens livres de contexto.

15/09/2016 26 55 Min Teórica Exercícios.

16/09/2016 27 55 Min Teórica Autômatos de pilha top-down e bottom-up.

16/09/2016 28 55 Min Teórica Introdução à análise sintática de linguagens de programação.

22/09/2016 29 55 Min Teórica Exercícios.

22/09/2016 30 55 Min Teórica Exercícios.

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.

29/09/2016 33 55 Min Teórica Linguagens recursivas.

29/09/2016 34 55 Min Teórica Linguagens enumeráveis recursivamente. Hierarquia de Chomsky.

30/09/2016 35 55 Min Teórica Exercícios.

30/09/2016 36 55 Min Teórica Exercícios.

06/10/2016 37 55 Min Teórica Avaliação P2.

06/10/2016 38 55 Min Teórica Avaliação P2.

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 41 55 Min Teórica Extensões da Máquina de Turing.

13/10/2016 42 55 Min Teórica Equivalência entre a Máquina de Turing original e suas extensões.

14/10/2016 43 55 Min Teórica Funções recursivas primitivas.

14/10/2016 44 55 Min Teórica Exercícios.

20/10/2016 45 55 Min Teórica Funções recursivas. Definições recursivas e regras de avaliação.

20/10/2016 46 55 Min Teórica Funções computáveis. Exercícios.

21/10/2016 47 55 Min Teórica Exercícios.

21/10/2016 48 55 Min Teórica Exercícios.

27/10/2016 49 55 Min Teórica Problemas de decisão. Decidibilidade de problemas.

27/10/2016 50 55 Min Teórica Funções recursivas e Máquinas de Turing.

03/11/2016 51 55 Min Teórica Redução de problemas. O problema da Parada.


03/11/2016 52 55 Min Teórica Funções não computáveis.

04/11/2016 53 55 Min Teórica Equivalência de programas, correspondência de Post e outros problemas não computáveis.

04/11/2016 54 55 Min Teórica Exercícios.

10/11/2016 55 55 Min Teórica Exercícios.

10/11/2016 56 55 Min Teórica Exercícios.

11/11/2016 57 55 Min Teórica Avaliação P3.

11/11/2016 58 55 Min Teórica Avaliação P3.

17/11/2016 59 55 Min Teórica Apresentação de seminários.

17/11/2016 60 55 Min Teórica Apresentação de seminários.

18/11/2016 61 55 Min Teórica Apresentação de seminários.

18/11/2016 62 55 Min Teórica Apresentação de seminários.

01/12/2016 63 55 Min Teórica Aula de dúvidas, exercícios e revisão de conteúdos.

01/12/2016 64 55 Min Teórica Aula de dúvidas, exercícios e revisão de conteúdos.

02/12/2016 65 55 Min Teórica Prova de recuperação.

02/12/2016 66 55 Min Teórica Prova de recuperação.

Cronograma e Programa do Componente Curricular - Semipresencial

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.

Atendimento aos Acadêmicos

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.

Ações Interdisciplinares entre Ensino-Pesquisa-Extensão

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.

Você também pode gostar