Teaching

Office Hours

Please contact me by email to arrange a meeting.

Service Role

I am the Chair of the Undergraduate Exam Board for the Department of Computer Science.

Current Courses

Academic Year 2023-24 University College London

ENGF0001 Engineering Challenges

Offered in the Winter Term.

The challenges of the 21st century require more than just theoretical knowledge in order to solve them. Design, professional and technical skills are sorely needed to help communities tackle big problems in crucial areas such as energy, infrastructure and security, as well as health and sustainability.

The aim of the Engineering Challenges Module is to introduce you to project based working and introduce you to some of the techniques and skills that you will need both in the rest of your degree and beyond.

Link to the module page.

Academic Year 2023-24 University of Bologna

Autonomous and Adaptive Systems

Offered in the Spring Term.

This course will provide the students with a solid understanding of the state of the art and the key conceptual and practical aspects of the design, implementation and evaluation of intelligent machines and autonomous systems that learn by interacting with their environment. The course also takes into consideration ethical, societal and philosophical aspects related to these technologies.

Link to the official module page.

Link to teaching material (slides, etc.).

External Examiner Roles

I was the External Examiner of the MSc in Urban Informatics at King’s College London from 2018 to 2023.

I was an External Examiner for a variety of degrees at Master level at the Department of Informatics at the University of Sussex from 2015 until 2018.

Past Courses

Academic Year 2022-23 University College London

ENGF0001 Engineering Challenges

Offered in the Winter Term.

The challenges of the 21st century require more than just theoretical knowledge in order to solve them. Design, professional and technical skills are sorely needed to help communities tackle big problems in crucial areas such as energy, infrastructure and security, as well as health and sustainability.

The aim of the Engineering Challenges Module is to introduce you to project based working and introduce you to some of the techniques and skills that you will need both in the rest of your degree and beyond.

Link to the module page.

COMP0030 Research Methods

Offered in the Winter and Spring Terms.

The aims of this module are to: deepen the student’s appreciation of what research in computer science is and how it is carried out; teach students how to read research publications critically; teach students how to evaluate research ideas; teach students how to perform a literature survey; outline the work needed to produce a research paper; and introduce the students to both seminal papers and cutting-edge research in computer science.

Link to the module page

Academic Year 2022-23 University of Bologna

Autonomous and Adaptive Systems

Offered in the Spring Term.

At the end of this course student will have a solid understanding of the state of the art and the key conceptual and practical aspects of the design, implementation and evaluation of intelligent machines and autonomous systems that learn by interacting with their environment. The course also takes into consideration ethical, societal and philosophical aspects related to these technologies.

Link to the official module page.

Link to teaching material (slides, etc.).

Academic Year 2021-22 University College London

ENGF0001 Engineering Challenges

Offered in the Winter Term.

The challenges of the 21st century require more than just theoretical knowledge in order to solve them. Design, professional and technical skills are sorely needed to help communities tackle big problems in crucial areas such as energy, infrastructure and security, as well as health and sustainability.

The aim of the Engineering Challenges Module is to introduce you to project based working and introduce you to some of the techniques and skills that you will need both in the rest of your degree and beyond.

Link to the module page.

COMP0030 Research Methods

Offered in the Winter and Spring Terms.

The aims of this module are to: deepen the student’s appreciation of what research in computer science is and how it is carried out; teach students how to read research publications critically; teach students how to evaluate research ideas; teach students how to perform a literature survey; outline the work needed to produce a research paper; and introduce the students to both seminal papers and cutting-edge research in computer science.

Link to the module page

Academic Year 2021-22 University of Bologna

Autonomous and Adaptive Systems

Offered in the Spring Term.

The goal of this module is to provide a solid introduction to the design of autonomous and adaptive computing systems from a theoretical and practical point of view. Topics will include principles of autonomous system design, reinforcement learning, game-theoretic approaches to cooperation and coordination, bio-inspired systems, complex adaptive systems, and computational social systems. The module will also cover several practical applications from a variety of fields including but not limited to distributed and networked systems, mobile and ubiquitous systems, robotic systems, and vehicular and transportation systems.

Link to the official module page.

Link to teaching material (slides, etc.).

Academic Year 2020-21 University College London

