EEA Data Carpentry Workshop -- online

August 23-24, 2020

9:00am - 5:00pm, 9:00am - 11:00am

Instructors: Erin Becker, Miklós Koren, Olivér Kiss, Arieda Muço, András Vereckei

Helpers: Sergio Correia, Rachel Forshaw, Garro-Marín, M Nithin, Xinyu Ma, Charlotte Grace, Pavel Soriano, Benson Muite, Nagy Róbert

General Information

Data Carpentry develops and teaches workshops on the fundamental data skills needed to conduct research. Its target audience is researchers who have little to no prior computational experience, and its lessons are domain specific, building on learners' existing knowledge to enable them to quickly apply skills learned to their own research. 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 "Good Enough Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: Zoom. Get directions with OpenStreetMap or Google Maps.

When: August 23-24, 2020. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Code of Conduct: 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.

Contact: Please email korenm@ceu.edu for more information.


Schedule

August 23 Sunday
Before starting Set up your computer
Pre-workshop survey
9:00-9:15 Workshop introduction
9:15-9:45 Introduction to the Unix Shell
9:45-10:00 Break
10:00-10:50 Navigating Files and Directories
10:50-11:10 Working with Files and Directories (mkdir, cp, head, tail)
11:10-11:20 Break
11:20-11:35 Setting up Git and Creating a Repository
11:35-12:00 Tracking Changes
12:00-12:15 Pushing and Pulling to and from GitHub
12:15-13:00 Lunch Break
13:00-13:30 Group exercise with GitHub
13:30-14:20 Read and Explore Data with Stata
14:20-14:30 Break
14:30-15:35 Data Formats and Data Quality
15:35-15:45 Break
15:45-16:50 Transform Data
August 24 Monday
9:00-9:50 Save and Reuse Your Work in .do Files
9:50-10:00 Break
10:00-10:50 Repeat Tasks with Loops
After the workshop Post-workshop survey

We will use this Slack workspace for chatting, taking notes, and sharing URLs and bits of code.


Syllabus

Version Control with Git


Setup

To participate in a Data Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.

Please download the zip file that contains the files we will use in the lesson.

Video Tutorial
  1. Download the Git for Windows installer.
  2. Run the installer and follow the steps below:
    1. Click on "Next" four times (two times if you've previously installed Git). You don't need to change anything in the Information, location, components, and start menu screens.
    2. Select "Use the nano editor by default" and click on "Next".
    3. Keep "Git from the command line and also from 3rd-party software" selected and click on "Next". If you forgot to do this programs that you need for the workshop will not work properly. If this happens rerun the installer and select the appropriate option.
    4. Click on "Next".
    5. Select "Use the native Windows Secure Channel library", and click "Next".
    6. Keep "Checkout Windows-style, commit Unix-style line endings" selected and click on "Next".
    7. Select "Use Windows' default console window" and click on "Next".
    8. Leave all three items selected, and click on "Next".
    9. Do not select the experimental option. Click "Install".
    10. Click on "Finish".
  3. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press [Enter])
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press [Enter], you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing [Enter]

This will provide you with both Git and Bash in the Git Bash program.

The default shell in all versions of macOS is Bash, 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.

The default shell is usually Bash, but if your machine is set up differently you can run it by opening a terminal and typing bash. There is no need to install anything.

Git

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 (described above).

Video Tutorial

For OS X 10.9 and higher, 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.

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.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. If you accidentally find yourself stuck in it, hit the Esc key, followed by :+Q+! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

nano is a basic editor and the default that instructors use in the workshop. It is installed along with Git.

Others editors that you can use are Notepad++ or Sublime Text. Be aware that you must add its installation directory to your system path. Please ask your instructor to help you do this.

nano is a basic editor and the default that instructors use in the workshop. See the Git installation video tutorial for an example on how to open nano. It should be pre-installed.

Others editors that you can use are BBEdit or Sublime Text.

nano is a basic editor and the default that instructors use in the workshop. It should be pre-installed.

Others editors that you can use are Gedit, Kate or Sublime Text.

Stata

