Software Carpentry Workshop @ OU (FREE EVENT)

April 20, 2016

Software Carpentry Workshop
April 27-28, 2016, 9:00am – 4:30pm Central Time
University of Oklahoma, University Libraries
Bizzell Library HCLC Classroom
Instructors: Sarah Clayton, Mark Laufersweiler
Contact: Mark Laufersweiler (laufers@ou.edu)
Registration: http://oulib-swc.github.io/2016-04-27-ou/
http://software-carpentry.org/

DETAILS:

Software Carpentry’s mission is to help scientists and engineers get more research done in less time and with less pain by teaching them basic lab skills for scientific computing.

This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation.

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: 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: Bizzell Library HCLC Classroom.

Get directions with OpenStreetMap or Google Maps:

http://www.openstreetmap.org/?mlat=35.208275&mlon=%20-97.445848&zoom=16
http://maps.google.com/maps?q=35.208275,%20-97.445848

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating sytem (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 Software Carpentry’s Code of Conduct: http://software-carpentry.org/conduct.html

Accessibility: We are committed to making this workshop accessible to everybody.

The workshop organizers have checked that:
* The room is wheelchair / scooter accessible.
* Accessible restrooms are available.

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the
organizers in advance.

If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch and we will attempt to provide them.

Contact: Please mail laufers@ou.edu for more information.

Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey:
https://www.surveymonkey.com/r/swc_pre_workshop_v1?workshop_id=2016-04-27-ou

Post-workshop Survey:
https://www.surveymonkey.com/r/swc_post_workshop_v1?workshop_id=2016-04-27-ou

Day 1
09:00: Automating tasks with the Unix shell
10:30: Break
12:00: Pizza Lunch*
13:00: Building programs with Python
14:30: Break
16:00: Wrap-up

Day 2
09:00: Version control with Git and GitHub
10:30: Break
12:00: Lunch break
13:00: Continuing with Python
14:30: Break
16:00: Wrap-up

Etherpad: http://pad.software-carpentry.org/2016-04-27-ou

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

* Lunch provided by OU Libraries Knowledge Services.

Syllabus
* The Unix Shell
Files and directories
History and tab completion
Pipes and redirection
Looping over files
Creating and running shell scripts
Finding things

Reference: http://swcarpentry.github.io//shell-novice/reference.html

* Programming in Python
Using libraries
Working with arrays
Reading and plotting data
Creating and using functions
Loops and conditionals
Defensive programming
Using Python from the command line

Reference: http://swcarpentry.github.io//python-novice-inflammation/reference.html

* Version Control with Git
Creating a repository
Recording changes to files: add, commit, …
Viewing changes: status, diff, …
Ignoring files
Working on the web: clone, pull, push, …
Resolving conflicts
Open licenses
Where to host work, and why

Reference: http://swcarpentry.github.io//git-novice/reference.html

Setup: To participate in a Software Carpentry workshop, you will need access to the software described on the workshop registration webpage: http://oulib-swc.github.io/2016-04-27-ou/

In addition, you will need an up-to-date web browser.