ENGF0001 Engineering Challenges

Offered in the Winter Term.

The challenges of the 21st century require more than just theoretical knowledge in order to solve them. Design, professional and technical skills are sorely needed to help communities tackle big problems in crucial areas such as energy, infrastructure and security, as well as health and sustainability.

The aim of the Engineering Challenges Module is to introduce you to project based working and introduce you to some of the techniques and skills that you will need both in the rest of your degree and beyond.

Link to the module page.

Academic Year 2020-21 University of Bologna

Autonomous and Adaptive Systems

Offered in the Spring Term.

The goal of this module is to provide a solid introduction to the design of autonomous and adaptive computing systems from a theoretical and practical point of view. Topics will include principles of autonomous system design, reinforcement learning, game-theoretic approaches to cooperation and coordination, bio-inspired systems, complex adaptive systems, and computational social systems. The module will also cover several practical applications from a variety of fields including but not limited to distributed and networked systems, mobile and ubiquitous systems, robotic systems, and vehicular and transportation systems.

Link to the official module page.

Link to teaching material (slides, etc.).

Academic Year 2019-20 University of Bologna

Autonomous and Adaptive Systems

Offered in the Spring Term.

The goal of this module is to provide a solid introduction to the design of autonomous and adaptive computing systems from a theoretical and practical point of view. Topics will include principles of autonomous system design, reinforcement learning, game-theoretic approaches to cooperation and coordination, bio-inspired systems, complex adaptive systems, and computational social systems. The module will also cover several practical applications from a variety of fields including but not limited to distributed and networked systems, mobile and ubiquitous systems, robotic systems, and vehicular and transportation systems.

Link to the official module page.

Link to teaching material (slides, etc.).

Academic Year 2019-20 University College London

GEOGG125 Principles of Spatial Analysis

Offered in the Autumn Term.

I will give the lectures on Fundamentals of Statistics (using R) and Network Analysis.

The module aims to: equip students with an understanding of the principles underlying the conception, representation/measurement and analysis of spatial phenomena; present an overview of the core techniques of spatial analysis, and the software and tools that are integral to their effective deployment in advanced spatial analysis; provide an introduction to the principles underlying the analysis of spatial data in general and spatial statistics in particular; examine, analyse and simulate a range of spatial patterns and processes; review the many different sources of uncertainty in spatial data and spatial processing and suggest to address such issues in analysis and research; provide an introduction to network analysis with a focus on spatial and social networks.

Material available on Moodle.

Academic Year 2018-19 University College London

GEOGG125 Principles of Spatial Analysis

Offered in the Autumn Term.

I will give the lectures on Introduction to Statistics using R and Network Analysis.

The module aims to: equip students with an understanding of the principles underlying the conception, representation/measurement and analysis of spatial phenomena; present an overview of the core techniques of spatial analysis, and the software and tools that are integral to their effective deployment in advanced spatial analysis; provide an introduction to the principles underlying the analysis of spatial data in general and spatial statistics in particular; examine, analyse and simulate a range of spatial patterns and processes; review the many different sources of uncertainty in spatial data and spatial processing and suggest to address such issues in analysis and research; provide an introduction to network analysis with a focus on spatial and social networks.

Material available on Moodle.

Academic Year 2017-18 University College London

GEOGG125 Principles of Spatial Analysis

Offered in the Autumn Term.

I will give the lectures on Introduction to Statistics using R and Network Analysis.

The module aims to: equip students with an understanding of the principles underlying the conception, representation/measurement and analysis of spatial phenomena; present an overview of the core techniques of spatial analysis, and the software and tools that are integral to their effective deployment in advanced spatial analysis; provide an introduction to the principles underlying the analysis of spatial data in general and spatial statistics in particular; enable students to use GIS for generating and visualising summary statistics; examine, analyse and simulate a range of spatial patterns and processes; review the many different sources of uncertainty in spatial data and spatial processing and suggest to address such issues in analysis and research; provide an introduction to network analysis with a focus on spatial and social networks.

Material available on Moodle.

GEOGG153 Mining Social and Geographic Datasets

Offered in the Spring Term.

