Courses I teach

Syllabus by area

These are the subjects I have taught at university and the topics I work on in class. Any area can be done one to one, in a group or as an intensive.

Programming and software

6

From syntax to the projects set in class: we fix what is not working and work through exam-style exercises.

Topics that get stuck most

Pointers, memory and data structures in COOP and patterns in JavaConcurrency, threads and RPCGit, testing and submitting assignments
  • Programming I and II (C)
  • Object-Oriented Programming (Java)
  • Algorithms and data structures
  • Distributed Systems (RPC, Docker, Kubernetes)
  • Concurrent Programming
  • Software Engineering

Data and databases

4

Modelling, queries and real databases (SQL, MongoDB, Redis, Neo4j): the parts that stall coursework and final projects.

Topics that get stuck most

Relational modelling and advanced SQLQueries and optimisationMongoDB, Redis and Neo4jBig Data with Hadoop and Spark
  • Advanced Databases (MongoDB, Redis, Neo4j)
  • Databases and SQL
  • Big Data (Hadoop, Spark)
  • Geographic Information Systems

AI, NLP and search

5

Models, NLP and information retrieval, plus vibe coding: coding with AI assistants while reviewing what they produce.

Topics that get stuck most

Regression, trees and validationNeural networks with PyTorchRAG, embeddings and agentsDeployment and MLOpsVibe coding: prompts, reviewing generated code and tests
  • Information Retrieval and Analysis
  • Machine Learning and Deep Learning (PyTorch)
  • NLP and LLMs: RAG and agents
  • MLOps and production deployment
  • Vibe coding: coding with AI assistants

Maths for computer science

3

The maths actually used in computer science: linear algebra for graphs and search, probability for machine learning and optimisation for training models. With step-by-step worked exercises.

Topics that get stuck most

Linear algebra: matrices, eigenvalues and graphsProbability and random variables for MLInferential statisticsCalculus and optimisation: derivatives and gradient descentWorked exam-style exercises
  • Linear algebra and graphs
  • Probability and statistics for AI
  • Calculus and optimisation

How I work a topic

  1. 1Diagnosis: what is failing and why, with your exercises in front of us
  2. 2The minimum theory to understand what we are doing
  3. 3Your exercises, corrected live
  4. 4A summary and a concrete plan for the week

Not on the list? Write to me: if I cannot teach it, I will tell you straight.