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:
From here you can also find important links and reference.
You can switch between view and edit modes:
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](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)
We would he happy to have help with our activities
Our chat https://coderefinery.zulipchat.com/ (stream #python-for-scicomp), in case you want to chat with us.
Social Media: Mastodon @SciCompAalto@fosstodon.org and @coderefinery@fosstodon.org (preferred), Twitter @coderefine (not -ry) and SciCompAalto, #PythonForSciComp
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.