We constantly leave digital traces in our daily lives, both in online and offline worlds. Posts in online social networks, mobile sensor data, Open Data repositories are just a few examples of the variety of data sources that are available to practitioners and researchers. Often, this information is also associated to specific geographic locations. Examples are GPS trajectories collected using mobile and wearable devices or geolocalized posts in online social networks. This data can be collected, analyzed and exploited for many practical applications with high commercial and societal impact. This course will provide an in-depth overview of the theoretical foundations, algorithms, systems and tools for mining massive social and geographic datasets, and, more in general, an introduction to the fascinating emerging field of Data Science. The module will also provide practical data science skills for a variety of application domains.

Material available on Moodle.

Academic Year 2016-17 University College London

GEOGG125 Principles of Spatial Analysis

Offered in the Autumn Term.

I gave the lectures on Introduction to Statistics using R and Network Analysis.

The module aims to: equip students with an understanding of the principles underlying the conception, representation/measurement and analysis of spatial phenomena; present an overview of the core techniques of spatial analysis, and the software and tools that are integral to their effective deployment in advanced spatial analysis; provide an introduction to the principles underlying the analysis of spatial data in general and spatial statistics in particular; enable students to use GIS for generating and visualising summary statistics; examine, analyse and simulate a range of spatial patterns and processes; review the many different sources of uncertainty in spatial data and spatial processing and suggest to address such issues in analysis and research; provide an introduction to network analysis with a focus on spatial and social networks.

Material available on Moodle.

GEOGG153 Mining Social and Geographic Datasets

Offered in the Spring Term.

We constantly leave digital traces in our daily lives, both in online and offline worlds. Posts in online social networks, mobile sensor data, Open Data repositories are just a few examples of the variety of data sources that are available to practitioners and researchers. Often, this information is also associated to specific geographic locations. Examples are GPS trajectories collected using mobile and wearable devices or geolocalized posts in online social networks. This data can be collected, analyzed and exploited for many practical applications with high commercial and societal impact. This course will provide an in-depth overview of the theoretical foundations, algorithms, systems and tools for mining massive social and geographic datasets, and, more in general, an introduction to the fascinating emerging field of Data Science. The module will also provide practical data science skills for a variety of application domains.

Material available on Moodle.

Academic Year 2015-16 University College London

GEOG2025 GeoComputation and Computational Social Science

Offered in the Autumn Term.

The availability of large-scale datasets describing human behaviour at different scales and levels of granularity is revolutionizing many disciplines, including social and geographical sciences. The course provides a broad introduction to the areas of Geocomputation and data-driven Computational Social Science, considering both theoretical and practical aspects. The course investigates the use of Open Data, sensor data, social media and other user-generated content to create digital representations of the world. Geocomputation principles, techniques, systems, and tools are discussed in detail through the analysis of real-world world case studies and applications. Students are also introduced to the emerging field of Computational Social Science, starting from the analysis of benefits, problems and pitfalls of large-scale (big) data analytics applied to social sciences. Moreover, the course provides an introduction to network analysis principles and methods for the study of social and geographic phenomena. The coursework will be based on a programming project related to the analysis of social and geographic datasets in R and Python.

Module information

Material available on Moodle.

GEOGG125 Principles of Spatial Analysis

Offered in the Autumn Term.

I gave the lectures on Introduction to Statistics using R and Network Analysis.

The module aims to: equip students with an understanding of the principles underlying the conception, representation/measurement and analysis of spatial phenomena; present an overview of the core techniques of spatial analysis, and the software and tools that are integral to their effective deployment in advanced spatial analysis; provide an introduction to the principles underlying the analysis of spatial data in general and spatial statistics in particular; enable students to use GIS for generating and visualising summary statistics; examine, analyse and simulate a range of spatial patterns and processes; review the many different sources of uncertainty in spatial data and spatial processing and suggest to address such issues in analysis and research; provide an introduction to network analysis with a focus on spatial and social networks.

Module information

Material available on Moodle.

GEOGG153 Mining Social and Geographic Datasets

Offered in the Spring Term.

