Download - Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao
![Page 1: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/1.jpg)
Curso: Ciência da Computação Turma: 5º Semestre
Aspectos Teóricos da Computação
Aula 1
Apresentação da Disciplina e Metodologia de Trabalho
![Page 2: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/2.jpg)
Aspectos Teóricos da Computação 2
Apresentação do Professor
André Luís Bordignon Mestre em Engenharia da Computação - UNICAMP Formado em Matemática Aplicada e Computacional -
UNICAMP Black Belt - Motorola Atuo em uma Organização Não Governamental chamada
CDI – Comitê para Democratização da Informática.
Dúvidas?
Curiosidades?
…
E-mail: [email protected]
![Page 3: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/3.jpg)
Aspectos Teóricos da Computação 3
O que são Aspectos Teóricos da
Computação?O que vocês esperam dessa disciplina?
Qual é a sua expectativa em relação a essa disciplina?
Se reúnam em grupos e discutam essas questões em 5 minutos
![Page 4: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/4.jpg)
Aspectos Teóricos da Computação 4
Ementa Elementos fundamentais das linguagens formais (cadeias, alfabetos e
linguagens).
Gramáticas.
Hierarquia de Chomsky.
Linguagem Regular;
Linguagem Livre de Contexto;
Linguagens Recursivas;
Linguagens Recursivamente Enumeráveis;
Linguagens Sensíveis a Contexto;
Gramáticas Regulares;
Gramáticas Livres de Contexto;
Gramática Dependente de Contexto e Gramática Irrestrita;
Autômatos finitos determinísticos e não determinísticos.
Autômatos de pilha.
![Page 5: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/5.jpg)
Aspectos Teóricos da Computação 5
ObjetivosGeral
Ao término desta disciplina o aluno deverá ter conhecimento das classes das Linguagens compreendidas pela Hierarquia de Chomsky. O aluno deverá conhecer as características estruturais de tais linguagens, bem
como das gramáticas que as geram. O estudo das Linguagens Regulares deve desdobrar-se no estudo de expressões regulares, as quais apresentam ampla aplicação. A apresentação dos tópicos referentes a
Linguagens Livres de Contexto fornece subsídios para o estudo da compilação de linguagens de programação de alto nível. Esta disciplina também tem por objetivo comparar as linguagens regulares e livres
de contexto com as linguagens recursivas, mais abstratas e situadas no topo da hierarquia daquilo que é computável. Serão aduzidos os dispositivos reconhecedores das Linguagens Regulares e das Linguagens
Livres de Contexto, a saber: Autômatos Finitos e Autômatos de Pilha, respectivamente.
Específico
Explicar como classificar uma linguagem segundo a Hierarquia de Chomsky;
Aduzir o conceito de gramáticas regulares, livres de contexto, dependentes de contexto e irrestritas;
Discutir o conceito de autômatos finitos e mostrar que são reconhecedores de linguagens regulares;
Identificar uma linguagem regular representada através de expressões regulares e projetar autômatos finitos determinísticos e não-determinísticos que realizem o reconhecimento das mesmas.
Identificar qual linguagem regular é reconhecida por um determinado autômato finito;
Mostrar que um autômato de pilha é um dispositivo reconhecedor de uma linguagem gerada por uma gramática livre de contexto;
Explicar pelo menos um algoritmo de análise sintática (“top-down” ou “botton-up”);
![Page 6: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/6.jpg)
Aspectos Teóricos da Computação 6
Conteúdo ProgramáticoMódulo 01 - Conceitos Fundamentais : Conjuntos e Relações
Conjuntos
Relações e Funções;
Fecho de uma Relação e Grafos Bidirecionais
Conjuntos finitos e infinitos;
Módulo 02 - Conceitos Fundamentais: Linguagens
Definições de Alfabeto, Cadeias, Linguagens
Gramática: dispositivo gerador de uma Linguagem.
Derivação de cadeias e árvores de derivação.
Módulo 03 - Linguagens Regulares - 1
Breve apresentação da Hierarquia de Chomsky
Definição de Linguagens Regulares;
Gramática Regular: dispositivo gerador de uma Linguagem Regular;
Expressões Regulares;
Módulo 04 - Linguagens Regulares - 2
Autômatos Finitos Não-determinísticos: definição Formal
Autômatos Finitos Determinísticos: definição Formal;
Obtenção de Autômatos Finitos a partir da Gramática Regular.
Obtenção da Gramática Regular a partir de Autômatos Finitos.
Módulo 05. Linguagens Regulares – 3
Equivalência entre autômatos finitos não-determinísticos e determinísticos;
O lema do Bombeamento para Linguagens Regulares;
Minimização de Estados.
Módulo 06. Linguagens Regulares – 4
Aspectos Algorítmicos dos Autômatos Finitos;
Máquinas de Mealy e Moore.
Problemas decidíveis concernentes às linguagens regulares;
Módulo 07. Linguagens Livres de Contexto - 1
Definição de Linguagem Livre de Contexto;
Definição Formal de Gramática Livre de Contexto;
Gramática Livre de Contexto: dispositivo gerador de uma Linguagem Livre de Contexto;
Forma Normal de Chomsky e Forma Normal de Greibach;
Árvores de Derivação;
Gramáticas Ambíguas.
Módulo 08 - Linguagens Livres de Contexto - 2
Definição Formal de Autômato de Pilha. Exemplos que mostram que o autômato de pilha é um dispositivo reconhecedor/aceitador de linguagens livres de contexto;
Apresentação dos Teoremas que garantem a existência de autômatos com pilha; Autômato com Pilha x Número de Estados. Estados x Poder Computacional dos Autômatos com Pilha;
O Lema do Bombeamento para Linguagens Livres de Contexto;
Módulo 09 - Linguagens Livres de Contexto - 3
Algoritmos de Reconhecimento; (Algoritmo de Cocke-Younger-Kasami;,Algoritmo de Early)
Algoritmos para Gramáticas Livres de Contexto. (“top-down” ou “botton-up”)
Módulo 10 – Linguagens Livres de Contexto - 4
Observações sobre a relação entre Determinismo e Análise Sintática;
Problemas decidíveis concernentes às linguagens livres de contexto.
Módulo 11 – Linguagens que não são Livres de Contexto
Linguagem Dependente de Contexto;
Gramática Dependente de Contexto e Gramática Irrestrita;
Linguagens Recursivas x Linguagens Recursivamente Enumeráveis x Linguagens Dependentes de Contexto;
Módulo 12 – Conclusão da Disciplina
Comparação entre as Classes de Linguagens na Hierarquia de Chomsky;
O poder de expressão das Gramáticas e poder computacional dos ;
O estudo das Linguagens Regulares e Livres de Contexto como fundamento para a especificação e implementação de Linguagens de Programação (Compiladores);
Comparação entre a natureza dos algoritmos existentes para problemas dependentes de contexto e daqueles advindos do estudo das linguagens regulares e livres de contexto.
![Page 7: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/7.jpg)
Aspectos Teóricos da Computação 7
Sistema de Avaliação 1ª Avaliação
Prova: 7,00. Exercícios em sala de aula: 3,00.
2ª Avaliação – Peso 6 Prova escrita oficial: 7,00. Exercícios em sala de aula: 3,00
Nota = (Nota 1ºBim * 0,5) + (Nota 2ºBim*0,5) >=5 ==> Aprovado.
![Page 8: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/8.jpg)
Aspectos Teóricos da Computação 8
Avaliações em Sala de Aula Não decoreba. Trabalhosas. Requerem leitura do livro texto.
Exercícios em sala: A cada duas aulas nos 15 minutos finais haverá um
exercício para a nota.
![Page 9: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/9.jpg)
Aspectos Teóricos da Computação 9
O Que eu Espero do Estudante Vocês estão aqui para aprender. Não são obrigados a saber.
Portanto façam todas as perguntas que quiserem.
Estudem. A oportunidade da graduação normalmente é única. Aproveitem e tirem suas dúvidas.
Assistam e participem da aula.
Que quiser bater papo não tem problema, mas por favor deixem a sala de aula.
Aparentemente o seu comportamento não conta na nota mas não é verdade. Conta e muito !!!
A educação é uma via de duas mãos: Vocês aprendem comigo e eu aprendo com vocês. Portanto questionem. Nem sempre o professor está certo. A tarefa da educação é muito legal pois podemos aprender juntos.
![Page 10: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/10.jpg)
Aspectos Teóricos da Computação 10
BibliografiaBibliografia básica
• LEWIS, Harry R.; PAPADIMITRIOUS, Christos H. Elementos de Teoria da Computação. 2. ed. Porto Alegre: Bookman, 2004.
• RAMOS, Marcus Vinicius Midena. NETO, João José. VEGA, Italo Santiago. Linguagens Formais. Porto Alegre: Bookman, 2009.
• SIPSER, Michael Introdução à Teoria da Computação. São Paulo: Thomson Pioneira, 2007.
Bibliografia Complementar
• JFLAP Version 7.0 Released August 28, 2009. Disponível em http://www.jflap.org. Acesso em: 1/07/2010.
• MENEZES, Paulo Blauth. Linguagens formais e autômatos. Porto Alegre: Bookman, 2008.
• MOTWANI, Rajeev, ULLMAN, Jeffrey D. , HOPCROFT, John E. Introdução à Teoria dos Autômatos, Linguagens e Computação. Rio de Janeiro: Campus, 2002.
• MOZGOVOY, M. Algorithms, Languages, Automata, and Compilers - A Practical Approach. Massachussets: Jones and Barlett Publishers, 2009.
• ROSA, J. L. G. Linguagens Formais e Autômatos. LTC, 2010.
![Page 11: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/11.jpg)
Aspectos Teóricos da Computação 11
Cronograma
![Page 12: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/12.jpg)
Aspectos Teóricos da Computação 12
Meu Objetivo
Possibilitar oportunidades para o aprendizado da turma
Fazer de tudo para que todo mundo aprenda a disciplina
Eu quero e tenho certeza que vocês podem e vão ser muito bons alunos e alunas
E depois disso serão muito bons profissionais. No caso de vocês muitos já estão sendo...
![Page 13: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/13.jpg)
Aspectos Teóricos da Computação 13
Diretivas Não se restringir somente ao conteúdo
apresentado em aula Ter consciência crítica
– Questionar, questionar, questionar não só o professor mas o conteúdo...
![Page 14: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/14.jpg)
Aspectos Teóricos da Computação
Próxima Aula Grupos para as atividades em sala de aula
No máximo 3 alunos por grupo.
![Page 15: Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teoricos da computacao](https://reader030.vdocuments.pub/reader030/viewer/2022020720/5478671ab4af9f96108b4c81/html5/thumbnails/15.jpg)
Aspectos Teóricos da Computação 15
Contato com o Professor Durante as aulas. Após a aula. Através do e-mail
Dúvidas, comentários, sugestões???