XClose

Information Studies

Home
Menu

Teaching

I am currently teaching/co-teaching the following modules:

Graph Databases and Semantic Technologies (INST0069)

This module is intended as an introduction to the theory and applications of graph databases using the Semantic Web as the primary application example. The module starts by introducing the main types of NoSQL databases, giving some indicative examples and explaining the main differences with relational databases. It then focuses on graph databases. It introduces the graph data model and, using an example of a graph database management system, it studies how graph data can be stored, queried and managed. The second part of the module studies RDF databases, a particular type of graph databases that form the backbone of the Semantic Web and the Linked Data Cloud. It also covers other technologies of the Semantic Web such as ontology languages (OWL) and query languages for RDF (SPARQL). The module ends with some examples of applications of graph databases and semantic technologies for Arts & Humanities as well as for other domains.

Learning outcomes: The module is intended as an introduction to the theory and applications of graph databases using the Semantic Web as the primary application example. Upon completion of the module, students will be able to:

  • describe the main characteristics and give examples of different types of NoSQL databases
  • compare and contrast relational and graph databases
  • create, manage and query simple graph and RDF databases
  • develop small/medium-scale ontologies using the ontology languages of the Semantic Web

Assessment: Assessment by coursework only
Optional for: This module is not available as an option for any other students.
Prerequisites: There are no prerequisites for this module.
Taught by: Antonis Bikakis
Further information for students currently taking this module


Machine Reasoning for Artificial Intelligence (INST0074)

This module follows on from INST0072 "Logic and Knowledge Representation", exploring in more depth formal symbolic techniques used to model aspects of human reasoning and to provide a theoretical basis for artificial intelligence and automated reasoning systems. The module begins with a full coverage of natural deduction, and goes on to cover a selection of other logic topics such as many-sorted, modal and second-order and non-monotonic logics, and advances in logic programming. The module then covers argumentation theory and argumentation systems, giving more emphasis to the theory and applications of abstract argumentation frameworks.

Learning outcomes: The module is intended as an in-depth study of formal symbolic techniques used to model aspects of human reasoning in a computationally feasible way. A principle aim is to give you sufficient theoretical grounding in the areas covered to enable you to understand current research trends and issues, thus opening the possibility for you to choose related topics for your term three dissertations. On successful completion of the module you will be able to:

  • construct natural deduction proofs in predicate calculus for short formulae, and check the correctness of longer proofs,
  • assess the applicability of logic and/or logic programming techniques to represent a range of reasoning tasks and domains,
  • produce appropriate formal logic-based axiomatisations of simple domains presented informally in English, while identifying ambiguities and logical imprecisions in the informal specifications given,
  • produce graph-based representations of arguments and their relationships and apply the definitions of abstract argumentation frameworks to evaluate the acceptability of arguments,
  • describe the differences between the different argumentation frameworks and their relations to other models of reasoning (e.g. nonmonotonic reasoning) and assess their applicability to artificial intelligence and other domains,
  • assess research articles on topics related to this course.

Assessment: Assessment by coursework only
Optional for: Information Studies students, and 3rd-year students on the BSc in Information Management for Business.
Prerequisites: Logic and Knowledge Representation (INST0072)
Taught by: Rob MillerAntonis Bikakis
Further information for students currently taking this module


Developing Dynamic Web Applications (INST0066)

This module provides an introduction to the issues, techniques, technologies and underlying principles associated with creating and maintaining Web servers and database-driven websites. The course will describe different approaches to extending the functionality of 'plain' websites by using structured data to build database-driven websites.

Learning outcomes: On successful completion of the course, students will:

  • understand the client-server model and the concept of server-side programming
  • understand how to extend the functionality of web applications using server-side programming
  • learn how to manage and interact with a Linux server via the command line
  • be able to write server-side programs in PHP
  • be able to create, manage and carry out queries in structured datasets
  • be able to develop data-driven websites and content management systems
  • understand the range of applications of server-side programming
  • understand modern programming techniques such as Object Oriented Programming (OOP) and best programming practices

Assessment: Assessment by coursework only
Optional for: Information Studies students
Prerequisites: This module is restricted to students who have taken INST0012 Database Theory and Practice (or any other database module) and INST0019 Introduction to programming and scripting (or any other programming module).
Taught by: Antonis Bikakis, Vassilis Routsis
Further information for students currently taking this module