Python for Scientific Computing intro

What is this course?

Who are we?

  • Instructors introduce themselves.

  • A collaboration of CodeRefinery partners and more, in particular in Sweden and Norway: https://coderefinery.org

  • Coordinated by Aalto Scientific Computing: https://scicomp.aalto.fi/

  • More than ten different instructors, about as many other helpers, too.

Course contents

  • Day 1: Basic tools (jupyter, numpy, pandas, xarray)

  • Day 2: More specialized tools (working with data, plotting, scripts, productivity tools)

  • Day 3: Even more specialized (libraries, dependencies and packaging, parallel programming)

  • If early days are too boring for you, don’t skip the later days!

  • If later days get too complex for you, it’s OK!

  • We will adjust the schedule as needed.

How to attend?

  • The course is livestreamed, anyone can attend! (details later)

  • There are different pathways for you. Everyone will choose your own path:

    • Pay close attention, do all exercises.

    • Watch, type-along with the examples and solutions

    • Watch passively, see general concepts (and take the course again later when you are more comfortable?)?

  • All of these are valid. You may choose different options for different lessons.

Practicalities

In other words: livestreaming is different!

How the workshop works

When some people teach online, they can reach a few tens of people at once. We can reach hundreds.

We have an interesting strategy:

  • Livestream broadcast, like a TV production.

  • Anyone can watch.

  • There are pauses for exercises, you can work (alone or in groups).

There are many parts of the workshop:

  • Talking and demos (livestream)

  • Type-along (livesteam)

  • Exercises (In your own groups or alone)

  • Breaks, at least 10 minutes/hour

Chat and communication

  • Please don’t use the steam chat for questions: who can keep track?

    • Instructors won’t see

    • But you can for practical questions

  • Use the Notes for chat: questions in bullet points:

    View and edit modes at top
  • From here you can also find important links and reference.

  • You can switch between view and edit modes:

    View and edit modes at top
    • You have to switch to edit mode once to get live updates (then you can go back to view)

    • Please leave in view mode if you aren’t actively using it

  • Someone watches these and will answer or raise relevant questions by voice.

  • Don’t get information overload! The point is you can read later.

  • Don’t include names or identifies in the Notes: it is public and will be permanently archived.

  • The Notes might get overloaded with the number of people we have. If so, we have backup plans and will adjust. (consider overload as a “isn’t it cool” situation). Pay attention to our instructions.

Exercise: Icebreaker: Please answer the icebreaker question in the Notes

Screen arrangement

Arranging your screen is surprisingly difficult!

  • We share a vertical window, so half of the screen is for us, and half is for demos.

  • The other half is for web browsers, your workspace, etc. Have the Notes easy to access!

  • Use the settings to force the highest resolution.

https://coderefinery.github.io/manuals/_images/layout--learner-livestream-sidebyside-onebrowser.png

Screen layout with livestream on one side and learner workspace on other side. You might have two browsers open, Jupyter and the course material.

Where do you focus?

There is so much information! What should we look?

  • Screenshare and lecture

  • Your own type-along

  • Notes (all important links should be pasted here)

    • Only look at the bottom.

    • Come back and read detailed answers later, not during.

  • The exercises (your group or alone) (during the exercises, optional).

  • Lesson webpage (as needed, direct links in Notes)

What can go wrong?

  • The lessons are too simple: the later lessons will become more interesting.

  • The lessons are too advanced: watch passively and learn, you will learn a different way.

  • Instructors make a mistake: this is by design! You learn by seeing things not work. We try to let some mistakes in so you can see them.

  • Notes stops responding: We have so many people that it might lag. Wait some and it hopefully will pass. We try to keep it short for this (move old text to an archive Notes, see link at top). Please stay in “view mode” when not editing. We have a backup planned.

  • The stream dies: something has happened to the broadcaster’s computer. Stick around, it will resume soon.

  • The internet dies: This happened in a previous course (Fastly CDN problem). Wait around, we see what happens. Remember, we have videos no matter what.

  • a CAT disrupts the instructors: wait, this is the opposite of a problem.

Videos

  • You miss a day or want to review? No problem.

  • Videos are available on Twitch for 7 days

  • … and YouTube after we process them

Be respectful and helpful

Being respectful is a condition of interaction.

It is actually hard to teach and mentor for tech like this. The course is much more than “only” instructors.

We leave you with four pieces of advice for now:

  • Everyone here is at different levels, and that’s expected. Everyone will be learning different things, and everyone will focus on different topics. Passive learning is OK.

  • Everyone is both a teacher and a learner. If not now, after the course when you are helping others.

  • Take time to check in. For example, ask “how’s it going? is everyone getting what they need?”, in breakout rooms.

  • When something isn’t going right, speak (or Notes) up quickly. We want to help, even if the answer is “let’s discuss later”.

Final notes

Certificates

  • See the course webpage for information.

Keep in touch if you want (and volunteer)

Other workshops

  • Consider attending a “real” CodeRefinery workshop, with more practical skills about the development side of things: https://coderefinery.org (next one in spring 2025)

  • Sign up for the CodeRefinery newsletter to get announcements.