2020-11-02-instructor-training

2020 November, Focus CoE instructor training days 1 and 2

tags: workshop

Notes from days 1 and 2 below:

Welcome session

https://coderefinery.github.io/instructor-training/

What do we want to get out of this workshop?

What does HPC mean to you?

Welcome and introduction

https://coderefinery.github.io/instructor-training/welcome/

Teaching philosophies

https://coderefinery.github.io/instructor-training/02-teaching-philosophies/ Exercise: ice breaker in the top 15 minutes, ends at xx:40.

(add things here)

Room 1

Room 2

Room 3

Follow-up discussion

(copied question from voice to notes:)

Should HPC (resources, training material) be for “everybody”?

Break

Until xx:02

Group work: Top issues new instructors face

until xx:25

Discussion/group work: Top issues new instructors face (Sabry) (e.g. Focus on pitfalls, tools, assessment)

Room 1

Room 2

Room 3

Interactive teaching style

https://coderefinery.github.io/instructor-training/03-teaching-style/

Break

:::danger until xx:10 :::

I am sharing this to demonstrate what we normally do during our major workshops - you always need to present important stuff like this multiple ways.

HPC certification https://www.hpc-certification.org/

Online teaching strategies

https://coderefinery.github.io/instructor-training/teaching-strategies/

Teaching feedback: git bisect

Give each other constructive verbal feedback on the teaching demos, for example using this demo rubric.

Exercise session

https://coderefinery.github.io/instructor-training/teaching-strategies/#shell-sharing Set up your screen share for tomorrow and get feedback on it.

Break

Until xx:10

Lesson design

https://coderefinery.github.io/instructor-training/lesson-design/

How do you (re)design lessons?

Exercise until xx:50 (we will check how it is going and perhaps give 5 mins more)

Room 1

status: do you need more time than xx:50?

  1. Introduction to high-performance computing
  2. Audience:
    • someone who has low level of understanding of HPC, but they have some knowledge
    • Understand why they would need to use HPC but have no experience yet –> people ending their Master and/or during their PhD and in need of using HPC –> can be someone working in a startup/SMEs –> data scientist with data challenges (SMEs)
  3. Learner personas:
    • Data analyst from SME: Sarah has a commercial code, she needs to perform certain actions with HPC, e.g. accessing data, accessing software (compilers, how to get installed their software, how to run (batch system), how to use the HPC environment (bash shell))
  4. Learning outcomes:
    • Understand how to login
    • Understand how to transfer data in and out

Room 2

status: we are ok closing xx:50

  1. Topic: plotting with matplotlib (half-day course; or any Python library)
  2. Audience
    • starting researchers
    • students
    • undergraduate intern students
  3. Learning outcomes
    • know what matplotlib is
    • be able to install python/jupyter and matplotlib
    • be able to read in data in a suitable way for data visualization
    • know about file formats
    • be able to create different type of graph, eg. pie chart, bar chart and etc.
    • be familiar with different visualization approaches, be able to find examples in galleries, and apply them to own data
    • understand figure objects and axes objects and know how to change them
    • know how to export/save/show the figures objects
    • know where to look up possible customizations
  4. Exercises
    • create a basic plot with default settings
    • Add axis labels to it
    • Label the data
    • Plot cosine, sine
    • Multiple data in single plot

Room 3

status: do you need more time than xx:50?

  1. Shell crash course for new users of HPC.
  2. Audience
    • New users on the system
      • Choose to be there
    • They may have some familiarity with the terminal, since they had to apply to get access.
    • Someone who has used Windows but not Linux
    • PhD who has been told to use the resources of their supervisor
  3. Learner personas
    • Researcher who has started to use ML for analysis but they don’t have access to a recent GPU. They’ve heard that there are lot’s of GPUs on their national resource so they want to go off and use those. All their experience is using Jupyter notebooks.
    • New PhD students in biosciences, mostly Windows/Mac users with no command line experience.
    • X is a postdoc in management science who has been using Jupyter extensively on their own computer. They are pretty good at doing computations interactively, so they know Python and R well, but the idea of making a batch script and waiting for the answer is completely new. They would rather not have to deal with this shell stuff, but realize they need to eventually. They use a Mac computer, so have at least seen a terminal before but haven’t used it much.
  4. Learning outcomes
    • Understand basic operation system concepts, and using command lines for various functions.
    • Understand difference beteween HPC and his/her laptop, local/remote resources
    • Understand basic HPC architecture, nodes, cores, clusters.
    • ssh logins
    • how to access an editor and use it
    • Write a Slurm script and submit it

discussion

Feedback

Collaborative lesson development

https://coderefinery.github.io/instructor-training/lesson-development/

Discussion: collaboration:

What are your best practices in lesson development?

Teaching demo

Break

Break until xx:02

Teaching demos

Copyable rubric

Room 1

Room 2

Room 3

Example 1: Thougths for master students on VMD

Example 2: Gnuplot on an HPC system

Example 3: Intro to HPC: module

Break

Until xx:10

Teaching exercise phase 2

Room 1

Example 1

Room 2

Example 1:

Example 2: Tool for application profiles

Room 3

Example 1: Gnuplot on an HPC system

Example 3: Intro to HPC: module

Break

Until xx:10

Online workshops

https://coderefinery.github.io/instructor-training/workshops-online/

In-person:

Online:

Questions

Next CR workshop: https://coderefinery.github.io/2020-11-17-online/

Feedback for day 2

One thing that was good

One thing we should change/improve