UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Documentos relacionados
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

IBM1088 Linguagens Formais e Teoria da Computação

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

SCC-5832 Teoria da Computação

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

SCC Teoria da Computação e Linguagens Formais

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 1

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Teoria da Computação. Computabilidade e complexidade computacional

Linguagens Formais e Autômatos

Teoria da Computação (BBC244)

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

SCC Introdução à Teoria da Computação

Teoria da Computação. Aula 01

Linguagens Formais e Autômatos Apresentação da Disciplina

Teoria da Computação. Computabilidade

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

I.2 Introdução a Teoria da Computação

Teoria da Computação

PCS3616. Programação de Sistemas (Sistemas de Programação) Visão Geral

O que é a Teoria em Ciência da Computação. Introdução à Ciência da Computação Mário S. Alvim

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA

PLANO DE APRENDIZAGEM

Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/01)

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

UNIDADE UNIVERSITÁRIA:

A Matemática como Serviço a Ciência da Computação. Prof. Dr. Carlos Eduardo de Barros Paes Coordenador do Curso de Ciência da Computação

Linguagens Formais e Autômatos

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Universidade Federal de Alfenas

Linguagens Formais e Autômatos P. Blauth Menezes

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Computabilidade e Complexidade (ENG10014)

Introdução a Programação

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

Resolução Exe 2.12 Monolítico Recursivo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Profª Danielle Casillo

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Profa. Sheila Morais de Almeida. março

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Teoria da Computação Aula 8 Noções de Complexidade

Introdução à Computação Parte 2

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

Universidade Federal de Alfenas

LINGUAGENS FORMAIS E AUTÔMATOS

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO NORTE DE MINAS GERAIS CAMPUS JANUÁRIA

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Hierarquia de Chomsky e sua relação com os autômatos

BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATEMÁTICA DISCRETA Aula 1 - Apresentação da disciplina

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N.

Teoria da Computação Aula 01 Revisão de Conjuntos

Linguagens Livres do Contexto. Adaptado de H. Brandão

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Algoritmos I Aula 1 Introdução aos Algoritmos

Noção de Computabilidade

Universidade Federal de Alfenas

Introdução. Matemática Discreta. Prof Marcelo Maraschin de Souza

Universidade Federal de Alfenas

Apresentação. Informação geral + Conceitos iniciais

Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

DOCUMENTO DE ADEQUAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE NOVA DE LISBOA PEÇA B

Análise e Complexidade de Algoritmos

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Análise de Algoritmos. Prof. Sérgio Carlos Portari Júnior

Universidade Estadual De Santa Cruz (UESC)

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Modelagem de Sistemas Web. Modelagem de BD

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado?

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2013/2014

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO NORTE DE MINAS GERAIS CAMPUS MONTES CLAROS 1 PERÍODO

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

Fundamentos de Programação

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

UNIVERSIDADE FEDERAL RURAL DO SEMIÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Profª Danielle Casillo

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Transcrição:

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 01 Apresentação da Disciplina Prof.ª Danielle Casillo

PLANO DE ENSINO Nome: Teoria da Computação Créditos: 4 60 horas Período: 2011.1 Horário: terça das 20:30 às 22:20 e quinta das 18:40 às 20:30 Professora: Danielle S. S. Casillo Página: www.ufersa.edu.br Sigaa: www.sig.ufersa.edu.br Contato: danielle@ufersa.edu.br Teoria da Computação - Aula 01 2

OBJETIVOS GERAIS Os alunos serão preparados para o estudo e aprofundamento da semântica e lógica da computação do ponto de vista de computabilidade; observando as linguagens como modelos computacionais e examinando a sua expressividade. Teoria da Computação - Aula 01 3

OBJETIVOS ESPECÍFICOS Serão fornecidos os fundamentos matemáticos de dois importantes paradigmas de programação: lógica e funcional. No aspecto prático, orientar-se-á ao estudante no tratamento de problemas simples e na implementação das soluções com técnicas lógicas e funcionais. Teoria da Computação - Aula 01 4

METODOLOGIA DIDÁTICA Ensino: Aulas teóricas, estudos individuais e em grupo, resolução de exercícios. Avaliação: Provas escritas; Trabalhos realizados individualmente e/ou em grupo; Seminários. Data das avaliações: 14/04/2011-1ª avaliação 24/05/2011-2ª avaliação 28 a 30/06/2011 - Seminários 05/07/2011 Reposição 07/07/2011-4ª avaliação Teoria da Computação - Aula 01 5

