2025 B\(^2\)TER: B2SLab Basic Tools for Everyday Research

news
outreach
This is the annual b2s crash course for everyday basic tools
Author

A. Perera

Published

April 8, 2025

Modified

April 8, 2025

Here’s a proposed course programme distributed in a logical progression that builds on foundational topics and gradually introduces more complex concepts.

I’ve balanced the hours across days and topics while ensuring hands-on time.

πŸ“… May 5 (3 hours)

  • πŸ•™ 10h–13h

Module 1: Introduction to Linux and Shell Tools

Overview of Linux systems

  • Linux distributions, package managers, file systems
  • Users, permissions, processes

The Shell & Bash scripting basics

  • Navigation, file manipulation, redirection, pipes
  • Writing and executing shell scripts

Essential tools

  • grep, awk, sed, find, xargs, ssh, cron, tmux/screen/byobu.
  • Command chaining and automation basics
  • Deployging a LAMB stack
  • docker

Hands-on exercises:

  • Writing basic scripts
  • Automating small tasks
  • Using command-line tools to process text and files

πŸ“… May 6 (3 hours)

  • πŸ•™ 10h–13h

Module 2: Introduction to R and Tidyverse

Intro to R syntax & environment

  • Objects, vectors, data frames
  • Functions and packages

Working with the Tidyverse

  • dplyr, ggplot2, readr, tidyr
  • Data wrangling and visualization

Hands-on exercises:

  • Cleaning and visualizing a dataset
  • Filtering, grouping, summarizing data

πŸ“… May 8 (3 hours)

  • πŸ•™ 10h–13h

Module 3: Linear Models in R

Introduction to statistical modeling in R

  • Linear regression fundamentals
  • lm() function and interpreting output
  • qualitative and quantitative variables
  • interaction factors
  • logistic and beyond

Model diagnostics and assumptions

  • Residual analysis, multicollinearity

Hands-on exercises:

  • Fitting and visualizing linear models with real data
  • Using broom and ggplot2 to interpret models

πŸ“… May 9 (3 hours)

  • πŸ•™ 10h–13h

Module 4: Introduction to Python for Tool Development

Python refresher & deeper concepts

  • Functions, generators, decorators
  • Organizing code with modules and packages
  • Building command-line tools with Typer
  • Creating APIs with FastAPI
  • Interactive visualizations with ipywidgets
  • Hands-on exercises
    • Write a CLI with Typer
    • Build a minimal API with FastAPI
    • Create a small dashboard with ipywidgets

Registration

  • Write Alex ;)