Sunday, May 1, 2016 and Tuesday, May 3, 2016
Instructors: Billy Charlton, Josie Kressner, Greg Macfarlane, Brice Nichols
At this year's TRB Innovations in Travel Modeling Conference, we will host three tutorials that can help get you up to speed on tools to make your work day easier. This course is based on materials produced by Software Carpentry. 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.
These hands-on workshops will cover basic concepts and workflow with Python, Git, and R.
Travel Analysis and Modeling using Python
Sunday, May 1, 2016 1:00 p.m. - 2:45 p.m.
Moderators: Brice Nichols and Billy Charlton (Puget Sound Regional Council)
Interested in learning Python but don't know where to start? Join us for this laptops-open tutorial that starts with the very basics and builds the basic skills you will need to use Python for travel analysis.
Tools for Collaborative Open Source Model Development: GitHub and beyond!
Sunday, May 1, 2016 3:00 p.m. - 5:00 p.m.
Moderators: Billy Charlton and Brice Nichols (Puget Sound Regional Council)
This laptops-open tutorial will build skills necessary for effective collaborative software development including version control, issue-tracking, documentation, release planning, testing, and code review using GitHub and other associated tools.
Using R for Data Cleaning, Munging, Visualizing, and Modeling
Tuesday, May 3, 2016 1:30 p.m. - 3:00 p.m.
Moderators: Josie Kressner (Transport Foundry) and Greg Macfarlane (Parsons Brinckerhoff)
This laptops-open tutorial will help you get your data munging, cleaning, and mathematical modeling done fast and cleanly in R. Hands-on experience during this session will use ACS PUMS, CTPP, NHTS, and other travel datasets you are familiar with for travel analysis.
Who: | The course is aimed at transportation practitioners and researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop. | Where: | Innovations in Travel Modeling 2016, Denver, CO. |
Requirements: | All participants will need to bring a laptop to these tutorials with a few specific software packages installed on their computer (listed below). |
Email bcharlton@psrc.org for more information.
To participate in the tutorials, you will need to install the software described below. You only need to install the software required for each tutorial you will attend. In addition, you will need an up-to-date web browser.
Software Carpentry maintain a list of common issues that occur during installation as a reference: configuration problems and solutions.
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. nano is a very basic editor and the default that instructors use in the workshop.
:q!
(colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.Bash is a commonly-used shell that gives you the power to do simple tasks more quickly.
On Windows, the easiest way to get Bash is to use the copy that is included in the Git for Windows installer. Skip to the Git section.
The default shell in all versions of Mac OS X is Bash, so no need to install anything. You access Bash from the Terminal, which is found in /Applications/Utilities
. You may want to keep Terminal in your dock for this workshop. Linux also by default usually includes Bash as the shell. If not, use your package manager to install it.
You need the latest version of 64-bit Git. Even if you already have Git installed on your laptop, replace it with this new version. 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).
/Applications
folder, as Git is a command line program./Applications
folder, as Git is a command line program.Python is a very popular language for scientific computing, and great for general-purpose programming as well. Installing all of its scientific packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer. Regardless of how you choose to install it, please make sure you install Python version 2.7. We are not ready to move to Python 3 just yet.
We will teach Python using the IPython notebook, a programming environment that runs in a web browser. For this to work, you will need an 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.
To install Anaconda Python:
We recommend the Continuum Ananconda Python all-in-one python installer, which installs a basic Python system as well as the scientific computing modules required for this course.
R is a programming language that is especially powerful for data exploration, visualization, and statistical analysis. To interact with R, we use RStudio.
Download these two files before arriving: nhts_day.csv and nhts_per.csv. These only include the first 200 lines of the full NHTS files. We will tell you where to put them during the tutorial. Just make sure you have them accessible offline before arriving.
Install R by downloading and running this .exe file from CRAN. Then install the RStudio IDE.
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 yum install R
). Also, please install the RStudio IDE.
To check you have the correct version of Python:
cd ~/Downloads
python swc-installation-test-1.py
To check you have set up the other software requirements correctly:
cd ~/Downloads
python swc-installation-test-2.py
If anything is missing, the script output will specify what needs to be corrected.