PROGRAMA DA DISCIPLINA Primeira Unidade: Introdução e Conceitos Básicos Programas Máquinas Computações e Funções Computadas Equivalência de Programas e Máquinas Verificação da Equivalência de Programas Teoria da Computação - Aula 01 6

PROGRAMA DA DISCIPLINA Segunda Unidade: Máquinas Universais Codificação de Conjuntos Estruturados Máquina de Registradores NORMA Máquina de Turing Máquina de Post Máquina com Pilhas Autômatos com Duas Pilhas Linguagem Lambda Teoria da Computação - Aula 01 7

PROGRAMA DA DISCIPLINA Terceira Unidade: Seminários Teoria da Computação - Aula 01 8

BIBLIOGRAFIA BÁSICA: Notas de Aula Profª Danielle. Teoria da Computação Máquinas Universais e Computabilidade. Tiarajú Asmuz Diverio e Paulo Blauth Menezes. 2ª Edição. Ed. Bookman. 2008. COMPLEMENTAR: Introdução à Teoria da Computação. Michael Sipser. 2ª Edição. Ed. Thompson. 2007. Teoria da Computação - Aula 01 9

CIÊNCIA DA COMPUTAÇÃO X TEORIA DA COMPUTAÇÃO A importância da Teoria para a Prática é imensa! A teoria para esta ciência se faz necessário para iluminar o caminho dos cientistas da computação (práticos), dos engenheiros em computação, dos analistas de sistemas, em fim de todos os profissionais que usem a computação como objeto de estudo ou de trabalho. Mas antes de entender o que seria uma teoria para a ciência da computação vamos entender o que seria Ciência da Computação. Teoria da Computação - Aula 01 10

CIÊNCIA DA COMPUTAÇÃO Computação: tudo o que um computador pode realizar. Mas o que é um computador? Hardware e tecnologia. Ex: calculadora, elevador, máquina de vender refrigerante, CD player, impressora,... A teoria nos fornece conceitos e princípios para nos ajudar entender a natureza geral da Ciência do Computador. Teoria da Computação - Aula 01 11

CIÊNCIA DA COMPUTAÇÃO Definição: é o estudo dos algoritmos, suas aplicações e de sua implementação, na forma de software, bem como das estruturas matemáticas indispensáveis à formulação precisa dos conceitos fundamentais da teoria da computabilidade e da computação aplicada. Teoria da Computação - Aula 01 12

CIÊNCIA DA COMPUTAÇÃO Antes de 1920: computador era um termo associado a pessoas que realizavam cálculos. Após 1920: a expressão máquina computacional começou a ser usada para referir-se a qualquer máquina que realize o trabalho de um profissional computador. O termo máquina computacional acabou perdendo espaço para o termo reduzido computador em 1940. Alan Turing, conhecido como pai da Ciência da Computação, inventou a Máquina de Turing, que posteriormente evoluiu para o computador moderno. Teoria da Computação - Aula 01 13

CIÊNCIA DA COMPUTAÇÃO Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas. Edsger Dijkstra Teoria da Computação - Aula 01 14

O QUE É COMPUTAÇÃO? Computação pode ser definida como a solução de um problema ou, formalmente, o cálculo de uma função, através de um algoritmo. Teoria da Computação - Aula 01 15

A DISCIPLINA: TEORIA DA COMPUTAÇÃO O campo dessa disciplina inclui um vasto leque de tópicos especiais, desde projetos de máquinas até programação. Para estudar os princípios básicos da computação, construiremos modelos abstratos de computadores e computação, estes modelos contém as características importantes que são comuns tanto ao hardware quanto ao software. Teoria da Computação - Aula 01 16

TEORIA DA COMPUTAÇÃO A área de TC (Teoria da Computação) procura fornecer fundamentos matemáticos rigorosos para as diversas áreas da computação. Conhecimento não amarrado à tecnologia Ferramentas matemáticas e métodos formais para modelar fenômenos da computação Teoria da Computação - Aula 01 17

TEORIA DA COMPUTAÇÃO A TC introduz conceitos fundamentais que são desenvolvidos em outras áreas. A abordagem de reconhecimento de linguagens é a base de todo o estudo das Linguagens Formais, Semântica Formal, Compiladores, e todo o conjunto de disciplinas que tratam de Linguagens de programação. Teoria da Computação - Aula 01 18

