Nov 7th - Nov 10th 2023 / Python for Scientific Computing
News and Important info
Thank you to all who came! The material will stay available indefinitely, and we hope it’s useful to you in the future, too. Please tell others about the course, and if you want to help us make more, get in touch.
Links
Register here to get emails about the course, but it’s not necessary to attend. The course is open to everyone in the world, with some partners providing special services (see below).
Video playlist from 2022 (this year is above)
This is a medium-advanced course in Python tools such as NumPy, SciPy, Matplotlib, and Pandas. It is suitable for people who know basic Python and want to know some internals and important libraries for science - basically, how a typical scientist actually uses Python. Read the learner personas to see if the course is right for you. Prerequisites include basic programming in Python.
Part of Scientific Computing in Practice lecture series at Aalto University, in partnership with CodeRefinery.
Partners
This course is hosted by Aalto Scientific Computing (Aalto University, Finland) and CodeRefinery. Our livestream, registration, materials, and published videos are free for all in the spirit of open science and education, but certain partners provide extra benefits for their own audience.
Staff and partner organizations:
Radovan Bast (CodeRefinery, The Artic University of Norway) (instructor, helper)
Richard Darst (ASC, Aalto University) (instructor, instructor coordinator, director)
Enrico Glerean (ASC, Aalto University) (instructor, registration coordinator, communication, helper)
Johan Hellsvik (PDC, NAISS, KTH) (instructor, helper)
Diana Iusan (UPPMAX, NAISS, Uppsala University) (instructor, helper)
Thomas Pfau (ASC, Aalto University) (instructor, helper)
Jarno Rantaharju (ASC, Aalto University) (instructor, helper)
Teemu Ruokolainen (ASC, Aalto University) (instructor, helper)
Sabry Razick (University of Oslo) (instructor, helper)
Simo Tuomisto (ASC, Aalto University) (instructor, helper)
Practical information
Registration
This is an online course streamed via Twitch (the CodeRefinery channel) so that anyone may follow along without registration. You do not need a Twitch account. There is a collaborative notes link which is used for asking questions during the course. The actual material is here.
While the stream is available even without providing personal data, if you register you may get collaborative notes access for asking questions and will support our funding by contributing to our attendance statistics.
Credits
It is possible to obtain a certificate from the course with a little extra work. The certificate is equivalent to 1 ECTS and your study supervisor will be able to register it as a credit in your university study credit system. Please make sure that your supervisor/study program accepts it.
Learners with a valid Aalto student number will automatically get the credit registered in Aalto systems.
To obtain a certificate/credit, we expect you to have registered to the course by 10/11/2023, follow the 4 sessions and provide us with at least the following 5 documents via email (1 text document, 4 or more python scripts/notebooks).
1 text document (PDF or txt or anything for text): For each of the 4 days, write a short paragraph (learning diary) to highlight your personal reflections about what you have found useful, which topic inspired you to go deeper, and more in general what you liked and what could be improved.
4 (or more) .py scripts/notebooks: For each of the 4 days take one code example from the course materials and make sure you can run it locally as a “.py” script or as a jupyter notebook. Modify it a bit according to what inspires you: adding more comments, testing the code with different inputs, expanding it with something related to your field of research. There is no right or wrong way of doing this, but please submit a python script/notebook that we are eventually able to run and test on our local computers.
These 5 (or more) documents should be sent before 31/December/2023 23:59CET to scip@aalto.fi. If the evaluation criteria are met for each of the 5 (or more) documents, you will receive a certificate by mid January 2023. Please note that we do not track course attendance and if you missed one session, recordings will be available on Twitch immediately after the streaming ends.
NEW! Credit fast track: if you submit your homework by 17/November/2023 23:59CET, you get the credit/certificate before 30/Nov. If you submit after the 17/Nov deadline, your credit/certificate will be processed in January (see previous paragraph).
Additional course info at: scip -at- aalto.fi
Schedule
The course consists of four online hands-on sessions 3h each. All times EET (convert 9:50 to your timezone). The schedule is tentative, we may run earlier or later, so join early if attending a single lesson.
Warning
Timezones! Times in this page in the Europe/Helsinki timezone. In Central Europe, the course starts at 8:50! (convert 9:50 Helsinki to your timezone)
(week before) Installation help sessions (for sites that offer them)
Please connect to all sessions 10 minutes early: icebreakers and intro already starts then.
Tue 7.nov, 9:50-13:00
10:00 Intro
10:15 Jupyter
11:00 NumPy (Mostly the basic lesson, but we might touch also topics from Advanced NumPy ).
12:10 pandas…
Wed 8.nov, 9:50-13:00
10:00 pandas continued
10:30 matplotlib
12:10 data formats
12:20 productivity tools
Thu 9.nov, 9:50-13:00
10:00 scripts
11:00 library ecosystem
11:10 dependency management
11:10 binder
Fri 10.nov, 9:50-13:00
Preparation
Prerequisites include basic programming in Python.
Software installation:
See the installation page of the course material.
In principle, if you are at Aalto, the service https://jupyter.cs.aalto.fi should be sufficient to do most of this course without any local installations. Perhaps not everything, but it will be OK for most people.
Zoom, if you are registered for one of the exercise sessions.
Mental preparation: Online workshops can be a productive format, but it takes some effort to get ready. Browse these resources:
Attending a livestream workshop, good to read in detail.
How to use HackMD to take answer questions and hold discussions.
It is useful to watch or read the Linux shell crash course, since these basic command line concepts are always useful.
Community standards
This is a large course, and we will have many diverse groups attending it. There will be people attending at all different levels, from “just learned Python” to “been using Python for a while and want to see some tips and tricks”. Everyone will choose their own path, some people will be more hands-on or more “watching”. Everyone is be both a teacher and a learner. Even our instructors are always learning things and make mistakes (and this is part of the point!). Please learn from our mistakes, too!
This course consists of both lectures, hands-on exercises, and demos. It is designed to have a range of basic to advanced topics: there should be something for everyone.
The main point this course is the exercises. If you are with a group, we hope people to work together and help each other. We expect everyone to help each other as best as they can with respect for different levels of knowledge - at the same time be aware of your own limitations. No one is better than anyone else, we just have different existing skills and backgrounds.
If there is anything wrong, tell us - HackMD is best. If you need to contact us privately, you can message the host on Zoom, instructor chat is via CodeRefinery chat, and by email contact CodeRefinery support. This could be as simple as “speak louder / text on screen is unreadable” or someone is creating a harmful learning environment.
Code of Conduct
We are committed to creating a friendly and respectful place for learning, teaching, and contributing. You can read our Code of Conduct here. If you need to report any violation of the code of conduct, you can email the organisers at scip _at_ aalto.fi, alternatively you can also use this web form.
Material
Contact
Registration inquiries: scip -at- aalto.fi
Other organizations who want to join as a partner: scip -at- aalto.fi
Chat with us on CodeRefinery chat (anyone) or Aalto University scicomp chat