Learning resources and teaching methods

Jakub Nowosad, https://jakubnowosad.com/

Spatial Data Science across Languages (SDSL) 2024, Prague, Czechia

2024-09-19

Learning resources

Books

Websites, blogs, and courses

Videos and podcasts

Social media

Hashtags: #rspatial, #geopython, #juliageo

Teaching methods

Teaching methods

Asynchronous learning

Textbooks with code examples

Step-by-step guides

Exercises with solutions (?)

Case studies

Interactive tutorials

Video lectures (podcasts?)

Discussion forums

Synchronous learning

Lectures

Demonstrations

Participatory live coding

Discussion groups (?)

Practical exercises

Teaching others

Project-based learning

Flipped classroom

The geocompx case study

Geocomputation with R

Additional content:

  • A website with reproducible solutions to exercises
  • R package, geocompkg, simplifying installation of the packages used in the book
  • R packages with example data: spData, spDataLarge

Translations (some made by the community):

Geocomputation with Python

Geocomputation with Python, 1st edition:

  • An introduction to geocomputation using the Python programming language
  • The book is based on the same principles as the R book, but focuses on the foundations only
  • An almost complete version is available online at py.geocompx.org
  • It will be published in a similar hybrid model (early 2025)

Blog posts

GitHub organization

Discord

Social media

Our infrastructure

Publishing systems: R Markdown with bookdown, Quarto

Collaboration, version control, and continuous integration: GitHub, GitHub Actions with Docker

Hosting: Netlify

References: Zotero

R packages: geocompkg, spData

How does it work?

  1. Get the recent book source code (git pull)
  2. Write, write, write
  3. Update the book (git push)
  4. The book is automatically built and deployed
  5. Once a week the solution website is automatically updated1

Larger changes or additions are discussed in issues, made in branches, and reviewed in pull requests

Writing new FOSS4G materials

https://quarto.org/ is a great tool for writing books, blog posts, and other materials1

Technical stuff is (mostly) easy: look at the source code of other works

(or just type quarto create in your terminal)

The hard things

Getting started

Some technical challenges, e.g., having consistent html and pdf versions, incorporating reviewers’ and copy editors’ comments to the book

Finding time

Getting feedback

Making decisions about the content (a trade-off between being timely and timeless)

Measuring impact (externalities)

Motivation

To give back

To learn and improve ourselves (writing is thinking, teaching is understanding)

To make a difference

To have a place to look for answers

To enjoy the creative process

To become famous and rich1

To build a reputation

To promote tools, methods, approaches

Considerations

Considerations

To publish or to self-publish, that is the question (or not to publish at all?)

Publishers allowing for a hybrid model books: CRC Press, O’Reilly, Princeton University Press

Self-publishing venues: Lulu.com, leanpub.com, Amazon.com

Self-publishing advices: Data Science Heroes Blog, Bruno Rodrigues

Copyrights? Licenses?

Motivation(s)

Audience

Benefits vs costs

Generality vs specificity (also: new technologies?)

Maintanance (being up-to-date)

New opportunities and issues

New opportunities and issues

A lot of infrastructure for technical/scientific writing is already in place

New types of resources and ways of sharing knowledge:

  • Codespaces (and similar tools)
  • WebAssembly (wasm)
  • LLMs (?)

Are cross-language resources needed?

Why we still have non-open access books?

The growing divide between online and offline resources

Erosion and fragmentation of social media

Decline of Stack Overflow

(Other) impacts of large language models