O QUE É TEORIA DA COMPUTAÇÃO? A teoria da computação, um subcampo da ciência da computação e matemática, busca determinar quais problemas podem ser computados em um dado modelo de computação. Existem 3 áreas centrais da Teoria da Computação: Autômatos Computabilidade Complexidade Teoria da Computação - Aula 01 19

TEORIA DA COMPUTAÇÃO Estas áreas são interligadas pela seguinte questão: Quais são as capacidades e limitações fundamentais dos computadores? Para cada uma das três áreas autômatos, computabilidade e complexidade essa questão é interpretada diferentemente. Teoria da Computação - Aula 01 20

TEORIA DA COMPUTAÇÃO Teoria da Complexidade: Os problemas computacionais vem em diferentes variedades: alguns são fáceis e outros difíceis. Ex: Problema da ordenação Fácil Criptografia Difícil O que faz alguns problemas computacionalmente difíceis ou fáceis? Entender qual o aspecto do problema é a raiz da dificuldade; Encontrar soluções que se aproximam da solução perfeita; Alguns problemas são difíceis somente na situação do pior caso. Teoria da Computação - Aula 01 21

TEORIA DA COMPUTAÇÃO Teoria da Computabilidade: Classifica os problemas por meio da separação entre os que são solúveis e os que não o são. Ex: determinar se um enunciado matemático é verdadeiro ou falso. As teorias da computabilidade e complexidade estão intimamente relacionadas. Na teoria da complexidade, o objetivo é classificar os problemas como fáceis ou difíceis; Na teoria da computabilidade a classificação é feita por meio dos problemas que são solúveis ou não. Teoria da Computação - Aula 01 22

TEORIA DA COMPUTAÇÃO Teoria dos Autômatos: Lida com as definições e propriedades de modelos matemáticos de computação. Autômatos finitos: usados em processamento de textos, compiladores e projeto dehardware. Gramática livre-do-contexto: usado em linguagem de programação, inteligência artificial. Teoria da Computação - Aula 01 23

TEORIA DA COMPUTAÇÃO HISTÓRICO: A Teoria da Computação teve início nos primeiros anos do século XX, antes da invenção dos modernos computadores eletrônicos. Naquela época, os matemáticos estavam tentando descobrir quais problemas matemáticos poderiam ser resolvidos por um método simples, e quais não poderiam. O primeiro passo estava em definir o significado de um "método simples" para resolver o problema. Em outras palavras, eles precisavam de um modelo formal da computação. Teoria da Computação - Aula 01 24

TEORIA DA COMPUTAÇÃO HISTÓRICO: Na década de 1920, computador era associado a pessoas que realizavam cálculos; O termo máquina computacional referia-se a qualquer máquina que realize cálculos; Os fundamentos matemáticos da ciência da computação moderna começaram a ser definidos por Gödel com seu Teorema da Incompletude, que mostra que existem limites no que pode ser provado ou desaprovado em um sistema formal. Teoria da Computação - Aula 01 25

TEORIA DA COMPUTAÇÃO HISTÓRICO: Diversos modelos diferentes da computação foram propostos pelos primeiros pesquisadores. Máquina de Turing: propunha a construção de uma máquina universal, executando a programação que lhe for passada; Funções Recursivas: compostas para operar diretamente sobre os números; Cálculo-Lambda: similar às Funções Recursivas. Teoria da Computação - Aula 01 26

TEORIA DA COMPUTAÇÃO HISTÓRICO: Todos estes formalismos são equivalentes em termos de poder computacional, ou seja, qualquer computação que possa ser realizada com um modelo pode ser realizada com qualquer um dos outros modelos. As questões relativas à possibilidade de realizar certos tipos de computação em determinados tipos de máquinas são estudadas pela Teoria da Computabilidade. Teoria da Computação - Aula 01 27

TEORIA DA COMPUTAÇÃO HISTÓRICO: Alan Turing propôs, em 1936 um formalismo para representação de procedimentos efetivos. A intenção do modelo de Turing, denominado Máquina de Turing, foi simular, tanto quanto possível, as atitudes humanas relacionadas à computação. Foi o primeiro trabalho a identificar programas escritos para uma máquina computável. Teoria da Computação - Aula 01 28

TEORIA DA COMPUTAÇÃO HISTÓRICO: Assim, define-se programa como sendo um procedimento efetivo, que permite descrever todos os procedimentos possíveis que podem ser executados em um computador. Teoria da Computação - Aula 01 29