Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATRIZ No da grade FUNDAMENTAÇÃO Resolução nº 82/08-COGEP de 12 de setembro de 2008 LEGAL DISCIPLINA/UNIDADE CURRICULAR LÓGICA PARA COMPUTAÇÃO CÓDIGO PERÍODO IF61B 1º CARGA HORÁRIA horas) AT AP Total 30 30 60 AT: Atividades Teóricas, AP: Atividades Práticas. PRÉ-REQUISITO EQUIVALÊNCIA Não há OBJETIVOS Os objetivos da disciplina Lógica para Computação são "desenvolver conceitos de lógica proposicional e de predicados, prova automática de teoremas e programação em lógica". O papel desta disciplina é o de mostrar como uma lógica pode ser vista como uma linguagem de especificação tanto de sistemas como de suas propriedades. Sendo assim, pode-se entender a disciplina como o estudo das lógicas proposicional e predicativa do ponto de vista da verificação de propriedades por elas expressas, permitindo que o aluno seja capaz de identificar o tipo de lógica que pode ser usada para especificar um sistema ou propriedade, bem como realizar a modelagem de sistemas e propriedades por meio da lógica escolhida. EMENTA Lógica Proposicional. Linguagem e Semântica. Sistemas Dedutivos. Aspectos Computacionais. O Princípio da Resolução. Lógica de Predicados. Substituição e Resolução. Introdução ao PROLOG. Aplicações em Computação: Introdução à Especificação e Verificação de Programas. CONTEÚDO PROGRAMÁTICO ITEM EMENTA 1 Lógica Proposicional. 2 Linguagem e Semântica. 3 Sistemas Dedutivos. 4 Aspectos Computacionais. 5 O Princípio da Resolução. 6 Lógica de Predicados. 7 Substituição e Resolução. 8 9 CONTEÚDO Introdução. A Linguagem Proposicional. Expressando Idéias com o uso de fórmulas. Fórmulas e subfórmulas. Tamanho de fórmulas. Semântica. Satisfazibilidade, Validade e Tabelas da Verdade. Conseqüência lógica. O que é um sistema dedutivo. Axiomatização. Substituições. Axiomas, Dedução e Teoremas. O Teorema da Dedução. Introdução à Dedução Natural. Introdução ao Método dos Tableaux Analíticos. Correção e Completude. Decidibilidade. Estudo sobre a implementação de um Provador de Teoremas. Formas Normais. Forma Normal Conjuntiva ou Forma Clausal. Forma Normal Disjuntiva. Resolução. O Problema de Satisfazibilidade SAT. Introdução. A Linguagem de Predicados Monádicos e Poliádicos. Semântica. Dedução Natural. Axiomatização. Correção e Completude. Decidibilidade e Complexidade. Uso de Variáveis. Algoritmo de substituição. Resolução em lógica de predicados Cláusulas de Horn. PROLOG. Estratégia de resolução em Introdução ao PROLOG. PROLOG. Especificação de Programas. Programas como Aplicações em Computação: Introdução à Transformadores de Estados. Especificação de Propriedades Especificação e Verificação de sobre Programas. A Lógica como Linguagem de Especificação. Programas. Tipos de Dados e Predicados Predefinidos. Invariantes, Precondições e Pós-condições. Como verificar programas. Prova de programas. Correção parcial e total de programas. Regras e sistemas de provas. PROFESSOR ANO/SEMESTRE xxxx/xx AT AP TURMA CARGA HORÁRIA (aulas) APS AD APCC Total AT: Atividades Teóricas, AP: Atividades Práticas, APS: Atividades Práticas Supervisionadas, AD: Atividades a Distância, APCC: Atividades Práticas como Componente Curricular. DIAS DAS AULAS PRESENCIAIS Dia da semana Segunda Número de aulas no semestre (ou ano) Terça Quarta Quinta PROGRAMAÇÃO E CONTEÚDOS DAS AULAS (PREVISÃO) Dia/Mês ou Semana Conteúdo das Aulas ou Período Sexta Sábado Número de Aulas PROCEDIMENTOS DE ENSINO AULAS TEÓRICAS Descrição resumida dos métodos, das técnicas e dos recursos que o professor utilizará. Descrição detalhada dos métodos, das técnicas e dos recursos que o professor utilizará nas aulas para efetivar a aprendizagem dos alunos, visando alcançar os objetivos propostos na disciplina/unidade curricular. Se o professor utilizar tecnologias de informação e comunicação como ferramentas de apoio ao processo de ensino aprendizagem, deverá relacioná-las. AULAS PRÁTICAS Descrição resumida dos métodos, das técnicas e dos recursos que o professor utilizará. Descrição detalhada dos métodos, das técnicas e dos recursos que o professor utilizará nas aulas para efetivar a aprendizagem dos alunos, visando alcançar os objetivos propostos na disciplina/unidade curricular. Se o professor utilizar tecnologias de informação e comunicação como ferramentas de apoio ao processo de ensino aprendizagem, deverá relacioná-las. ATIVIDADES PRÁTICAS SUPERVISIONADAS Descrição detalhada dos métodos, das técnicas e dos recursos que o professor utilizará nas atividades práticas supervisionadas para efetivar a aprendizagem dos alunos, visando alcançar os objetivos propostos na disciplina/unidade curricular. ATIVIDADES A DISTÂNCIA Descrição detalhada dos métodos, das técnicas e dos recursos que o professor utilizará nas atividades a distância para efetivar a aprendizagem dos alunos, visando alcançar os objetivos propostos na disciplina/unidade curricular. O professor deve relacionar as tecnologias de informação e comunicação utilizadas como ferramentas de apoio ao processo de ensino aprendizagem. ATIVIDADES PRÁTICAS COMO COMPONENTE CURRICULAR Descrição detalhada dos métodos, das técnicas e dos recursos que o professor utilizará nas atividades práticas como componente curricular para efetivar a aprendizagem dos alunos, visando alcançar os objetivos propostos na disciplina/unidade curricular. PROCEDIMENTOS DE AVALIAÇÃO Conforme regulamento didático pedagógico em vigor. Conforme regulamento didático pedagógico em vigor. REFERÊNCIAS Referencias Básicas: SILVA, Flávio S. C. da; FINGER, Marcelo; MELO, Ana C. V. de. Lógica para Computação. São Paulo: Thomson Learning, 2006. SOUZA, João N. de. Lógica para Ciência da Computação. Segunda edição. Rio de Janeiro: 2008. CONIGLIO, Marcelo; CARNIELLI, Walter A.; BIANCONI, Ricardo. Lógica e Aplicações (em andamento). Disponível em: <http://www.cle.unicamp.br/prof/coniglio/LIVRO.pdf>. Acesso em: 12 dez. 2008. Referências Complementares: CARNIELLI, Walter A.; EPSTEIN, Richard L. Computabilidade, funções computáveis, lógica e os fundamentos da matemática. São Paulo: Editora UNESP, 2006. SIPSER, Michael. Introdução à Teoria da Computação. São Paulo: Thomson Learning, 2007. CLOCKSIN, W.; MELLISH, C. Programming in Prolog. Springer Verlag, 1982. LLOYD, J. W. Foundations of Logic Programming. Springer Verlag, 1987. CHANG, C. L.; LEE, R. C-T. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1987. HAMILTON, A. G. Logic for Mathematicians. Cambridge University Press: 1988. COSTA, Newton Carneiro Affonso da. Ensaio sobre os fundamentos da lógica. São Paulo: Hucitec, 1980. BRODA, Krysia; EISENBACH, Susan; KHOSHNEVISAN, Hessam; VICKERS, Steve. Reasoned Programming. Prentice-Hall, 1994. Disponível em: <http://www.doc.ic.ac.uk/pandora/firstyearbook.pdf>. Acesso em: 12 dez. 2008. ORIENTAÇÕES GERAIS Demais orientações relevantes para a disciplina/unidade curricular. Assinatura do Professor Assinatura do Coordenador do Curso