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 old 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
W3 L5 + D2 EDA and Visualisation Discuss, manipulate and Consolidate Geopandas, Matplotlib, Rasterio Lab 3
L6 Geo-Visualisation Interpret Assignment 1
W4 L7 Networks and Spatial Weights Describe, Analyse Networkx, Osmnx, Pysal Lab 4
L8 Exploratory Spatial Data Analysis Describe, Analyze
W5 L9 + D3 Machine Learning for Everyone Apply Sklearn, Scipy, Statsmodels Lab 5
L10 Anatomy of a Learning Algorithm Infer Assignment 2
W6 L11 + D4 Clustering Apply Pysal, Sklearn-Cluster Lab 6
L12 Dimensionality Reduction Apply
W7 L13 + D5 Spatial Density Estimation Infer More Sklearn Lab 7
L14 Responsible Data Science Create Assignment 3
W8 D6
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-3: “big picture” lectures + introduction to computational tools (learning curve) + lots and lots of data + lots of visualisation
  • Weeks 4-7: lots of spatial, network and machine learning concepts + responsibility
  • Weeks 7-10: wrap up + prepare an awesome final project in groups


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 (15%)
  • Disucssion (5%)
  • Final Project (50%)

A note on 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 Wednesday at 2330. ↩︎

  3. Grades and feedback released a week after by Friday at 1800. ↩︎

  4. Final Project is a group activity ↩︎