Getting Started

Jon Reades - j.reades@ucl.ac.uk

8th October 2026

jreades.github.io/fsds/

Key information to get you started…

Module Lead Contact
Jon Reades Email, Slack
Lecturers
Ollie Ballinger Slack
PGTAs
Hannah Jiang, Xinyi Shen, Maria Wood Slack

Where I’m Standing

BA Comparative Literature → software developer, dot.com New York → PhD Urban Planning → post-doc in network science → Lecturer in Quantitative Human Geography → Professor of Geographic Data Science

No computer science here!

Useful Information

Foundations is distributed across two web sites:

  1. The micro-site: jreades.github.io/fsds/ – lectures, practicals, readings, and information about the assessments. This will remain accessible to you after graduation.
  2. Moodle: moodle…?id=62850 – recorded sessions, booking drop-in hours, group messaging, ‘answer sheets’, and submission of assessments, as well as other formal components. This is tied to your enrolment at UCL.

And don’t forget about this quick introduction to Python: jreades.github.io/code-camp/!

Where Does FSDS Fit?

Geographic Information Systems (GIS)

  • Foundations of spatial analysis
  • Working with geo-data

Quantitative Methods (QM)

  • Foundations of statistical analysis
  • Working with data

Foundations of Spatial Data Science (FSDS)

  • Foundations of applied spatial and statistical analysis
  • Integrating and applying concepts from GIS & QM to a problem
  • Developing programming and practical analysis skills
  • Seeing the ‘data science’ pipeline from end to end

What Are We Trying to Do?

This class hopes to achieve four things:

  1. To teach you the basics of how to code.
  2. To teach you the basics of how to think through code.
  3. To teach you how to engage with data critically.
  4. To help you integrate concepts taught across Term 1 and prepare you to apply them in Term 2.

These skills are intended to be transferrable to post-degree employment or research.

The Challenges

  • To learn a bit of programming and to connect it to the bigger picture.
  • To be ok with learning to walk before you run.
  • To learn not to rely (too much) on ChatGPT (see our AI policy).
  • To communicate your thoughts through code and text.

The Rewards

  • Skills that are highly transferrable and highly sought-after professionally.
  • Problem-solving and practical skills that are valued by the private and public sectors.
  • A whole new way of seeing the world and interacting with it.
  • Lots of support along the way… if you remember to ask for it!

See this thread on moving from academia to data science.

Structure

Narrative ‘Arc’

  • Part 1: Foundations: Weeks 1–5 to cover the ‘basics’ and set out a data science workflow.
  • Part 2: Data: Weeks 6–10 look at the same data through three lenses.
  • Part 3: Bonus: Weeks 11–12 additional content if you want it.

Week-to-Week

The specific activities for each week can be found on the microsite. These include:

  • Preparation: readings, pre-recorded lectures, identifying areas for feedback.
  • In-Person: discussing readings and lectures; discussing issues arising from the previous week’s practical, responding to assessment requirements, and some ‘live coding’.
  • Practicals: working through a weekly ‘programming notebook’ with support from your PGTAs.

Bring Your Computer

Please remember to bring your own computer to the practical sessions! The tools we use are not installed on cluster systems.

Assessments

Assessment logic:

  • Teach and test the most challenging aspects of data science ‘work’ without mastery of Python.
  • Discover transferrability of skills and tools across projects, disciplines, and industries.
  • Build on content from QM (e.g. setting quantitative research questions) and GIS (e.g. spatial statistics).
  • Develop experience with non-academic research formats and writing.

Formats & Due Dates

  • Reproducible Analysis (35% of module grade): is a Quarto document due Wednesday, 16 December 2026 and written in small groups to demonstrate reproducibility.
  • Briefing (50% of module grade): is a PDF (output from Quarto) due Wednesday, 16 December 2026 written in small groups which responds to the assignment specification.
  • Self- and Peer-Evaluation (15% of module grade): is a Moodle ‘IPAC’ assessment due Tuesday, 15 December 2026 combining short individual reflection with numerical scoring and free-text comments by peers on your contribution to the group’s outcomes.

How to ‘Ace’ the Assessments?

Study like you’re learning a new language. Do the readings. Talk to other students (especially in your group). Ask for help when you need it!

Don’t take my word for it, Prat et al. (2020) in Nature Scientific Reports link language learning to programming language learning!

Actual Feedback…