We constantly leave digital traces in our daily lives, both in online and offline worlds. Posts in online social networks, mobile sensor data, Open Data repositories are just a few examples of the variety of data sources that are available to practitioners and researchers. Often, this information is also associated to specific geographic locations. Examples are GPS trajectories collected using mobile and wearable devices or geolocalized posts in online social networks. This data can be collected, analyzed and exploited for many practical applications with high commercial and societal impact. This course will provide an in-depth overview of the theoretical foundations, algorithms, systems and tools for mining massive social and geographic datasets, and, more in general, an introduction to the fascinating emerging field of Data Science. The module will also provide practical data science skills for a variety of application domains.

Module information

Material available on Moodle.

Academic Year 2014/2015 University of Birmingham

25023 Mobile and Ubiquitous Computing for Master Students

Offered in Spring Term.

This module is concerned with the issues surrounding mobile and ubiquitous computing systems. I will teach half of the module focussing on the aspects related to networking and geographic information analysis (and prediction) in mobile&ubiquitous systems.

Academic Year 2013/2014 University of Birmingham

23644 Networks and Distributed Systems for Final Year students 23640 Networks and Distributed Systems (Extended) for Master students

Offered in Spring Term.

This module will explore the basic concepts, technologies and standards in the areas of Computer Networks and Distributed Systems. It will cover topics related to the Internet architecture and protocols, networking technologies, distributed systems and algorithms. It will also introduce the students to the recent trends in network technologies and systems, such as wireless networks, mobile computing, cloud computing and online social network applications. The module will be based on the discussion of real-world case studies, research papers and standardisation documents.

The teaching material is available on Canvas.

25023 Mobile and Ubiquitous Computing for Master Students

Offered in Spring Term.

This module is concerned with the issues surrounding mobile and ubiquitous computing systems. I will teach half of the module focussing on the aspects related to networking and geographic information analysis (and prediction) in mobile&ubiquitous systems.

The teaching material is available on Canvas.

Academic Year 2012/2013 University of Birmingham

23644 Networks and Distributed Systems for Final Year students
23640 Networks and Distributed Systems (Extended)for Master students

Offered in Spring Term.

This module will explore the basic concepts, technologies and standards in the areas of Computer Networks and Distributed Systems. It will cover topics related to the Internet architecture and protocols, networking technologies, distributed systems and algorithms. It will also introduce the students to the recent trends in network technologies and systems, such as wireless networks, mobile computing, cloud computing and online social network applications. The module will be based on the discussion of real-world case studies, research papers and standardisation documents.

25023 Mobile and Ubiquitous Computing for Master Students

Offered in Spring Term.

This module is concerned with the issues surrounding mobile and ubiquitous computing systems. I will teach half of the module focussing on the aspects related to networking and geographic information analysis (and prediction) in mobile&ubiquitous systems.

Academic Year 2011/2012 University of Birmingham

23644 Networks and Distributed Systems for Final Year students 23640 Networks and Distributed Systems (Extended) for Master students

Offered in Autumn Term 2011.

This module will explore the basic concepts, technologies and standards in the areas of Computer Networks and Distributed Systems. It will cover topics related to the Internet architecture and protocols, networking technologies, distributed systems and algorithms. It will also introduce the students to the recent trends in network technologies and systems, such as wireless networks, mobile computing, cloud computing and online social network applications. The module will be based on the discussion of real-world case studies, research papers and standardisation documents

Academic Year 2010/2011 University of St Andrews

CS5001 Object-Oriented Programming

This module provides a review of the main concepts of object-oriented programming for Master students, including abstractions for distributed systems programming. Offered in the Michaelmas Semester.

CS1004 Internet Programming

Topics include fundamental Internet protocols (IP, TCP, UDP, HTTP, SMTP) and the design of distributed networked applications using TCP and UDP sockets. Offered in the Candlemas Semester.

Academic Year 2009/2010 University of St Andrews

CS 1004 Internet Programming

Academic Year 2007/2008 Dartmouth College

CS23 - Software Design and Implementation

Offered in Winter 2008 and Spring 2008 Terms

The course provides an introduction to systems programming in the Unix environment. Topics include an introduction to Unix, the C programming language, development and debugging tools, and distributed systems programming using TCP sockets.

Academic Year 2006/2007 University College London

COMP1008: Object Oriented Programming

CS Z25/4C38: Mobile and Adaptive Systems


Last updated: 23 February 2024.