Rökfræði í tölvunarfræði

NámsgreinT-505-ROKF
Önn20241
Einingar6
SkyldaNei

Ár1. ár
ÖnnVorönn/Spring 2024
Stig námskeiðsÓskilgreint
Tegund námskeiðsValnámskeið
UndanfararT-103-STST, Strjál stærðfræði fyrir verkfræðinema
T-117-STR1, Strjál stærðfræði I
T-419-STR2, Strjál stærðfræði II
SkipulagTD-Staðarnám-12 vikna
Kennari
Anna Ingólfsdóttir
Antonios Achilleos
Lýsing
Logic has been called "the calculus of computer science". The argument is that logic plays a fundamental role in computer science, similar to that played by calculus in the physical sciences and traditional engineering disciplines. Indeed, logic plays an important role in areas of Computer Science as disparate as architecture (logic gates), software engineering (specification and verification), programming languages (semantics, logic programming), databases (relational algebra and SQL), artificial intelligence (automatic theorem proving, multi-agent systems, knowledge and belief), algorithms (complexity and expressiveness), and theory of computation (general notions of computability). See, for instance, the slides available at http://www.ru.is/faculty/luca/SLIDES/logic-and-cs.pdf for more information. This course provides the student with a thorough introduction to computational logic, covering the topics of syntax, semantics, decision procedures and formal systems for various logics that play a crucial role in applications in computer science, namely propositional and first-order logic, and modal and temporal logics. The material is taught from a computer science perspective, with an emphasis on the use of logic as a specification language and general-purpose problem-solving tool in computer science. As part and parcel of the course, we shall introduce various logic-based software tools and the algorithms and data structures underlying them; examples include BDD-based tools, SAT solvers and model checkers. The goal is to prepare the students for using logic as a formal tool in computer science.
Námsmarkmið
At the end of the course, the students will be able: to use suitable logical languages (such propositional and first-order logic as well as modal and temporal logics) to model computer science related problems, to solve problems using techniques from logic and tools embodying those techniques, to apply logic to formalize reasoning in their own fields of interest within computer science.
Námsmat
Ekkert skráð námsmat.
Lesefni
Ekkert skráð lesefni.
Kennsluaðferðir
Engin skráð kennsla.
TungumálEnska