---
layout: workshop # DON'T CHANGE THIS.
carpentry: "swc" # what kind of Carpentry (must be either "lc" or "dc" or "swc")
venue: "University of Arizona, Tucson" # brief name of host site without address (e.g., "Euphoric State University")
address: " Please check your email for the workshop location!" # full street address of workshop (e.g., "Room A, 123 Forth Street, Blimingen, Euphoria")
country: "us" # lowercase two-letter ISO country code such as "fr" (see https://en.wikipedia.org/wiki/ISO_3166-1)
language: "en" # lowercase two-letter ISO language code such as "fr" (see https://en.wikipedia.org/wiki/ISO_639-1)
latlng: "32.231901,-110.9495000" # decimal latitude and longitude of workshop venue (e.g., "41.7901128,-87.6007318" - use https://www.latlong.net/)
humandate: "Oct. 27-28, 2018" # human-readable dates for the workshop (e.g., "Feb 17-18, 2020")
humantime: "8:30-17:00" # human-readable times for the workshop (e.g., "9:00 am - 4:30 pm")
startdate: 2018-10-27 # machine-readable start date for the workshop in YYYY-MM-DD format like 2015-01-01
enddate: 2018-10-28 # machine-readable end date for the workshop in YYYY-MM-DD format like 2015-01-02
instructor: ["Marnee Dearman", "Dawson Fairbanks", "Julian Pistorius", "Tyson Swetnam"] # boxed, comma-separated list of instructors' names as strings, like ["Kay McNulty", "Betty Jennings", "Betty Snyder"]
helper: ["Uwe Hilgert", "Amy Hudson", "Branden Lau", "Xiang Liu", "Cesar Medina", "Matt Miller", "Fernando Rios", "Travis Struck". "Frank Ventura"] # boxed, comma-separated list of helpers' names, like ["Marlyn Wescoff", "Fran Bilas", "Ruth Lichterman"]
email: ["hilgert@bio5.org"] # boxed, comma-separated list of contact email addresses for the host, lead instructor, or whoever else is handling questions, like ["marlyn.wescoff@example.org", "fran.bilas@example.org", "ruth.lichterman@example.org"]
collaborative_notes: https://pad.carpentries.org/2018-10-27-Tucson # optional: URL for the workshop collaborative notes, e.g. an Etherpad or Google Docs document
eventbrite: # optional: alphanumeric key for Eventbrite registration, e.g., "1234567890AB" (if Eventbrite is being used)
---
{% comment %} See instructions in the comments below for how to edit specific sections of this workshop template. {% endcomment %}
{% comment %} HEADER
Edit the values in the block above to be appropriate for your workshop. If the value is not 'true', 'false', 'null', or a number, please use double quotation marks around the value, unless specified otherwise. And run 'make workshop-check' before committing to make sure that changes are good. {% endcomment %}
{% comment %} EVENTBRITE
This block includes the Eventbrite registration widget if 'eventbrite' has been set in the header. You can delete it if you are not using Eventbrite, or leave it in, since it will not be displayed if the 'eventbrite' field in the header is not set. {% endcomment %} {% if page.eventbrite %}
<iframe src="https://www.eventbrite.com/tickets-external?eid={{page.eventbrite}}&ref=etckt" frameborder="0" width="100%" height="280px" scrolling="auto"> </iframe> {% endif %}Apply for the workshop at https://goo.gl/8gmej3.
{% comment %} INTRODUCTION
Edit the general explanatory paragraph below if you want to change the pitch. {% endcomment %} {% if page.carpentry == "swc" %} {% include sc/intro.html %} {% elsif page.carpentry == "dc" %} {% include dc/intro.html %} {% elsif page.carpentry == "lc" %} {% include lc/intro.html %} {% endif %}
{% comment %} AUDIENCE
Explain who your audience is. (In particular, tell readers if the workshop is only open to people from a particular institution. {% endcomment %} {% if page.carpentry == "swc" %} {% include sc/who.html %} {% elsif page.carpentry == "dc" %} {% include dc/who.html %} {% elsif page.carpentry == "lc" %} {% include lc/who.html %} {% endif %}
{% comment %} LOCATION
This block displays the address and links to maps showing directions if the latitude and longitude of the workshop have been set. You can use https://itouchmap.com/latlong.html to find the lat/long of an address. {% endcomment %} {% if page.latlng %}
Where: {{page.address}}.
{% endif %}{% comment %} DATE
This block displays the date and links to Google Calendar. {% endcomment %} {% if page.humandate %}
When: {{page.humandate}}. {% include workshop_calendar.html %}
{% endif %}{% comment %} SPECIAL REQUIREMENTS
Modify the block below if there are any special requirements. {% endcomment %}
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). They are also required to abide by {% if page.carpentry == "swc" %} Software Carpentry's {% elsif page.carpentry == "dc" %} Data Carpentry's {% elsif page.carpentry == "lc" %} Library Carpentry's {% endif %} Code of Conduct.
{% comment %} ACCESSIBILITY
Modify the block below if there are any barriers to accessibility or special instructions. {% endcomment %}
Accessibility: We are committed to making this workshop accessible to everybody. The workshop organisers have checked that:
- The room is wheelchair / scooter accessible.
- Accessible restrooms are available.
Links to workshop materials are being provided below. If we can provide additional resources to help making learning easier for you (e.g. large-font hand-outs, sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.
{% comment %} CONTACT EMAIL ADDRESS
Display the contact email address set in the configuration file. {% endcomment %}
Contact: Please email {% if page.email %} {% for email in page.email %} {% if forloop.last and page.email.size > 1 %} or {% else %} {% unless forloop.first %} , {% endunless %} {% endif %} {{email}} {% endfor %} {% else %} to-be-announced {% endif %} for more information.
{% comment %} SURVEYS - DO NOT EDIT SURVEY LINKS {% endcomment %}
Please be sure to complete these surveys before and after the workshop.
{% if site.carpentry == "swc" %} {% elsif site.carpentry == "dc" %} {% elsif site.carpentry == "lc" %} {% endif %}{% comment %} SCHEDULE -- The original Schedule template is utterly messed up in that it (1) includes the link to the surveys which should be getting thier own header, and (2) does not allow to change the schedule template/tables. We are therefore using a table made from scratch and will not display the schedule included with the template. {% endcomment %}
08:30 | Automate tasks with the Unix shell and git/GitHub |
10:30 | Coffee |
12:00 | Lunch break |
13:00 | Unix shell/git/GitHub, cont. |
14:45 | Coffee |
15:00 | Scientific Analyses with R and git/GitHub |
17:00 | End of Day |
08:30 | Scientific Analyses with R and git/GitHub, cont. |
10:30 | Coffee |
12:00 | Lunch break |
13:00 | R/R-Studio/git/GitHub, cont. |
14:45 | Coffee |
16:00 | End of Day |
Schedule subject to change if necessary.
We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.
- Work in vs. work below the GUI
- Navigate the shell
Find
, create, copy, move and delete folders and files- Shell over GUI: Command history and tab completion
- Connect commands into workflows: pipes and redirection
- Automate repetitive tasks: loops
- Save and run workflows in scripts
- Work with vectors and data frames
- Read and plot data
- Create and use functions
- Create loops and conditionals
- Use R from the command line
<!-- https://swcarpentry.github.io/git-novice/ -->
- Access a repository and pull files
- Create a repository
- Record changes:
add
,commit
, ... - View changes:
status
,diff
, ... - Ignore files
- Work on the web:
clone
,pull
,push
, ... - Resolve conflicts
{% comment %} SETUP
Delete irrelevant sections from the setup instructions. Each section is inside a 'div' without any classes to make the beginning and end easier to find.
This is the other place where people frequently make mistakes, so please preview your site before committing, and make sure to run 'tools/check' as well. {% endcomment %}
To participate in a {% if page.carpentry == "swc" %} Software Carpentry {% elsif page.carpentry == "dc" %} Data Carpentry {% elsif page.carpentry == "lc" %} Library Carpentry {% endif %} workshop, you will need access to the software described below. Unless you prepare your laptop as described below you will be unable to follow along. In addition, you will need an up-to-date web browser, we recommend Firefox, Chrome or Safari as Internet Explorer/Edge can be buggy.
Should you encounter issues while installing the software below, please look for a solution in our Configuration Problems and Solutions wiki page. If even this does not help, please get in touch with us using contact details above and we will attempt to provide a solution.
Bash is a commonly-used shell (= Unix command language) that gives you the power to quickly do simple tasks on your computer. Bash stands for 'Bourne Again Shell'; if you are interested in the history of the term and the underlying technological development, please search the Web for 'Bash Shell'.
- Download the Git for Windows installer. {% comment %} "Do you want to run this file?" {% endcomment %}
- Run the installer and follow the steps bellow:
-
{% comment %} "Information" {% endcomment %}
- Click on "Next". {% comment %} "Select Destination Location" {% endcomment %}
- Click on "Next". {% comment %} "Select Components" {% endcomment %}
- Click on "Next". {% comment %} "Select Start Menu Folder" {% endcomment %}
- Click on "Next". {% comment %} "Choosing Default Editor" {% endcomment %}
- Select "Use the Nano editor by default"
- Click on "Next". {% comment %} "Adjusting your PATH environment" {% endcomment %}
- Ensure that "Use Git from the Windows Command Prompt" is selected. (If you forget to do this gitbash will not work properly, requiring you to remove the GitBash installation, re-run the installer and to select the "Use Git from the Windows Command Prompt" option.)
- Click on "Next". {% comment %} Choosing the SSH executable {% endcomment %}
- Ensure that "Use the OpenSSL Library" is selected.
- Click on "Next". {% comment %} Configuring the line ending conversions {% endcomment %}
- Ensure that "Checkout Windows-style, commit Unix-style line endings" is selected.
- Click on "Next". {% comment %} Configuring the terminal emulator to use with Git Bash {% endcomment %}
- Ensure that "Use Windows' default console window" is selected.
- Click on "Next". {% comment %} Configuring experimental performance tweaks {% endcomment %}
- Ensure that "Enable file system caching" and "Enable Git Credential Manager" are selected.
- Click on "Next".
- Click on "Install". {% comment %} Installing {% endcomment %} {% comment %} Completing the Git Setup Wizard {% endcomment %}
- Click on "Finish".
-
If your "HOME" environment variable is not set (or you don't know what this is):
- Open command prompt (Open Start Menu then type
cmd
and press [Enter]) -
Type the following line into the command prompt window exactly as shown:
setx HOME "%USERPROFILE%"
- Press [Enter], you should see
SUCCESS: Specified value was saved.
- Quit command prompt by typing
exit
then pressing [Enter]
- Open command prompt (Open Start Menu then type
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.
Writing code is much easier with respectively optimized text editors that include features such as automatic color-coding of key words and syntax-highlighting. We will use the basic editor 'nano' in the workshop; it comes pre-installed with the git-bash download above for Windows, Mac and Linux.
Click the Start button and type 'git bash' into the search window.
Click on the "Git Bash" icon to open the shell.
Type 'nano test.txt' to open a text editor. IF this does not open the nano text editor contact the workshop administrator at the email listed above.
Type 'Test'.
To exit the nano editor press Ctrl and type 'x' (a.k.a. '^X'; additional commands are listed at the bottom of the text edito window.
During the workshop we will be using the basic editor nano. nano should be pre-installed; see the Git installation video tutorial for an example on how to open nano.
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 (current versions of Chrome, Firefox or Safari, or Internet Explorer version 9 or above).
For the workshop you will need a GitHub account, if you don't have one already please get it at github.com. Basic GitHub accounts are free. However, 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 at GitHub.
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.
R is a programming language that is especially powerful for data exploration, visualization, and statistical analysis. To interact with R, we use RStudio.
Install R by downloading and running this .exe file from CRAN. Also, please install the RStudio IDE. Note that if you have separate user and admin accounts, you should run the installers as administrator (right-click on .exe file and select "Run as administrator" instead of double-clicking). Otherwise problems may occur later, for example when installing R packages.
Install R by downloading and running this .pkg file from CRAN. Also, please install the RStudio IDE.
You can download the binary files for your distribution
from CRAN. Or
you can use your package manager (e.g. for Debian/Ubuntu
run sudo apt-get install r-base
and for Fedora run
sudo dnf install R
). Also, please install the
RStudio IDE.