The course is divided into a set of interactive lectures, labs and discussions. Lectures are meant to provide students with concepts and theories. Labs are for practising programming in Python and will be self-directed. Discussions are an extremely important part of learning, and students usually bring some great insights from reading research papers.

An overview of all course sessions

Week Lecture + Discussion Topic Learning Goals Python Libraries Labs and Homework 1 Assessment 23
W1 L1 Introduction to Urban Data Science Anaconda and Jupyter, Numpy Lab 0 + 1
L2 Spatial and Urban Data
W2 L3 + D1 Data Grammar Obtain, Discuss Pandas, Seaborn Lab 2
L4 Data Engineering Manipulate, consolidate Pandas Assignment 1
W3 Ommen Trip
W4 L5 + D2 EDA and Visualisation Discuss, manipulate and Consolidate Geopandas, Matplotlib, Rasterio Lab 3
L6 Geo-Visualisation Interpret
W5 L7 + D3 Networks and Spatial Weights Describe, Analyse Networkx, Osmnx, Pysal Lab 4
L8 Exploratory Spatial Data Analysis Describe, Analyze Assignment 2
W6 L9 + D4 Machine Learning for Everyone Apply Sklearn, Scipy, Statsmodels Lab 5
L10 Anatomy of a Learning Algorithm Infer
W7 L11 + D5 Clustering Apply Pysal, Sklearn-Cluster Lab 6
L12 Dimensionality Reduction Apply Assignment 3
W8 L13 + D6 Spatial Density Estimation Infer More Sklearn Lab 7
L14 Responsible Data Science Create
W9 Project Preparation
W10 Final Project 4


Seven weeks of:

  • Prep. Materials: videos, podcasts, articles… 1h. approx. (most recommended!)
  • 2x 1h. Lectures: concepts, methods, examples
  • 1h. Paper Discussions: reading a paper and debating a set of questions with your peers in small groups. (extremely important if you are interested in applying concepts to real-world problems). Please read the paper before coming to the discussion session so you can have a more informed and informal debate with your peers.
  • 2h. Computer labs: hands-on, application of concepts, Python (highly employable)
  • Further readings: how to go beyond this course


  • Weeks 1-4: “big picture” lectures + introduction to computational tools (learning curve) + lots and lots of data + lots of visualisation
  • Weeks 5-7: lots of spatial, network and machine learning concepts + responsibility
  • Weeks 8-10: wrap up + prepare an awesome final project in groups


  • Course Material: This website
  • Recordings of Lectures: Lectures are not recorded.
  • Announcements, Discussion Forums, Submission + Feedback, Group Formation + Peer Review and Grading: Brightspace

Self-directed learning

  • Prepare for the lectures and labs
  • I won’t be leading/lecturing at the computer labs. TAs will be present for abundant help and feedback
  • Go over the notebooks before the lecture and the lab
  • If the first time you see a notebook is at the lab, you may struggle to catch up. The best thing to do is to go over the notebooks at home and prepare a set of questions to ask the TAs.
  • Bring questions, comments, feedback, (informed) rants to class/labs. The more you bring, the more we all learn.
  • Collaborate (it’s NOT a zero-sum game!!!)


The summative assessments are graded components and contribute to the final mark for the course as follows:

  • Assignment 1 (15%)
  • Assignment 2 (15%)
  • Assignment 3 (20%)
  • Final Project (50%)

A note on exams

This course has no exams. Time-constrained exams do not measure learning. Putting students under high-stakes environments only benefit those who can recall knowledge under pressure. In my opinion, that is a uselesss life-skill.

More help!!!

This course is much more about “learning to learn” and problem solving rather than acquiring specific programming tricks or stats wizardry

  • Learn to ask questions (but don’t expect exact answers all the time!!!)
  • Help others as much as you can (the best way to learn is to teach)
  • Search heavily on Google + Stack Overflow
  • Discussion Forum: students are encouraged to contribute meaningfully to the online discussion forum set up for the course on Brightspace. Meaningful contributions include both questions and answers that demonstrate the student is committed to make the forum a more useful resource for the rest of the group. This also enables your peers to learn from your questions and help each other.

  1. In-class Labs are interactive Jupyter notebooks for learning how to program. Each lab is accompanied by homework exercises for practice. The only the way to learn how to program is by practicing it. Homeworks are not graded, but your peers could give you feedback. We will provide some tips to facilitate this. Constructive feedback from other people is an excellent way to learn. ↩︎

  2. Graded Assignments are individual activities and are released two weeks prior on Monday. Due at the end of the specified working week on Friday at 2330. ↩︎

  3. Grades and feedback released two weeks after on Wednesday at 1800. ↩︎

  4. Final Project is a group activity. ↩︎