Date: June 26 - 29, 2023
Time: 1:00pm - 4:00pm PT
Venue: UC San Diego
Instructors: Celeste Calland, Kim Thomas, Reid Otsuji, Rukmini Ravi
Helpers: Kim Thomas, Rukmini Ravi
Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools used with the Python programming language and version control with Git. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.
For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".
Who: This workshop is open to UCSD students, staff, and faculty.
You don't need to have any previous knowledge of programming or the tools presented in the workshop to attend. A laptop is required for each session.
Where: Zoom
Requirements: Participants must bring a laptop with a few specific software packages installed (listed below).
Contact: Please email carpentries@ucsd.edu for more information.
Assessment: A Co-Curricular of Record activity recognition may be requested for the student who:
For more information on the UC San Diego Co-Curricular of Record (CCR), please visit the UCSD Engaged Learning Tools Co-Curricular Record page.
Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.
Please be sure to complete these surveys before and after the workshop.
Date | Session | Topics |
---|---|---|
June 26th | Introduction to Python - Session 1 | Jupyter Notebook - Running/Wuitting, Variables and Assignment, Data Types/Type Conversions, Built-in Functions, and Help |
June 27th | Introduction to Python - Session 2 | Libraries, Writing Functions, Reading/Writing data in Dataframes, and Pandas Dataframes |
June 28th | Introduction to Python - Session 3 | Plotting, Lists, For Loops, Looping over Datasets, and Conditionals |
June 29th | Unix Shell & Version Control w/ Git | Unix Shell: Introduction, Navigating the file system, & working with files & directories Git: Introduction, Creating a Repository, Tracking Changes, and Collaborating |
For this workshop we will be referencing the Plotting and Programming in Python, The UNIX Shell, and Introduction to Git Carpentries curricula.
We will be using gapminder data andthe shell-lesson data. Please download the data prior to start of first session.
We will use HackMD collaborative notes for taking notes, and sharing URLs and bits of code. Please use the following link to access the collaborative notes: https://hackmd.io/4g9vUUBfTzacwN1jGgiKug.
To participate in this workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.
We will teach Python using the Jupyter Notebook, a programming environment that runs in a web browser (Jupyter Notebook will be installed by Anaconda). For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).
Video Tutorial: SWC Install Python on Windows
Video Tutorial: SWC Install Python on Mac
bash Anaconda3-and then press Tab to autocomplete the full file name. The name of file you just downloaded should appear.
yes
and press enter to approve the license.
Press Enter (or Return)
to approve the default location
for the files.
Type yes
and press
Enter (or Return)
to prepend Anaconda to your PATH
(this makes the Anaconda distribution the default Python).
Bash is a commonly-used shell that gives you the power to do tasks more quickly.
Git 2.27.0 Setup
Adjusting your PATH environment
Choosing the SSH executable
Choosing HTTPS transport backend
This should mean that people stuck behind corporate firewalls that do MITM attacks with their own root CA are still able to access remote git repos.
Configuring the line ending conversions
Configuring the terminal emulator to use with Git Bash
Configuring extra options
Configuring experimental options
Installing
Completing the Git Setup Wizard
as of 2020-06-02, the Window will say "click Finish", but the button is labelled as "Next"
cmd
and press Enter)setx HOME "%USERPROFILE%"
SUCCESS: Specified value was saved.
exit
then pressing EnterThis will provide you with both Git and Bash in the Git Bash program.
Video Tutorial: Windows Installation
The default shell in some versions of macOS is Bash, and Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities
). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.
To see if your default shell is Bash type echo $SHELL
in Terminal and press the Return key. If the message
printed does not end with '/bash' then your default is something
else and you can run Bash by typing bash
If you want to change your default shell, see this Apple Support article and follow the instructions on "How to change your default shell".
Video Tutorial MacOS InstallationThe default shell is usually Bash and there is usually no need to install anything.
To see if your default shell is Bash type echo $SHELL
in
a terminal and press the Enter key. If the message printed
does not end with '/bash' then your default is something else and you
can run Bash by typing bash
.
Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com. You will need a supported web browser.
You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.
Git should be installed on your computer as part of your Bash install (see the Shell installation instructions).
For macOS, install Git for Mac
by downloading and running the most recent "mavericks" installer from
this list.
Because this installer is not signed by the developer, you may have to
right click (control click) on the .pkg file, click Open, and click
Open on the pop up window.
After installing Git, there will not be anything in your /Applications
folder,
as Git is a command line program.
For older versions of OS X (10.5-10.8) use the
most recent available installer labelled "snow-leopard"
available here.
Video Tutorial: SWC Install Shell, Git, and Nano on Mac
If Git is not already available on your machine you can try to
install it via your distro's package manager. For Debian/Ubuntu run
sudo apt-get install git
and for Fedora run
sudo dnf install git
.