Wednesday, 5 May

Programming Languages

Today's tutorials will occur along 4 tracks, each devoted to a different programming language, running concurrently. Each tab below corresponds to one of these tracks. The tutorials associated with each track are listed on the relevant tab.

MATLAB
Python
R
Julia
MATLAB

Using MATLAB on Oscar | 9:30 - 11:00 EDT

An introduction to using MATLAB on Oscar. Topics covered include: working with MATLAB interactively on Oscar, using the MATLAB GUI, and using MATLAB in batch jobs.

Slides | Exercises

MATLAB: Programming Basics | 11:00 - 12:30 EDT

An introduction to programming using MATLAB. Topics covered include: programs and functions, relational operators, logical operators, and controlling flow with if statements and loops.

Exercises

MATLAB: Improving Performance | 1:30 - 3:00 EDT

This workshop will cover basic performance optimization techniques using MATLAB, including: code profiling, pre-allocation, sequential memory access, vectorization, and efficient matrix-vector storage and operations. We will assume that participants have a basic understanding of the MATLAB programming language.

Slides | Exercises | Github Link

MATLAB: Tools for Parallel Computing | 3:00 - 4:30 EDT

This workshop will cover basic performance optimization techniques using parallel computing techniques in MATLAB, including: parallel for-loops (parfor), single program multiple data (spmd), and distributed arrays. We assume that participants have a relatively advanced knowlege of the MATLAB programming language

Slides

Python

Using Jupyter Notebooks | 9:30 - 10:00 EDT

A quick overview to using Jupyter Notebooks. We will provide some python-specific functionality and some tips about notebooks in general.

Python Programming Basics | 10:00 - 12:00 EDT

An introduction to Python programming. Topics covered will include: the basics of variables, lists, dictionaries and arrays; the logic of control-flow techniques such as if-then statements, for loops, list comprehensions; a basic understanding of writing functions.

Data Wrangling in Python | 1:30 - 3:30 EDT

A quick introduction to working with data in python. We will touch on two ways work with data in general. A prerequisite is that you are at least familiar wiht simnple python programming or attended the previous session.

  • Using standard python programming

  • Using Pandas the Python Data Analysis package

Using Python on Oscar | 4.00 - 4:30 EDT

A short overview on how to work with python on OSCAR

email: [email protected] for passcode

DIRECT NOTEBOOK LINK: Click to go the jupyterhub for these series of workshops

R

A Gentle Introduction to R Programming | 9:30 - 12:00 EDT

This session will cover an introduction to R, including data types and data formats, useful R functions, writing your own functions, importing and exporting data, and installing packages.

https://ccv.jupyter.brown.edu/hub/user-redirect/git-pull?repo=git%3A%2F%2Fgithub.com%2Fcompbiocore%2Fccv_bootcamp_R&urlpath=lab%2Ftree%2Fccv_bootcamp_R%2FR_Bootcamp_Intro_R.ipynb&branch=main

R/TidyVerse Essentials | 1:30 - 2:30 EDT

This session will cover data wrangling (filtering, reshaping, joining) using TidyVerse.

Essentials of GGplotting with R | 2:45 - 3:45 EDT

This session will cover data visualization using ggplot.

https://ccv.jupyter.brown.edu/hub/user-redirect/git-pull?repo=git%3A%2F%2Fgithub.com%2Fcompbiocore%2Fccv_bootcamp_R&urlpath=lab%2Ftree%2Fccv_bootcamp_R%2FR_ggplot2.ipynb&branch=main

Using R on Oscar | 4:00 - 4:30 EDT

This session will briefly cover different approaches to using R on Oscar.

https://ccv.jupyter.brown.edu/hub/user-redirect/git-pull?repo=git%3A%2F%2Fgithub.com%2Fcompbiocore%2Fccv_bootcamp_R&urlpath=lab%2Ftree%2Fccv_bootcamp_R%2FR_on_Oscar.ipynb&branch=main

Julia

Introduction to Julia | 9:30 - 11:30 EDT