SciPy 2023

Meet your coding best friend: VS Code💖 - A hands-on tutorial on how to get the most out of the world’s most popular Python editor
07-10, 13:30–17:30 (America/Chicago), Classroom 105

Visual Studio Code (VS Code) is a free code editor that runs on Windows, Linux, macOS and in your browser. This tutorial aims at Python programmers of all levels who are already using VS Code or are interested in doing so, and will take them from zero (installing VS Code) to a production setup for Python development. We will cover starter topics, such as customizing the UI and extensions, using code autocomplete, code navigation, debugging, and Jupyter Notebooks. We will also go into advanced use cases, such as remote development, pair programming via Live Share, Dev containers, GitHub Codespaces & more.


After this tutorial you will walk away with a fully equipped VS Code editor, ready to work on your next project or contribute to your favorite Scientific Python library. We will also cover tips and tricks for data science and visualization and some advanced features you may not have heard of yet.

We will cover the following topics:

The basics: VS Code editor and Python extension overview. We will show you how to set up your editor, where to find the most useful menus and settings, and how to set up your workspace to start developing. We’ll explain how to find and install our favorite extensions for Python, how to use VS Code with Git.

Scientific Python development tips and tricks. In the second hour, we will cover how to navigate and test your Python code like a pro. We will also cover some data science tools that will help you run your favorite data analysis projects directly in VS Code, as well as some GitHub features to test and document your code.

Advanced development Part I: Work where you want to. The third hour of the tutorial explains how to use the remote development extensions pack to hook up VS Code to a remote resource, like a powerful VM in the cloud, a local Linux instance, a Docker instance or GitHub Codespaces.

Advanced development Part II: Tools that make you look like you know magic. It’s time to have some fun and try out cool features for remote collaboration and code generation that will make you feel like the future is here.

Wrap-up & Epilogue. We’ll recap what we’ve learned in this tutorial and share reading and learning materials to help you on your VS Code journey.


Prerequisites –

All users need for this tutorial is a GitHub account and a web browser (works even on tablets):
- Create a free GitHub account (https://github.com/join)
- (Optional) bring your own tablet (e.g. iPad or Surface tablet) to use with VS Code
- Basic knowledge of Python and git will allow participants to take best advantage of this tutorial. No previous experience with VS Code is required.

Attendees who prefer installing software locally on their machine are asked to:
- Install VS Code (https://code.visualstudio.com/download)
- Install Python (https://www.python.org/downloads/)
- Install git (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)

Installation Instructions –

https://github.com/crazy4pi314/scipy-vscode-tutorial

Guen Prawiroatmodjo is a physicist and software engineer at Microsoft Quantum. She studied Applied Physics at Delft Technical University and obtained a PhD in condensed matter physics experiment from the Niels Bohr Institute at the University of Copenhagen in Denmark. Her expertise is in quantum device characterization and control at cryogenic temperatures for developing quantum computing elements, and has broad experience with software engineering, data engineering and data science in the context of experimental data acquisition and analysis. A large part of her role is educating her fellow physicists and engineers to level up their Python development skills by adopting software best practices in their work. Guen has given introductory talks and workshops on Quantum Computing at various conferences, hackathons and events. Guen is a co-organizer of the SciPy conference and serves on the Program committee.

Sarah has spent most of her career developing technology in the lab, from virtual reality hardware to satellites. She got her PhD in Physics by starting plasma fires with lasers, Python, and Jupyter Notebooks. She has also written tech books for folks of all ages, including ABCs of Engineering and Learn Quantum Computing with Python and Q#. As a Cloud Developer Advocate for Python at Microsoft and a Python Software Foundation Fellow, she finds all kinds of new ways to build and break OSS tools for data science and machine learning. When not at her split ergo keyboard, she loves boating in the Seattle area, laser cutting everything, and playing with her German Shepard, Chewie.

Leopold studied physics, and then spent a decade working as a computational materials scientist, solving nature’s riddles through atomistic simulations and writing software to make materials science more open, reproducible, and accessible. In 2021 he joined Microsoft Quantum to supercharge atomistic simulations via the cloud and, eventually, quantum computing. Leopold is a core contributor to the Python-based open-sourceAiiDA workflow manager as well as the Materials Cloud platform for seamless sharing of resources in computational materials science. He serves on the NumFOCUS committee for evaluating affiliated project applications and is co-chairing the chemistry & materials session at SciPy this year.

Besides talks at scientific conferences, Leopold organized AiiDA tutorials in Switzerland, the Netherlands, Norway, and China (sample video), including live hands-on lectures on how to code AiiDA plugins in Python.