Getting Started

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

1st October 2025

jreades.github.io/fsds/

Key information to get you started…

Module Lead Contact
Jon Reades Email, Slack
Lecturers
Ollie Ballinger, Sukankana Chakraborty Slack
PGTAs
Leo Gao, Adam Zhou Slack

Who is this Guy?

A few fun facts about your module lead…

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=54436 – 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.
  • 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, quizzes/feedback.
  • In-Person: discussing readings and lectures; responding to assessment requirements; discussing issues arising from the previous week’s practical, 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

  • Timed, Open Book Exam (30% of module grade): A quiz requiring a mix of numeric and textual answers to short data analysis questions for which you must write the code.
  • Reproducible Analysis (25% of module grade): A small-group submission of a ‘tangled’ document that demonstrates reproducibility through an exploratory analysis of the assigned data set.
  • Structured Report (35% of module grade): A structured, small-group submission which responds to set questions and develops an exploratory analysis of the assigned data set.
  • Self- and Peer-Evaluation (10% of module grade): A short individual reflection combined with numerical scoring by peers on their contribution to the group’s outcomes.

Formats & Due Dates

  • Timed, Open Book Exam: is a Moodule quiz due Friday, 21 November 2025 (after Reading Week) and it will focus on content from the first five weeks of class.
  • Reproducible Analysis: is a Quarto document due Tuesday, 16 December 2025 and written in small groups to demonstrate reproducibility through an exploratory analysis of the assigned data set.
  • Structured Report: is a PDF (output from Quarto) due Tuesday, 16 December 2025 written in small groups which responds to set questions and develops an exploratory analysis of the assigned data set.
  • Self- and Peer-Evaluation: is a Moodle ‘IPAC’ assessment due Thursday, 18 December 2025 combining short individual reflection combined with numerical scoring by peers on their 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 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.

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!

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

One More Thing…

You will get things wrong. We will get things wrong.

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

It’s going to be messy, but we’re really excited about it!

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. MacOS Sonoma is out 26 September, do not install it!

Additional Resources

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.