Skip to content

Welcome to RECODE

RECODE is BAM's practical training course on research coding and scientific software development. The course is designed for coworkers who want to move from "scripts that work once" to code that is easier to understand, reuse, share, and maintain.

The documentation site is the shared home for the course. You can use it before a session to prepare your environment, during the sessions as a reference, and afterwards as a compact handbook for your own projects.

What you will learn

The current course roadmap is organized into four learning modules:

  1. Foundations of Python Coding Learn how to set up a working Python environment, write basic scripts and notebooks, use Python data structures and control flow, work with files and tabular data, and apply good coding habits from the start.
  2. Git and GitHub for Version Control Learn how to track changes, collaborate safely, use branches and pull requests, and connect local development with GitHub workflows.
  3. Using LLMs for Coding Assistance Learn how to work productively with modern AI coding assistants, write better prompts, review generated code critically, and build safe workflows around tools such as ChatGPT, Codex, and GitHub Copilot.
  4. Packaging and Distributing Python Projects Learn how to turn research code into a reusable Python project with a clear structure, dependencies, documentation, and a distribution strategy.

How to use this site

  • Start with Module 1 if you are new to Python or want a structured refresher.
  • Use the navigation on the left to jump between module overviews and topic pages.
  • Treat the pages as living course notes: they summarize the key ideas, common commands, and recommended practices used throughout RECODE.

Who this course is for

RECODE is aimed at BAM researchers and colleagues who:

  • want a clearer foundation in Python and coding workflows,
  • need practical guidance instead of purely theoretical programming material,
  • work with scientific data, notebooks, scripts, or small tools,
  • want to collaborate more confidently with others on research software.

What to expect from the format

The course combines short theory blocks with live demonstrations and hands-on practice. Participants are encouraged to bring their own questions, examples, and project ideas. By the end of the course, the goal is not only to know the tools, but to feel comfortable using them in day-to-day work.