Nov 22nd - Nov 25th 2022 / Python for Scientific Computing¶
News and Important info
Livestream (join here): https://twitch.tv/coderefinery
Course material: https://aaltoscicomp.github.io/python-for-scicomp/
During the event:
Open the livestream https://twitch.tv/coderefinery . Watch this, this is the main “home base”.
If you registered, open the HackMD notes link (this is used to ask questions).
Optional: If you registered for exercise sessions, open that Zoom session. This is only active during exercise sessions, you will get instructions.
News
Day 3: Today was good, we went over the things as listed on the schedule. Tomorrow we switch focuses to the use and reuse of software, not the programming itself. This is still extremely useful and quite important for your future career, so even if days 1-3 were too simple or advanced, day 4 is for you!
Day 2: We did the lessons seen on the schedule. There is no special preparation for tomorrow.
Day 1: we covered what was on the schedule (jupyter, pandas, matplotlib). For day 2 preparation, try to fix any installation issues from day 1, go over the basic Numpy lesson if the advanced was too complex, and optionally read more about Tidy Data.
7/11: We have added the possibility to get 1 ECTS credit.
For more live updates, follow Coderefinery Mastodon (more updates) or CodeRefine (not -ry) Twitter (fewer updates).
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).
Videos will be at Twitch for 7 days immediately and this YouTube playlist later the same day.
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)
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. 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 and registration is free for all to watch in the spirit of open science and education, but certain partners provide extra benefits for their own audience:
Aalto University: in-person exercise session, dedicated Zoom. General registration.
Finnish and other Nordic universities: Aalto services available for you (see above). General registration.
ENCCS and SNIC: Dedicated Zoom with expert helpers for participants from Sweden - register here.
Your organization - contact us to get listed here!
Others: General registration link below.
Staff and partner organizations:
Richard Darst (ASC, Aalto University) (instructor, instructor coordinator, director)
Enrico Glerean (ASC, Aalto University) (registration coordinator, communication, helper)
Johan Hellsvik (PDC, SNIC, KTH) (instructor, helper)
Diana Iusan (UPPMAX, SNIC, Uppsala University) (instructor, helper, Swedish participants’ coordinator)
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)
Marijn van Vliet (NBE, Aalto University) (instructor, helper)
Thor Wikfeldt (ENCCS, RISE) (instructor, helper, Swedish participants’ coordinator)
Practical information¶
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 HackMD link (collaborative edited notes) which is used for asking questions during the course. Certain partners have extra registration possibilities (in-person exercise rooms, Zoom for support). The actual material is here.
General registration (but check partner registration above): Please register here. While the stream is available even without providing personal data, if you register you may get HackMD 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 25/11/2022, 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/2022 23:59CET to enrico.glerean@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.
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.
(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 22.nov, 9:50-13:00
10:00 Intro
10:15 Jupyter
11:00 Advanced NumPy (new lesson for this year, please browse the basic numpy lesson material here yourself as a prerequisite).
12:10 pandas…
Wed 23.nov, 9:50-13:00
10:00 pandas continued
10:30 matplotlib
12:10 data formats
Thu 24.nov, 9:50-13:00
10:00 scripts
11:00 library ecosystem
11:20 web APIs
12:10 parallel…
Fri 25.nov, 9:50-13:00
… parallel continued(?)
10:00 dependency management
11:10 binder
11:50 packaging
12:30 panel discussion or buffer time?
12:50 Outro
13:00 After-party/discussion in zoom (watch chat/HackMD for link)
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