BSc. Courses

  • Web and Database Technologies is a first-year course that provides an introduction to web and database technologies and programming.

    Topics related to web technology and programming include:

    • Introduction to the web and HTTP;

    • Introduction to web development and app design;

    • Front-end development: HTML, CSS, JavaScript;

    • Back-end development: Node.js.

  • Traditionally interaction with computer systems moved from text-based (e.g., terminals) to graphical user interfaces (GUI). These evolved to a wider range of platforms than just desktop computers, to include tablets, smart phones, and even robots. As technology systems (e.g., expert systems, recommender systems) increase in complexity, a standard graphical user interface (GUI) is often not sufficient to harness their power. Moreover, not all users are the same, and to design a system to interact well with a specific user group, taking them into account from the start is key.

    This course will cover four aspects of HCI systems:

    a) Identifying functional and non-functional requirements.

    b) Design of interactive and adaptive systems.

    c) Prototyping of these systems.

    d) User-centered Evaluation of these systems.

MSc. Courses

  • In today's world, interactive AI-infused systems like movie and music recommendation systems, as well as health or financial digital advice systems, provide algorithmic support to individuals in achieving their short- and long-term goals. Ideally, these systems aim to align with people's values, motivations, habits, and social context, offering augmentation of capabilities by providing algorithmic solutions to tasks that may be mentally demanding or require expertise beyond the individual's reach.

    As automation levels rise, ensuring meaningful control, trustworthiness, and understandability of these systems becomes crucial for user acceptance. In this course, students learn to design and evaluate these systems from a human-centred AI perspective.

    The course incorporates psychological theories and concepts that inform algorithmic solutions to nudge individuals towards making good decisions or enhancing their ability to modify their behaviour without coercion or deception. By understanding human behaviour and cognitive processes, students will learn how to design AI systems that support users in a beneficial, transparent, and respectful way of their autonomy.

    The course's main topics:

    • Human motivation, values, cognition, behaviour, learning, change, decision-making, and persuasion

    • HCAI design methods

    • Technology acceptance of interactive AI-infused systems

    • Design guidelines for Human-AI interaction

    • Algorithmic nudges and boosts

  • Crowd Computing is a research field at the intersection of computer science and data science. Crowd computing studies how large groups of people can solve complex tasks that are currently beyond the capabilities of artificial intelligence algorithms, and that cannot be solved by a single person alone. 
     
    Crowd Computing involves the algorithmic engagement and coordination of people by means of Web-enabled platforms. These complex tasks are mainly focused on the creation, enrichment, and interpretation of data, making crowd computing a building block of data science. Examples of such tasks include the coordinated creation of data about real-world events when electronic sensors 
    are not available; the annotation of existing data sets to create ground truth data for the training of machine learning algorithms; and the analysis and interpretation of Web data to identify or moderate inappropriate content (e.g., hate speech, or fake news). 
     
    Crowd computing is an essential tool for any data-driven and AI company: from Meta to Microsoft, from Google to IBM, from Spotify to Pandora, all major companies employ crowd computing to fulfill their data needs, both by involving employees, and by reaching out to anonymous crowds through online marketplaces like Amazon Mechanical Turk, Appen, Prolific, and Toloka. 
     
    The objective of the CS4145 Crowd Computing course is to introduce the scientific and  technical underpinnings of crowd computing, and to investigate how it can be used for computer science applications (e.g., information retrieval, machine learning, next-generation interfaces, and data mining) and for real-world applications (e.g., cultural heritage preservation, online knowledge creation, smart cities, etc.)

  • High-Performance Analysis Systems cover systems for user interaction with data that put a special emphasis on performant implementations. The data sets can be results of numerical simulations or measurements (scientific visualization), or other data collections such as databases (information visualization). The goal is to improve insight into, understanding of, and/or communication about the data. Therefore, three parts are taken into account:

    1. Computer-Human Interaction: How to design interfaces and how to mitigate cognitive biases?

    2. High-Performance Computing: How to implement algorithms that can process and visualize (large) data sets quickly?

    3. Analytics and Applications: How can these aspects be integrated into coherent analysis systems?