Skip to main content

INTRODUCTION

This workshop is designed to provide participants with a practical introduction to Linux and its use in modern development workflows. The sessions are structured to gradually build confidence in working with Linux systems—starting from installation and basic commands, moving through text editing and development environment setup using VScode and Conda, and undersatnding version control with Git.

Rather than focusing heavily on history or theory, the workshop emphasizes hands-on practice. Participants will learn how to install Linux both on dedicated systems and within Windows using the Windows Subsystem for Linux (WSL), navigate the command line, configure essential tools, and apply version control in real-world scenarios. By the end of the workshop, learners will be comfortable using Linux as a daily driver for development tasks and collaborating on projects effectively.

This plan covers:

  • Understanding Linux distributions (Ubuntu, Fedora, Debian, etc.) and installation methods.
  • Command line navigation and basic system operations.
  • Using editors like Vim and VS Code.
  • Setting up development environments with Git and Conda.
  • Managing version control with Git, from basics to advanced collaboration.

Requirements

Technical Requirements

Participants should have access to:

  • A computer with at least 8 GB RAM and 20 GB free storage (for virtual machines or dual boot).
  • Administrative rights to install software.
  • A stable internet connection (for package downloads, GitHub/GitLab access, and cloud sync).
  • Virtualization support enabled in BIOS/UEFI if using VirtualBox/VMware.

Software Requirements

Before the workshop, participants should install or have access to:

  • VirtualBox (or VMware) for running Linux virtually.
  • Windows Subsystem for Linux (WSL) (for Windows users who prefer integration over virtualization).
  • Git (latest stable version).
  • VS Code (with internet access to install extensions).
  • Conda/Miniconda (for environment management).

Knowledge Requirements

No prior Linux experience is required. Basic familiarity with using a computer and navigating file systems (Windows or macOS) will be helpful. Some sessions will touch on programming-related workflows, but deep programming knowledge is not necessary.

Lessons

  1. Chapter 1: Getting Started with Linux - Overview, distributions, installation methods, and package management.
  2. Chapter 2: Command Line Basics - Navigating the Linux file system, managing files, and understanding core command-line concepts.
  3. Chapter 3: Text Editors and Development Tools Learn how to install, use, and customize Vim and VS Code for everyday development.
  4. More lessons coming soon...

Additional Resources

  • Git Cheatsheet – A quick reference guide to essential Git commands.
  • Basic Linux Cheatsheet - A quick reference guide to essential Linux file management, text editing, and package management commands.
  • Conda Guide - Installing miniforge and managing conda environments.
  • Homebrew Guide – Installing Homebrew on macOS and managing developer tools.
  • Flatpak Guide – Installing Flatpak on Linux and managing GUI applications.
  • WSL Guide – Installing and configuring Windows Subsystem for Linux (WSL).
  • Stow Guide – Managing dotfiles using GNU Stow for a clean, version-controlled setup.