Teaching
Overview
The Bio-Ontology Research Group teaches courses in artificial intelligence, knowledge representation, bioinformatics, and bioengineering within the Computer Science and Bioengineering programs at KAUST.
Active Courses
Applications of AI in Bioinformatics
Computer Science Program. Most recently taught: 2025.
An advanced graduate course on the use of machine learning and artificial intelligence methods for biological and biomedical data analysis. Topics include representation learning for biological sequences, structures, and ontology-annotated data; predictive modeling of protein and gene functions, phenotypes, and disease associations; and the integration of symbolic biological knowledge with neural models.
Algorithms in Bioinformatics
Computer Science Program. Most recently taught: 2025. Previously: 2022, 2020.
The course covers core algorithmic techniques used in bioinformatics, including sequence alignment, motif finding, phylogenetic inference, biological network analysis, and probabilistic models of biological data. Programming assignments give students hands-on experience with widely used bioinformatics tools and pipelines.
Knowledge Representation and Reasoning (CS213)
Computer Science Program. Most recently taught: 2024. Previously: 2022, 2021, 2020, 2017/2018, 2015/2016.
The course covers core concepts in knowledge representation, reasoning, and the Semantic Web. The aims of the course are to introduce key concepts of knowledge representation and its role in artificial intelligence, to enable students to design and apply knowledge-based systems, and to understand the limitations and complexity of algorithms for representing knowledge.
Topics: propositional and first-order logic, expressing knowledge, resolution, description logics, the Semantic Web, default and non-monotonic logic, answer set programming, modal logic.
Prerequisites: knowledge in discrete mathematics, in particular set theory and complexity theory (e.g., CS260 or equivalent undergraduate experience).
Neurosymbolic AI
Computer Science Program. Most recently taught: 2024.
An advanced course on the integration of symbolic reasoning with neural-network-based learning. Topics include logic tensor networks, knowledge graph embeddings, embedding description logics, reasoning shortcuts, neural answer-set programming, and inductive logic programming. The course combines theoretical foundations with practical exercises using current neurosymbolic frameworks.
Foundations of Bioengineering
Bioengineering Program. Most recently co-taught: 2025. Previously: 2024, 2021. Co-Instructor.
A foundational graduate course introducing core methods and concepts of bioengineering, including computational and quantitative methods relevant to the field.
Previously Taught
Data Analytics
Computer Science Program. Most recently taught: 2023. Previously: 2021.
An introductory graduate course in data analytics covering statistical and machine learning methods for data analysis, with hands-on exercises in Python.
Applied Ontology
Computer Science Program. Most recently taught: 2018. Previously: 2016/2017.
The course covers advanced topics in conceptual modeling, data management, integration, and analysis, all of which have applications in data-intensive disciplines such as biology and biomedicine. The aim of the course is to provide an in-depth understanding of the state of the art in formal ontologies, including their role in integrating and analyzing data. While Knowledge Representation and Reasoning introduced basic logic formalisms that can be used to express knowledge, the Applied Ontology course focuses on how to structure the content of a knowledge base and introduces general structuring principles for knowledge, including theories for mereological (parthood) relations and theories of space and time, and the consequences of selecting a particular theory in formalized knowledge bases.
Prerequisites: Knowledge Representation and Reasoning (CS213) or equivalent.
Introduction to Artificial Intelligence
Computer Science Program. Most recently taught: 2019.
The course provided a broad overview of the field of Artificial Intelligence and introduced the basic methods and principles used to design intelligent systems. A key emphasis is on problem-solving and decision making as two key aspects of intelligent behavior, as well as on logical foundations of Artificial Intelligence.
Prerequisites: knowledge in discrete mathematics, in particular set theory and complexity theory (e.g., CS260 or equivalent undergraduate experience).
Course Materials
Lecture slides for Knowledge Representation and Reasoning and Neurosymbolic AI are maintained outside of this page. Please contact Prof. Hoehndorf if you need access to course materials for non-KAUST use.