Resources

If you’re new to cloud computing and version control, upon which this platform is built, here is some information to help you get started.

Tools

Various interactive computing and collaboration tools are used throughout this project. The tools and their respective learning resources are listed here for the convenience of users, contributers, and administrators. In this project, Jupyter Notebook, NBViewer, Binder, and Syzygy are used to create the interactive content; GitHub and ReviewNB enable collaboration and keep track of project history; RStudio and WordPress, combined with custom CSS and Javascript, are used to build this website and the blog; finally, Google Analytics and Qualtrics help with user research and content evaluation.

Interactive Computing

Jupyter Notebook

Jupyter Notebook is an open-source interactive computing tool that enables computational narratives. With Jupyter Notebook, one can create and share executable programming documents where code is accompanied by writings and visualizations. Currently, Jupyter Notebook is compatible with both Python and R. Jupyter Notebook can be downloaded using Anaconda

NBViewer

NBViewer allows users to browse static versions of Jupyter Notebooks in public GitHub respositories (read more on GitHub below).

Binder

Binder in contrary to NBViewer, hosts interactive Jupyter Notebook images. Users can edit and execute notebooks hosted on Binder, but changes will not be saved or stored.

Syzygy

Syzygy hosts virtual Hubs that allow users to create, execute, and save Jupyter Notebooks in a cloud server. Users can log into Syzygy using both Google accounts and UBC accounts when pulling Jupyter Notebooks from Analytics@Sauder.

Collaboration

Git and GitHub

For users who are new to the command-line interface, it might be more intuitive to learn GitHub first before diving into Git itself

Git

Git (/ɡɪt/) is an open-source Version Control System (VSC) or Source Code Management (SCM) tool that allows users to create multiple independent local branches (versions) of the same folder that can be merged or deleted. These branches are especially useful for experiments and testing. Users can push local branches to remote repositories when working in a team. Git also enables team collaborations when used with remote repositories (cloud folders) hosted on platforms such as GitHub.

  1. This interactive tutorial on Git is a great place to start learning Git.
  2. Once the interactive tutorial is done, set up Git on your local machine following this guide created by Will Jenden.
  3. Learn more about Git by reading this IBM Git Tutorial

GitHub

GitHub is a code hosting platform for version control and collaboration, which can be compared to a cloud folder such as Google Drive with additional functionalities. When used along with Git locally, GitHub is a powerful and efficient tool for users to collaborate on large projects with many files. In many cases, employers also see GitHub as a portfolio platform for students who are interested in jobs in the technical field.

  1. This short activity is a great place to start learning GitHub.
  2. To reinforce your GitHub learning, complete this interactive course on GitHub.
  3. More interative courses on GitHub can be found in the GitHub Learning Lab

ReviewNB

ReviewNB is a GitHub (marketplace) application that enables comprehensible comparisons and reviews of Jupyter notebooks. GitHub automatically shows differences for plain text files between branches and commits whenever they are compared with one another (here’s an example), where addition is hightlighted in green and deletion in red. However, Jupyter Notebooks are normally presented as rich media rendering of JSON files, which are not very interpretable when shown in plain text. With the help of ReviewNB, users can see the differences between two Jupyter Notebooks after they are rendered in a new window. At the same time, any edits or comments made in ReviewNB would be synced back to the GitHub.

Web Development

This website is currently generated using the built in site-generater for RStudio, styled using external CSS and Javascript, while the affiliated blog is created using UBC Blog, which is powered by WordPress. However, in the foreseeable future, alternative web development tools might be applied to either or both of the website and the blog.

RStudio

RStudio and RMarkdown is an Integrated Development Environment (IDE) for R, a statistical computing programming language. RMarkdown on the other hand is a package that comes with a built-in site generater that is useful for analysts and researchers who want to create HTML-formatted content using RMarkdown files (similar to Jupyter notebooks)

The r-mark down guide provides a clear guide on how to create a simple website using rmarkdown’s site generater and publish it through GitHub Pages. For more complex customization, the RMarkdown Guidebook provides more tips.

UBC Blog and WordPress

The affiliated blog is still at its early stage of development. Here is a collection of video tutorials created by Blogging Sandbox on how to use UBC Blog and WordPress.

Research and Evaluation

Google Analytics

Google Analytics is embedded into this website and can be used to analyze website traffic and user interactions. This beginner course is a great place to start learning.

Qualtrics

Qualtrics is a survey and research tool with many functions. Here is a list of tutorials to get you started. This service can be accessed through UBC IT Services

Cheat Sheets

Git

Check out introduction to Git above

  1. GitHub Git Cheat Sheet (quick cheat sheet for Git created by GitHub)
  2. Visual Git Cheat Sheet
  3. Official Git Reference (complete documentation of git commands)

Markdown

Markdown is a lightweight markup language that can be used to format plain text documents. It is frequently used in Jupyter Notebooks and on GitHub

  1. Markdown Cheat Sheet by Markdown Guide
  2. GitHub Flavored Markdown
  3. Math Equations in Markdown

Data Sources

Databases

  1. Mergent Online
  2. UBC Library Database
  3. Kaggle

Other Data sources

  1. UCI Machine Learning Repository
  2. Three Million Instacart Orders
  3. Opportunity Insights Economic Tracker
  4. Google Public Data Explorer
  5. Data Planet