This lesson uses the statistical package Stata. It has been tested on Stata 16.1 MultiProcessor, but it should work on most recent versions.

If you do not have a Stata license, please let your instructor know so that they can request a short-term training license for free.

If you are newly installing Stata on your computer, follow these instructions.

  1. Go to the link given by your instructor
  2. Download and launch the installer: SetupStata16.exe
  3. Once the installation is done, start Stata from the Start Menu. The first time you do this, you will have to activate your licence.
  4. Enter the serial number provided and press enter
  5. Enter the code and press enter
  6. Enter the authorization and press enter
  7. It should return “Good. The serial number, code, and authorization make sense. Shall we continue?” Type Y and press enter.
  8. When it asks for the first line, it should say “EEA”
  9. When it asks for the second line, it should say “2020”
  10. It will ask for confirmation. Type “Y” and press enter.
  1. Go to the link given by your instructor
  2. Download and launch the installer: Stata16.dmg
  3. Once the installation is done, start Stata from the Start Menu. The first time you do this, you will have to activate your licence.
  4. Enter the serial number provided and press enter
  5. Enter the code and press enter
  6. Enter the authorization and press enter
  7. It should return “Good. The serial number, code, and authorization make sense. Shall we continue?” Type Y and press enter.
  8. When it asks for the first line, it should say “EEA”
  9. When it asks for the second line, it should say “2020”
  10. It will ask for confirmation. Type “Y” and press enter.
  1. Go to the link given by your instructor
  2. Download Stata16Linux64.tar.gz.
  3. Open a terminal and navigate to the directory where your downloaded file is located (e.g. cd ~/Downloads/)
  4. Get superuser rights (sudo su)
  5. Create a new directory (e.g. mkdir stata_install)
  6. Move the downloaded file to this new directory (mv Stata16Linux64.tar.gz. stata_install/)
  7. Enter the directory (cd stata_install)
  8. Extract the installation files using tar xzf Stata16Linux64.tar.gz
  9. Create a directory for your stata installation (mkdir /usr/local/stata16)
  10. Navigate to the stata directory (cd /usr/local/stata16)
  11. Start the installation by executing the extracted install file (e.g. /home/username/Downloads/stata_install/install)
  12. Whenever the installer asks if you want to proceed type “y” and press enter
  13. Once the installation is done, type ./stinit to activate your licence
  14. Whenever it asks you if you want to continue, type “Y” and press enter
  15. Enter the serial number provided and press enter
  16. Enter the code and press enter
  17. Enter the authorization and press enter
  18. It should return “Good. The serial number, code, and authorization make sense. Shall we continue?” Type Y and press enter.
  19. When it asks for the first line, it should say “EEA”
  20. When it asks for the second line, it should say “2020”
  21. It will ask for confirmation. Type “Y” and press enter.
  22. Try to start stata by ./xstata. If it gives you the following error message (./stata: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory), continue with the steps below:

  23. Issue the following commands one by one in your terminal window:
    apt-get install zlib1g-dev
          wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
          dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
          

Posting screenshots to Slack

In order to provide help in case you are stuck at any point, we will need you to take screenshots of your code and send it to a helper via Slack. You can see below how you can do it depending on your operating system.

Press the print screen (FN or ALT + PrtScn) button on your keyboard. You can insert into any Slack channel with CTRL + V.

To take a screenshot of your entire screen, press, at the same time, the keys Shift, Command and 3. Your screenshot will be saved on the Desktop. Navigate to your desktop, copy the screenshot with Command + C, and paste into Slack with Command + V.

If you want to capture only a part of your screen, press Shift, Command and 4. You will get a crosshair cursos with which you can select the area of the screen to save. It will be saved on the Desktop. Navigate to your desktop, copy the screenshot with Command + C, and paste into Slack with Command + V.

Press the print screen (PrtSc) button on your keyboard. This will (on most Linux systems) save a screenshot to the Pictures folder in your home directory. You can send this file in the Slack app or in its online version by clicking on the paperclip icon in the bottom right corner of the messaging area and selecting it from your computer.