I was really struggling with the concepts of lists, dictionaries and iterations (I basically could not do any of Practical 3 without panicking) and I was telling that it felt like Workshop 3 was all in a foreign language - I was so lost.

But both yesterday and today, I have been over all the content, recordings and even code camp again and I’ve just had a penny drop moment, I could cry woohooo!!!!!!

I really appreciate all the effort you’ve put into recording the concepts ahead of lectures and the way you’ve structured the module, although it is very fast-moving you have provided all the resources for us to do well.

More Feedback

I just wanted to update you on my progress. Since flipping the content round following your advice, I have been feeling much much better. I followed what you were doing in the workshop and also have completed the practical in about half the time than I usually do. Thanks so much for responding and for your effort with this module.

Last Year 1

In the first 3 weeks we were thrown a lot of information about different concepts (Git, Jupiter, Docker, Python) and it was very overwhelming. I think, the amount of information we were supposed to learn within the first month was too much.

… and

In FSDS, I’ve tried my best to review and catch up but I don’t know why I still struggle a lot figuring the whole picture. Suddenly the script went from simple into complex really quick.

… vs.

The technical content is very slow, and we don’t write a lot of code in the practicals, so I feel like I’m not learning and remembering it very well.

Last Year 2

The discussion in the lecture is just a very low-level recap of the readings… I think it might be better for Jon to give mini lectures (e.g. on ethics, data quality etc.) which tie the points together.

vs. 

I think it’s not necessary to spend too much time discussing reading materials at class. Instead, we can ask some questions on slack after class.

Last Year 3

These courses need clearer guidance to help students set learning goals and show them what they need to do in each class. For example the tasks and assignments for each class are clearly stated before the reading material is presented.

I’m quite confused about The content of practical 1-5. I know python has so many package’s and data types. Maybe combining the real data analysis with detailed data learning (objects, function) is better to understand.

The slides can be a little clearer and write more words.

Getting Help

Lots of Help ‘Out There’

When you need an answer right now:

When you want to learn more:

When to Ask for Help

  • When you get warning messages from your computer’s Operating System.
  • When you cannot get the coding environment to run at all.
  • When even simple commands return line after line of error code.
  • When you have no clue what is going on or why.
  • When you have been wrestling with a coding question for more than 20 minutes (but see: How to Ask for Help!)

Before You Ask for Help

From the Computer Science Wiki:

  • Draw a picture of the problem
  • Explain the problem out loud to a friend, teddy bear or whatever (really!)
  • Forget about a computer; how would you solve this with a pencil and paper?

To which we would add:

  • Use print(variable) statements liberally in your code!
  • icecream is nice, but a little overwhelming.

How to Ask for Help

In addition to what we have provided, we like the “How to ask programming questions” page provided by ProPublica:

  1. Do some research first.
  2. Be specific.
  3. Repeat.
  4. Document and share.

If you find yourself wanting to ask a question on Stack Exchange then they also have a guide, and there are plenty of checklists.

Where to Ask for Help

There is no shame in asking for help. None. We are here to support your learning and we have chosen a range of tools to support that:

  • Slack: use the #fsds channel for help with coding, practical, and related course questions.
  • Drop-in Hours: use Booking Form
  • Out-of-Hours: use email to raise personal circumstances and related issues for focussed support.
  • Emergencies: contact Bartlett.Postgraduate (CASA)1 for support as-needed and/or to preserve privacy.

Learn from Your Mistakes

Illustration about ways of learning from your mistakes in terms of frequency vs. effectiveness

One More Thing…

You will get things wrong. We will get things wrong. We have tried to offer suggestions for how to read, how to think about what you’re learning, and how to manage distractions. But if you need help we are here for you!

The Academic Communication Centre also offers lots of support, including drop-in sessions, tutorials, and writing workshops.

We will assume that you are trying your best. Please assume the same about us!

And Finally…

Auto-Updates

Do not allow your computer to auto-update during term. Inevitably, major upgrades will break developer tools. Do this by choice only when you have time and can afford to spend time fixing things.

Additional Resources

ACC QR Code

ACC QR Code
  • See the GIS&T Body of Knowledge (BoK) for quick overviews of concepts, techniques, and tools.
  • Investigate UCL’s ACC and sign up to access resources and 1:1s through Moodle using the QR code.

Thank You

References

Prat, Chantel S, Tara M Madhyastha, Malayka J Mottarella, and Chu-Hsuan Kuo. 2020. “Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages.” Scientific Reports 10 (1). Nature Publishing Group UK London:3817.