Linguagem Formais e Autômatos Apresentação da disciplina, metodologia de ensino, conteúdos, avaliações e bibliografia Prof. MSc. Hugo Vieira L. Souza
Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo ou quaisquer partes do documento, em especial a interpretação de tradução, reprodução, distribuição ou comercialização física ou na Web do conteúdo contido nos slides, estão sujeitas a autorização prévia pelo autor. Hugo Vieira Lucena de Souza, 2015 Todos os textos, nomes, marcas e figuras de outras publicações e autores contidos neste documento estão devidamente referenciados através de suas obras originais e protegidos pelas leis de propriedades intelectuais.
Agenda Apresentação do professor Apresentação da disciplina Carga horária Ementa Objetivos Competências Habilidades Conteúdo programático Metodologia de ensino Bibliografia Referências
Professor Mestre em Ciência da Computação pela Universidade Federal de Pernambuco (CIn-UFPE), atualmente é Professor Executor pelo Programa de Graduação e Ensino a Distância [EAD/UAB] no curso de Licenciatura em Computação da Universidade Federal Rural de Pernambuco [UFRPE]. É Professor Adjunto no curso de Graduação de Bacharelado em Sistemas de Informação, Bacharelado em Administração e do Curso Tecnólogo de Logística da Faculdade Joaquim Nabuco [Grupo SER Educacional] na Unidade Paulista/PE. É Gestor para o Programa da Qualidade no Ensino ENADE/INEP, professor do Programa de Especialização e Educação Continuada, no curso de MBA em Engenharia e Qualidade de Software, e professor adjunto para o Curso de Bacharelado em Ciência da Computação da Unipê Business Technology [UBTech-TI], lecionando ainda, Tecnologia da Informação Aplicada à Saúde, para o curso de graduação de Bacharelado em Enfermagem no Centro Universitário de João Pessoa [Unipê/IPÊ/PB]. É especialista em Qualidade de Software, com foco para Melhoria de Processos de Software (MPS), Processos Híbridos de Software (MPSHy), padrões ISO para processos de software, Sistemas de Gestão de Qualidade para Fábricas de Software e Metodologias Ágeis. Tem experiência também com Gestão Empresarial com foco para Gestão de Projetos, além de ter sólidos conhecimentos em Processos de Negócios, Governança de T.I. e Gestão da Tecnologia da Informação, sendo, também, CEO, consultor e produtor da @hugovlsouza e-learning, em cenários que abordam a Gestão e Integração de mídias e TICs em Ambientes Virtuais de Ensino a Distância http://hugovlsouza.com
Disciplina carga horária Carga horária: 60 h/a Dias da semana: Quinta-feira Horário das aulas: 20:20 as 22:00 Sala de aula: F 112 Página da disciplina: http://hugovlsouza.com/unipe/~det673
Disciplina - ementa Conceitos fundamentais sobre formais e autômatos, alfabeto, palavra e linguagens - Linguagens e expressões regulares; Autômatos determinísticos e não determinísticos: sistema de transição, equivalência e teorema de Kleene; Produto direto de autômatos e o problema da equivalência, redução de autômatos finito e a Máquina de Turing; Hierarquia de Chomsky, Máquinas sequenciais, o modelo de Mealy e Moore e Algoritmos baseados em autômatos;
Disciplina - objetivos Objetivo geral: Aplicar os mecanismos formais utilizados na descrição, geração e reconhecimento das linguagens formais (uma particularidade das linguagens de Programação); Objetivos específicos: Identificar a aplicação da Linguagens Formais, no contexto da computação; Projetar e compreender Autômatos Finitos Determinísticos (AFD) e Não Determinísticos (AFND); Compreender as descrições sobre Gramáticas e Linguagens Livre do Contexto; Construir e aplicar Expressões Regulares (ER); Examinar a evolução das Máquinas, com a aplicação dos AFDs e AFNDs;
Disciplina - competências Competência 1 [C1]: Descrever Linguagens Formais; Competência 2 [C2]: Utilizar Expressões Regulares em Aplicações Reais; Competência 3 [C3]: Formular e Estruturar Gramáticas Regulares e Linguagens e Gramáticas Livre de Contexto; Competência 4 [C4]: Verificar Aplicações das Linguagens Formais;
Disciplina habilidades I Habilidade 1 [H1]: Conhecer conceitos sobre alfabeto, palavra e linguagem; Habilidade 2 [H2]: Interpretar e classificar AFD e AFND; Habilidade 3 [H3]: Conhecer linguagens aceitas por AFD e AFND; Habilidade 4 [H4]: Reconhecer os conjuntos regulares; Habilidade 5 [H5]: Construir ER;
Disciplina habilidades II Habilidade 6 [H6]: Identificar ER; Habilidade 7 [H7]: Identificar Propriedades dos Conjuntos Regulares; Habilidade 8 [H8]: Projetar linguagens geradas por gramáticas; Habilidade 9 [H9]: Conhecer Hierarquia das gramáticas; Habilidade 10 [H10]: Reconhecer e tratar recursividades e ambiguidades;
Disciplina habilidades III Habilidade 11 [H11]: Descrever Linguagens Livres de Contexto; Habilidade 12 [H12]: Interpretar o uso de AFD e AFND na elaboração das Máquinas; Habilidade 13 [H13]: Detectar a importância das Linguagens Formais para a evolução da Computação;
Disciplina conteúdo programático I DISTRIBUIÇÃO UNIDADES x EMENTA Unidade Conteúdos Atividades Competências Habilidades Carga horária I F u n d a m e n t o s m a t e m á t i c o s : Conjuntos, Relações e funções, Grafos e árvores, Cadeias, alfabetos e palavras; Autômatos Finitos Determinísticos (AFDs): D e f i n i ç ã o e f u n c i o n a m e n t o Linguagens aceitas pelos AFDs, Minimização de AFDs; A u t ô m a t o s F i n i t o s N ã o - determinísticos (AFNDs): D e f i n i ç ã o e f u n c i o n a m e n t o, Linguagens aceitas pelos AFNDs, Transformação de um AFND em um AFD equivalente, AFND com movimentos; Aulas expositivas Listas de exercícios Pesquisas bibliográficas C1 H1, H2 e H3 1 5 h o r a s c o m aulas teóricas 9 horas com aulas práticas
Disciplina conteúdo programático II DISTRIBUIÇÃO UNIDADES x EMENTA Unidade Conteúdos Atividades Competências Habilidades Carga horária II Expressões Regulares: Conjuntos regulares, Definição de expressões regulares, Expressões regulares equivalentes, Expressões regulares como linguagens FADs (Teor. de Kleene), Propriedades dos conjuntos regulares ( Pumping Lemma ); G r a m á t i c a s e L i n g u a g e n s Regulares: Definição de gramática, Linguagem g e r a d a p o r u m a g r a m á t i c a, Hierarquia das gramáticas, Definição de gramática regular, Gramáticas e AFDs; Aulas expositivas Listas de exercícios Pesquisas bibliográficas C2 e C3 H4, H5, H6, H7, H8 E H9 1 3 h o r a s c o m aulas teóricas 5 horas com aulas práticas
Disciplina conteúdo programático III DISTRIBUIÇÃO UNIDADES x EMENTA Unidade Conteúdos Atividades Competências Habilidades Carga horária III Gramáticas e Linguagens Livres do Contexto: Gramáticas livre de context, D e s c r i ç ã o d e l i n g u a g e n s, Ambiguidade e Recursividade, Tratamento da recursividade; Máquinas Sequenciais: D i f e r e n ç a e n t r e m á q u i n a s sequenciais e AFDs, Máquina sequencial de Mealy, Máquina sequencial de Moore, Equivalência entre as máquinas de Mealy e as de Moore; Aulas expositivas Seminários C3 e C4 H10, H11, H12 e H13 12 horas com aulas teóricas 6 h o r a s c o m aulas práticas
Metodologia de ensino - avaliações As avaliação semestral dos alunos é formada por avaliações realizadas paralelamente nos estágios do semestre. Esta avaliação está composta por: Primeiro estágio: Prova teórica escrita com o peso máximo de cinco pontos [5,0]; Entrega de cinco [05] listas de exercícios com o peso máximo de um ponto cada [1,0]; Segundo estágio: Prova teórica escrita com o peso máximo de cinco pontos [5,0]; Entrega de quatro [05] listas de exercícios com o peso máximo de um ponto cada [1,0]; Terceiro estágio: Elaboração, apresentação e entrega do seminário [5,0]; Entrega de cinco listas de exercícios com peso máximo de meio ponto cada [2,5] Participação, minitestes e atividades de sala [2,5];
Metodologia de ensino trabalhos I O acompanhamento diário das aulas, exercícios e dúvidas será preferencialmente pelo ambiente virtual de aprendizagem Moodle; Todas as tarefas, listas de exercícios e demais atividades didáticas que precisam ser entregues ao professor só serão aceitas quando forem postadas pelo ambiente virtual de aprendizagem; Caso os trabalhos acadêmicos superem o tamanho máximo de upload suportado pelo Moodle, o aluno poderá encaminhar seu trabalho diretamente pelo site do professor através do endereço: http://hugovlsouza.com/upload
Metodologia de ensino trabalhos II Caso o aluno encaminhe seu trabalho diretamente pelo site do professor, o mesmo deverá obedecer os seguintes procedimentos: Renomear o nome do arquivo com o seguinte padrão: [Nome-Disciplina-Título-Trabalho]; Exemplo: [Hugo-Souza-Teoria-da-Computação-Lista-de-exercício-01].zip Após realizar o upload do arquivo, o aluno deverá anotar e salvar o número do protocolo de envio gerado na tela. Encaminhar um e-mail para o endereço hvlsouza@gmail.com comunicando que o trabalho não foi postado pelo ambiente, mas sim, pelo site, para que possa ser validado e posteriormente avaliado; É importante que no e-mail, o aluno informe o nome do arquivo encaminhado e o número do seu protocolo gerado;
Bibliografia Básica MENEZES, P. B. Linguagens formais e autômatos. 6ª ed. Bookman, 2011 [1]; ROSA, J. L. G. Linguagens formais e autômatos. São Paulo: LTC, 2010 [2]; VIEIRA, N. J. Introdução aos fundamentos da Computação: linguagens e máquinas. São Paulo: Thomsom Learning, 2006 [3]; [1] [2] [3]
Bibliografia Complementar SIPSER, M. Introdução à teoria da computação. 2. ed. São Paulo: Thomson Learning, 2007. [4]; HOPCROFT, J. E.; MOTWANI, R.; ULLMAN, J. D.; Introduction to automata theory, languages and computation. 2ª ed. São Paulo: Addison-Wesley, 2000 [5]; DIVERIO, T. A.; MENEZES, P. B. Teoria da computação: máquinas universais e computabilidade. 3ª ed. 2011 [6]; [4] [5] [6]
Referências [1] MENEZES, P. B. Linguagens formais e autômatos. 6ª ed. Bookman, 2011. Foto-reprodução pública. Disponível em: < www.livrariasaraiva.com.br/produto/3162298 > Acesso em 06 ago. 2014; [2] ROSA, J. L. G. Linguagens formais e autômatos. São Paulo: LTC, 2010. Foto-reprodução pública. Disponível em: < http:// www.livrariasaraiva.com.br/produto/2883311?mi=vitrinechaordic_similaritems_product_2883311 > Acesso em 06 ago. 2014; [3] VIEIRA, N. J. Introdução aos fundamentos da Computação: linguagens e máquinas. São Paulo: Thomsom Learning, 2006. Foto-reprodução pública. Disponível em: < http://www.livrariasaraiva.com.br/produto/198643 > Acesso em 06 ago. 2014; [4] SIPSER, M. Introdução à teoria da computação. 2. ed. São Paulo: Thomson Learning, 2007. Foto-reprodução pública. Disponível em: < http:// www.livrariasaraiva.com.br/produto/1915098 > Acesso em 06 ago. 2014; [5] HOPCROFT, J. E.; MOTWANI, R.; ULLMAN, J. D.; Introduction to automata theory, languages and computation. 2ª ed. São Paulo: Addison- Wesley, 2000. Foto-reprodução pública. Disponível em: < http://www.livrariasaraiva.com.br/produto/645897 > Acesso em 06 ago. 2014; [6] DIVERIO, T. A.; MENEZES, P. B. Teoria da computação: máquinas universais e computabilidade. 3ª ed. 2011. Foto-reprodução pública. Disponível em: < http://www.livrariasaraiva.com.br/produto/3425862 > Acesso em 06 ago. 2014;
Vamos nos conhecer? Quem são vocês? O que vieram fazer aqui? O que esperam da disciplina?