Cloud Computing (Postgraduate)
Cloud Computing has transformed how services and applications are delivered. Thanks to the rise of virtualisation technology and new programming paradigms, applications can quickly be delivered to a growing audience, without the need to physically own and configure the infrastructure. The Cloud Computing module will cover the main characteristics of Cloud Computing, including the enabling technologies, main software and service paradigms underpinning it, as well as related aspects, namely security, privacy, ethical concerns
Data Mining (Postgraduate)
Data that has relevance for decision-making is accumulating at an incredible rate due to a host of technological advances. Electronic data capture has become inexpensive and ubiquitous as a by-product of innovations such as the Internet, e-commerce, electronic banking, point-of-sale devices, bar-code readers, and electronic patient records. Data mining is a rapidly growing field that is concerned with developing techniques to assist decision-makers to make intelligent use of these repositories. The field of data mining has evolved from the disciplines of statistics and artificial intelligence. This module will combine practical exploration of data mining techniques with a exploration of algorithms, including their limitations. Students taking this module should have an elementary understanding of probability concepts and some experience of programming.
Digital Media and Social Networks (Postgraduate)
Content description: ------- How does the way we feel and express emotional behaviour affect our interaction with technology? What if we could use a ''head nod'' for ''liking'' things on Facebook? Can we create assistive technology to help people suffering from social disorders (e.g., autism)? Affective and Behavioural Computing is a multidisciplinary field of research and practice concerned with these questions, and understanding, recognizing and utilizing human emotions and communicative behaviour in the design of computational systems. ----- The following list aims to clarify the content and provides a representative list of topics: ¿ Overview: affective and behavioural computing; ¿ Theories in psychology, cognitive science and neuroscience: affect, emotion and social signal processing; ¿ Computational models; ¿ Emotion, affect and social signals in Human-Computer Interaction (HCI); ¿ Sensing: vision, audio, bio signals, text; data acquisition and annotation, databases and tools; ¿ Processing: extracting meaningful information and features; ¿ Recognition: applying machine learning techniques; ¿ Programming refresher: Hands-on lecture on programming for affective and behavioural computing using relevant libraries; ¿ Evaluation: automatic analysers, and emotionally and socially intelligent systems; ¿ Affect and social signal expression and generation (virtual characters, robots, etc.); ¿ Affect and social signals for Mobile HCI; ¿ Applications (entertainment technology/gaming/arts; clinical and biomedical studies, e.g., autism, depression, pain; etc.; implicit (multimedia) tagging; affective wearables); ¿ Ethical issues.
Digital Media and Social Networks (Undergraduate)
Introduction to Online Social Networks (OSN) Characteristics of OSNs Basic Graph Theory Small World Phenomenon Information propagation on OSNs Influence and Content Recommendation Sentiment Analysis in Social Media Privacy and ethics
Fundamentals of Web Technology (Undergraduate)
Logic and Discrete Structures (Undergraduate)
The module consists of two parts, each of fundamental importance for any serious approach to Computer Science: Logic and Discrete Structures. Logic has been called the Calculus of Computer Science. It plays a very important role in computer architecture (logic gates), software engineering (specification and verification), programming languages (semantics, logic programming), databases (relational algebra and SQL the standard computer language for accessing and manipulating databases), artificial intelligence (automatic theorem proving), algorithms (complexity and expressiveness), and theory of computation (general notions of computability). Computer scientists use Discrete Mathematics to think about their subject and to communicate their ideas independently of particular computers and programs. They expect other computer scientists to be fluent in the language and methods of Discrete Mathematics. In the module we consider Propositional logic as well as Predicate Calculus. We will treat Propositional Logic and Predicate Calculus as formal systems. You will learn how to produce and annotate formal proofs. As application we will briefly consider the programming language Prolog. This module will also cover a variety of standard representations, operations, properties, constructions and applications associated with selected structures from Discrete Mathematics (sets, relations, functions, directed graphs, orders).