Software Carpentry Workshop University of Nebraska – Lincoln Holland Computing Center Instructors: Dr. Jingchao Zhang, Natasha Pavlovikj, Carrie Brown.

Slides:



Advertisements
Similar presentations
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
Advertisements

Introduction Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See
Russell Taylor Lecturer in Computing & Business Studies.
Introduction Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
Introduction to R Statistical Software Anthony (Tony) R. Olsen USEPA ORD NHEERL Western Ecology Division Corvallis, OR (541)
What is Unix Prepared by Dr. Bahjat Qazzaz. What is Unix UNIX is a computer operating system. An operating system is the program that – controls all the.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
CS110/CS119 Introduction to Computing (Java)
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Class Instructor Name Date. Classroom Tips Class Roster – Please Sign In Class Roster – Please Sign In Internet Usage Internet Usage –Breaks and Lunch.
HCC Fall KickStart University of Nebraska – Lincoln Holland Computing Center David Swanson, Emelie Harstad, Jingchao Zhang, Adam Caprez, Derek Weitzel,
The iPlant Collaborative Community Cyberinfrastructure for Life Science Tools and Services Workshop Objectives.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CS 390 Unix Programming Environment Summer Suchindra Rengan - CS3902 Course Details Instructors Suchindra Rengan – ‘sachin’ ( Section 001)
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop I Introduction to Linux Professional Training Academy.
Transforming Science Through Data-driven Discovery Welcome to the Tools and Services Workshop SIU Host: Jane Geisler-Lee Kapeel Chougule, Joslynn Lee,
Software Sustainability Institute Data Carpentry Aleksandra Pawlik Software Sustainability Institute Data Science Club, 17 th March.
Transforming Science Through Data-driven Discovery Tools and Services Workshop Atmosphere Joslynn Lee – Data Science Educator Cold Spring Harbor Laboratory,
Linux & UNIX OS Overview Fort Collins, CO Copyright © XTR Systems, LLC Overview of the Linux & UNIX Operating Systems Instructor: Joseph DiVerdi, Ph.D.,
Science Foundational Training Day 1 Welcome!. Welcome to Science Foundational Use Training Getting Ready: ●Sign in - Name tag ●Pick up a science notebook.
WEST VIRGINIA UNIVERSITY Shared Research Facilities WVU HPC SUMMER INSTITUTE Introduction to Linux.
Website Source Code Free Download.
Basic Programming I Working with QBasic
Game programming 1.
CSC 241: Introduction to Computer Science I
VisIt Project Overview
HCC Fall KickStart University of Nebraska – Lincoln Holland Computing Center David Swanson, Emelie Harstad, Jingchao Zhang, Adam Caprez, Derek Weitzel,
Principles and Processes in Chemistry 100
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Development Environment
CST 1101 Problem Solving Using Computers
Project 1 Introduction to HTML.
Mark Laufersweiler Research Data Specialist
L – Modeling and Simulating Social Systems with MATLAB
Foundations of Data Science
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Popular Operating System Chapter 8
Developments in ICT.
Instructor Training Cambridge
A different kind of Carpentry
Software Carpentry When you arrive…
Lesson 02: Introduction to Python
Pipeline Execution Environment
Tools and Services Workshop Overview of Atmosphere
CS 325: Software Engineering
R Programming.
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Version Control with Git accelerated tutorial for busy academics
Git Version Control for Everyone
TRANSLATORS AND IDEs Key Revision Points.
Teaching Computing to GCSE
Lunch & Learn: Are you letting your users be your testers?
Part 1: Editing and Publishing Files
1.2 System Design Basics.
An introduction to the Linux environment v
(UCCSC, 2017) Vince Kellen CIO, UC San Diego
Experience with the process automation at SORS
Software for Neutron Imaging Analysis
Patrick Cozzi University of Pennsylvania CIS Fall 2012
MCBIOS 2016 – University of Memphis, TN
Computational Environment Management
Research Software Group
CSC 241: Introduction to Computer Science I
Running & Testing Programs :: Translators
Presentation transcript:

Software Carpentry Workshop University of Nebraska – Lincoln Holland Computing Center Instructors: Dr. Jingchao Zhang, Natasha Pavlovikj, Carrie Brown Helpers: Dr. David Swanson, Dr. Adam Caprez, Dr. Emelie Harstad, Dr. Derek Weitzel, Dr. William McClung, Huijun Zhu, Ryan Hagenson

Setup Instructions Please complete these steps before the lessons start at 9:00 AM: Setup instructions: https://eharstad.github.io/2017-01-05-UNL/#setup If you need help with the setup, please put a red sticky note at the top of your laptop. When you are done with the setup, please put a green sticky note at the top of your laptop.

Schedule

Logistics Location: Lunch and coffee vouchers Name tags, sign-in sheet Jackie Gaughan Multicultural Center - room 202 (Ubuntu) Lunch and coffee vouchers Name tags, sign-in sheet Sticky notes: Red = need help, Green = all good

Logistics Shell lessons: Git lessons: R lessons: https://eharstad.github.io/shell-novice/ Git lessons: https://eharstad.github.io/git-novice/ R lessons: https://carriebrown.github.io/r-novice-gapminder/ Etherpad (take notes, ask questions): https://public.etherpad-mozilla.org/p/2017-01-05-UNL

Introduction to Software Carpentry Non-profit organization - 1998 (Greg Wilson) Mission: Improve basic computing skills and practices of researchers (esp. science, engineering, medicine) Materials are open-source Instructors are volunteers http://software-carpentry.org admin@software-carpentry.org

Introduction to Software Carpentry Problem: Most scientists’ computing skills are self-taught Learn computing skills on need-to-know basis, limited time Solution: 2-day “bootcamp”-style workshop / Hands-on training, no slides Core curriculum: Unix Shell programming (automating tasks) Version control (Git and GitHub) R or Python (building modular, robust code) Results: Good programming practices Reproducible research, time-saving, efficient, re-usable For information on upcoming SWC workshops, sign up for the HCC Announce mailing list: https://hcc.unl.edu/subscribe-mailing-list

Unix Shell What is the Command Shell? Interact using CLI instead of GUI A program Interprets commands, orders computer to execute, and prints out result We will be using the Bash shell (most popular) Using Bash or any other shell feels like programming sometimes Shell commands can look cryptic at first Only need to learn about 10-15 basic commands

Unix Shell Why use the Unix Shell? Powerful toolset - automate repetitive tasks quickly Easiest way to interact with remote machines Unix-based operating systems are used on most High Performance Computing (HPC) Knowing the Shell is a necessary skill

Git Software version control tool Manage files in a project (create repo.) Save all old revisions Track changes (who/what/when) Compare versions Difficult to overwrite Collaborate (GitHub: web-hosted repo.)

R (tomorrow) R is a language for statistical computing and graphics developed at Bell Laboratories R provides a wide variety of and graphical techniques, and is highly extensible R provides Effective data handling Integrated tools for data analysis Well-designed publication-quality plots