CENG424 LOGIC FOR COMPUTER SCIENCE

Course Code:5710424
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:6.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. FERDA NUR ALPASLAN
Offered Semester:Fall or Spring Semesters.

Course Objectives

During this course, students will learn

  • Introduction
  • Basic Definitions  (Satisfiability and Validity)
  • Boolean Functions
  • Normal Forms
  • Satisfiability
  • Semantic Tableaux
  • Relational Logic
  • Relational Proofs
  • Unificaton
  • Relational Resolution, 
  • Resolution Strategies
  • Applications
  • Answer set programming
  • ASP systems and tools

Course Content

Overview of propositional and first-order logic. Computational aspects of logic: definite clauses, resolution, unification, and clausal forms. Modal, temporal, and other non-standard logics. Applications of various logics in computer science.


Course Learning Outcomes

At the end of this course, students will be able to:

  • Recall and explain the syntax and semantics of Propositional Logic (PL) and First-Order Logic (FOL)
  • Recall and explain the definition and use of Natural Deduction rules for reasoning within PL and FOL
  • Construct Natural Deduction proofs for PL and FOL, and analyze the correctness of existing proofs
  • Recall and construct proof terms to annotate PL proofs and interpret their correspondance to lambda calculus
  • Recall and explain the syntax and semantics of Answer Set Programming (ASP)
  • Model computational systems with ASP,  apply model checking tools towards their verification
  • Explain the correspondence between Horn-Clauses, its proof theory and Logic Programming
  • Write ASP programs to solve simple programming problems and correlate their execution to proof construction

Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies