# Python for scientific computing November 2024 Unless differently written in this hackmd document, what is written at https://scicomp.aalto.fi/training/scip/python-for-scicomp-2024/ is the truth ## Team meeting Let's meet at least 2 weeks before the event. Doodle posted on chat, reminder on Monday ### Agenda 18/10/2024 9am CEST / 10am EEST 1. Finalizing schedule (let's use the section below) - notes https://notes.coderefinery.org/python2024 2. Assigning instructors and updating web pages with their names (also helpers and other roles such as video post-production) 3. Help with communication (who can email who?) ## Major Changes - Removal of Anaconda - Alternative installation and startup of jupyter on windows (no more anaconda launcher) - Update of the environment (removal of defaults, move to conda-forge) - move from miniconda to miniforge ## Schedule (in EET, Oslo+1) ### installation help - we should test installations - we provide an [environment.yml](https://raw.githubusercontent.com/AaltoSciComp/python-for-scicomp/master/software/environment.yml) which we need to update and test - [Miniforge](https://conda-forge.org/download/)/mamba instead of miniconda - EG to update the installation page and test on windows. I can create tasks for other tests (linux, mac). - remember that windows needs a "good" terminal and point people to crash course on terminal/bash (but most things will be done via jupyter until those lessons that are on command line) - I think powershell is ok for most things - Check, whether we use bash commands that don't work on windows - should everything be also pip-installable (requirements.txt)? - let's not rely on pip - our official install method will be from environment.yml - how to start jupyter without gui thing since we don't have anaconda navigator ### Two installation sessions - Fri 1.nov - 12:00 EET Enrico can be there - Mon 4.nov - (should we use the CR meeting time? 15:00 EET) +1 - RB: good idea. Then chances are higher that people have time and it also raises awareness about the workshop to the rest of team. +1 ### Tue 5.nov, 9:50-15:00 - 09:50 Icebreaker - 10:00 Intro (Enrico + Richard) - Mention how we present the most common tools, but there are many more specific things for different fields. - 10:15 Jupyter (DI, RD) - DI: I could [co-]teach this lesson - 11:00 NumPy (YW/AM) - Mention of advanced numpy material/recording. - 12:00 Lunch break - 13:00 Pandas (ST, RD/JR) - We could also mention [pola.rs](https://pola.rs/) as an advanced alternative at the end of the session. - 14:30 xarray (Gregor and Marijn) - Gregor and Marijn have been working on Xarray and would love to teach that here. - 15:00 End of day 1 ## Wed 6.nov, 9:50-15:00 - 09:50 Icebreaker (RD, EG, morning teachers) - 10:00 Working with data (TP, ST) - (data formats, issues like lossy csvs, json and unstructured formats, link from previous day to what we need for the plotting coming next) - Q: do we need a new (short) page to guide the listeners? - let's think about this, it doesn't have to be a rewrite of the data formats page, more like some considerations / "slides" for the lesson before going to plotting - 10:30 Plotting with vega-altair (RB, RD) - New lesson, higher level (leave matplotlib for reference) - Check about math equations and exporting files. Since V-A comes more from the data science community. - we also have all previous years videos which are still very good (there are alternatives for everything in python) - experience from other courses: Vega-Altair seems easier to understand and predict for beginners and interfaces very nicely with Pandas - 12:00 Lunch break - 13:00 scripts (TP, YW) - 14:00 Python productivity tools (GD, RB) - 40 min on profiling (from this 20 min are exercise) - 20 min about autoformatting, linting, AI tools (only discussion and demo) - 15:00 End of day 2 ## Thu 7.nov, 9:50-15:00 - icebreaker (RD+EG+morning teachers) - 10:00 library ecosystem (TP, ?) - reminder https://aaltoscicomp.github.io/python-for-scicomp/libraries/ - mention jax (and other things here) - pytorch? used a lot at least at Aalto (even just how to install it :) and tocpu vs tocuda computations) - Mention that there are many options for everything we present. - Maybe a demo on a specific subfield? EG can check what people have requested in registrations. - Final decision: general overview (10mins) + make the exercise slot longer - 10:30 dependency management (RB, SR) - RB preparing but lesson is not updated yet but no "breaking changes" - 11:15 ? - RB: this was previously for dependency management but 90 mins is too long. - 12:00 Lunch break - 13:00 Parallel programming (JH, RD) - 20 min intro (5 min general, ) - 25 min exercises - 15 min exercise demos and discussion - 14:00 packaging (AM, RD) - 15 min getting started (demo, to be done in exercise) - 15 min exercise - 10 min PyPI upload (demo) - 5 min conda package (why you would, how conda-forge is used, etc) - 5 min wrap up? - 14:50 Outro (RD+EG+everyone else) - 15:00 End of day 3 ## Assigning roles ("deputy" means if main is not available then deputy takes over) - Coordinator: Enrico (deputy: Richard) - registrations - communication with participants - assigns lessons and tasks - Streamer: Richard (deputy: Enrico) - zoom studio room - any streaming related things - twitch related things - Communication - Finland: Enrico - Norway: Sabry - Sweden: Diana - Denmark - Estonia: - Social media: - Instructors: - ... - ... - ... - ... ---- ## EMAIL TO PARTICIPANTS 1 week before Thank you for registering for “Python for Scientific Computing” 5-7/November/2024. In exactly one week we start! Isn't it exciting? (=^ェ^=) Please read this email carefully since there is everything you need to get the maximum out of this course. **Before the workshop** Please make sure you have a working python installation (and the extra required packages) on your computer. Follow instructions at https://aaltoscicomp.github.io/python-for-scicomp/installation/ **During the workshop** You will need **three windows** for 1) following the streaming, 2) interacting with instructors and helpers, 3) running your python code. **#1** -- Please connect with your browser to https://twitch.tv/coderefinery on 5-7 November at 08:50 CET (Stockholm) / 09:50 EET (Helsinki). Convert to your timezone with this link https://arewemeetingyet.com/Helsinki/2024-11-05/09:50/Python%20for%20Scientific%20Computing **#2** -- During the workshop keep this open: https://notes.coderefinery.org/python2024 This is a shared notepad for questions and answer. You can test it already by clicking the “pencil” icon. You fill find some answers to questions asked via the registration form. **#3** -- Start jupyter or your favorite Python IDE. If you are unsure, see instructions at https://aaltoscicomp.github.io/python-for-scicomp/installation/#verification-of-python-and-jupyterlab **Peer learning** We encourage peer learning: Join with your friends and colleagues, online or in-person, and watch the stream and do the exercises together. Due to the high number of registrations, we cannot offer a common physical space or an open Zoom room, but you can always create your own watching spaces. Peer learning is not mandatory, the course will be streamed only via Twitch and the shared Q&A notes will always be the primary source of help. **Credit/certificate** If you are a student currently affiliated with a higher education institution, you can request a credit/certificate. Please see instructions at https://scicomp.aalto.fi/training/scip/python-for-scicomp-2023/#credits ``` IF email address does not belong to partner org; THEN ``` **Support** If you are having troubles with the python installation, please request help from your local support, show them the installation page and they can probably help. If they want to sponsor the course for your organization, tell them to get in contact with us! ``` ELSE ``` **Support** If you are having troubles with the python installation, join one of our two installation sessions. INSTALL1) Friday 1/11 12:00 CET (13:00 Helsinki time) https://aalto.zoom.us/j/69608324491 INSTALL2) Monday 4/11 14:00 CET (15:00 Helsinki time) https://aalto.zoom.us/j/69608324491 ``` FI ``` If you need to contact us for any other reason, please email scip@aalto.fi See you in one week! Aalto Scientific Computing/CodeRefinery -- **Privacy** You are receiving this email because you have registered to our course. We will send daily reminders and a final course survey. If your plans have changed and you wish to not receive these emails anymore, please let us know by simply replying to this email and we will remove your email address. We follow Aalto University privacy policy for events https://www.aalto.fi/en/services/privacy-notices.