Introductory Programming: Unix Shell, Git and Python

Session Schedule:

Timed entries are shown in your local timezone.

Description

This is a beginner level series that is hands-on, covering the fundamentals of Unix Shell, Version Control with Git and Python. This includes data types, conditional statements, loops and functions, as well as program design, version control, data management, and task automation. Participants are encouraged to help one another and to apply what they have learned to their own research problems. The goal is to teach the practical knowledge needed to start programming, debugging and using Python in everyday tasks.

You do not need to have any previous knowledge of the tools that are presented or previous programming experience but intermediate level experience with a computer is highly recommended.

You do need to have a laptop with a Mac, Linux or Windows operating system (not a tablet, Chromebook, etc) on which you have administrative privileges, as you need to pre-load specific software packages.

Prerequisites

Participants should be comfortable using a computer and navigating files and folders. No prior programming experience is necessary.

Details
Format
Online
Location
Online
Level
Beginner
Duration
12 Hours
Credential
None
Cost
FREE
Learning Objectives

Unix Shell:
- Explain the role of the Unix shell and when command-line interfaces are preferable to graphical interfaces.
- Navigate the file system using absolute and relative paths.
- Create, move, rename, and delete files and directories using shell commands.
- Use tab completion, command history, and wildcards to work efficiently at the command line.
- Combine commands using pipes and redirection to process data.
- Write simple loops to automate repetitive tasks.
- Develop and run basic shell scripts to automate workflows.
- Search for files and text patterns using tools like find and grep.

Git:
- Explain the purpose of version control and its role in tracking changes.
- Initialize and configure a Git repository.
- Track changes using commits and write meaningful commit messages.
- View and interpret version history to understand project evolution.
- Undo changes and recover previous versions of files.
- Use branching to manage parallel development.
- Collaborate using remote repositories (push, pull, sync).
- Describe best practices for sharing and managing code, including basic considerations for licensing and collaboration.

Python:
- Load and inspect tabular data using libraries such as NumPy and pandas.
- Index, slice, and subset datasets to access relevant data.
- Perform basic data analysis operations (e.g., aggregation, statistics).
- Visualize data using plotting tools (e.g., matplotlib).
- Use loops and conditionals to process and analyze datasets.
- Write functions to structure and reuse analysis workflows.
- Interpret and troubleshoot errors encountered during data analysis.
- Apply Python to explore and analyze real-world datasets (e.g., Gapminder).

Who Should Enrol

This training is designed for students, researchers, and professionals who are new to programming and want to develop a foundation in programming skills with Unix Shell, Git and Python. It’s ideal for those in any field—such as science, engineering, data analysis, or digital research—who wish to begin applying programming skills to their work or studies.