SHARCNET Summer School 2020 - Offering 2

The SHARCNET Summer School on Advanced Research Computing (ARC) is an annual educational event for graduate/undergraduate students, postdocs and researchers who are engaged in compute-intensive research. These schools are FREE and provide beginner-to-intermediate level courses on a wide range of subjects, from traditional high performance computing to data science, machine learning, and popular languages (Python, Julia etc.); they also include domain-specific courses.

This "Offering 2" is a repeat of select courses from the SHARCNET Summer School 2020 which took place between May 19 and June 15 incl. This offering's courses take place from August 17 to August 21. Unlike the first offering, some of this offering's courses occur at the same time, e.g., Python and Julia. The courses are between 2 and 3 days long, and consist of live Zoom lecturing sessions interleaved with live Zoom hands-on sessions. The classes start at 10:00am EDT, and end at 5:00pm EDT (with multiple breaks).

Preparing for Summer School

  • To take a full advantage of the courses, you will need a computer (PC or laptop), and reasonably good internet connection (ideally, 10 mbit/s or better).
  • You will also need a headset with (optionally) a microphone. Please test the headset before the school.
  • We will be using Zoom for both lecturing and hands on exercises. Zoom can be used from a browser, but it usually works better when installed as an app. Please create a Zoom account and test Zoom app before the summer school.
Summer School Registration
Enrolling in a Course
Unenrolling in a Course

To enroll in any of the courses listed below, do the following:

  • click the name of the course,
  • scroll down to the bottom of the page for that course, click the "Enroll me" button.

If the course is full, you may choose to add yourself to the waiting list. When someone drops from the course and a vacancy becomes available, you will be added to the course and will receive a notification by email.

To unenroll yourself from a course you registered in, do the following:

  • Go to the course's main page that you are registered in by clicking the course's link.
  • Click the "gear" icon at the top-right hand side of the main course screen.
  • Click the "Unenroll" link.

This is a common area for all 2020 Summer School Offering 2 course registrants. Everyone that is registered in a Summer School 2020 Offering 2 course is automatically granted access to this common area.

In this course, students will learn the high level, high performance language julia from the basics of programming features to advanced topics on parallel and distributed computing in several sessions.

Julia is getting increasingly popular for scientific computing. One may use it for prototyping as Matlab, R and Python for productivity, while gain the same performance as compiled languages such as C/C++ and Fortran. The language is designed for both prototyping and performance, as well as simplicity.

This is an introductory course on julia. Students will be able to get started quickly with the basics, in comparison with other similar languages such as Matlab, R, Python and Fortran and move on to learn how to write code that can run in parallel on multi-core and cluster systems through examples.

This course is delivered in several sessions through live classes via Zoom and self-paced learning. Students who missed some of the live classes at scheduled time slots may learn at their own pace. Students may ask questions and get answers in the forum for the course.

Students who complete the course activities including quiz and exercises will receive a certificate for the completion of the courses. Attendance and the completion of the course activities are recorded.

Python is an interpretedhigh-levelgeneral-purpose programming language. Created by Guido van Rossum and first released in 1991. Python's design philosophy emphasises code readability, based on language constructs and object-oriented approach. This helps programmers to write clear, logical code for small and large-scale projects (wikipedia).

In this edition of SHARCNET summer school, we will be teaching fundamentals of Python programming. It will be modularized so you don't have to take the novice modules if you are already comfortable with this programming language.

This is a two-day course on Machine Learning. It consists of two major subjects: Machine Learning in Data Science and Deep Learning towards Artificial Intelligence. 

Day 1 will provide an introduction to Machine Learning in Data Analytics. Following an overview of Machine Learning in Data Science, we will learn from examples for a full cycle of Machine Learning with real data, including data cleansing, data exploration, and a typical Machine Learning workflow. We will use Pandas and Scikit-Learn APIs in Python with hands-on practices through Jupyter Notebook

Day 2 will provide an overview of Artificial Intelligence with a focus on Deep Learning (DL) and Deep Neural Networks (DNN). We will have hands-on tutorials on two major different DL frameworks - Tensorflow and PyTorch by running CIFAR-10 image classification example on Compute Canada system. The hands-on labs will focus on how to run a sample case with different hardware resources such as a single-GPU, multi-GPU and multi-GPU nodes while the basic Tensorflow/PyTorch programming is briefly introduced.

Instructors: Jinhui Qin, SHARCNET / Western University (day 1) and Isaac Ye, SHARCNET / York University (day 2)

Prerequisites: Some programming experience in Python and background in statistics would be helpful but not mandatory.