python4astronomy

Course repository for the Python for Astronomy Spring 2025 Workshop

taught for BRIEF Boyce Astro Foundation by Chandru Narayan

m99

Welcome to Python for Astronomy Spring 2025 edition! 


The Cosmic Perspective

Workshop commences 8:00 PM Pacific Time Friday, Mar 28th, 2025. See below for details

Our workshop will cover a smattering of interesting or historically significant Astronomy topics in no particular sequence.  However, the main goal of this course is to teach critical college and research skills that you will need as a student & professional. We will attempt to develop these skills primarily on Astronomy related topics as you clearly are astro enthusiasts! The primary audience for this course are High School, College students, or Early Career professionals. We also care about accessibility of these resources across student communities who may be underrepresented and of a diverse socio economic background. We hope to keep these resources free and open for use as much as possible to anyone who may be interested. Please contact me at drunarayan@gmail.com if you would like to learn more about this course.

Skills we will teach include:

  1. Jupyter Notebooks (the backbone of JupyterLab)
  2. JupyterHub & JupyterLab (dev environment for Jupyter Notebooks adopted widely by universities)
  3. Markdown Syntax (dynamic text, images, video and code embedded publishing)
  4. LaTeX (web and github enables equation editor for research)
  5. Python (language of choice for data science and STEM publications)
  6. Matplotlib (plotting large amounts of data)
  7. Pandas & Numpy (dataframes and math libraries for Python)
  8. SQL (structured query language for querying astro databases)

We expect to run for a total of 5 sessions every Friday starting Mar 28th, 2025. Look for a Google Meet schedule links to be available at this page ahead of the workshop start date.

Please check this link below for ALL UPDATES.  I will try not to send emails or notifications for any updates.  All materials will show up on this link below.  So please bookmark it check it frequently.

Python for Astronomy Course Website (this site)

What is Jupyter?

If you are not familiar with Project Jupyter, Jupyter Notebook JupyterLab or JupyterHub, I highly recommend learning about them by following the embedded links.

All of the content provided here are accessible to you using a combination of technologies provided by Jupyter and Github where 83+ million researchers around the world come together to publish the share their work.

You will be accessing your own ‘virtual laptop’ hosted on a Google virtual machine somewhere in the globe to do your work. You class materials will be available to you there and you will store the products of your learning there and not on your physical computer from which you are accessing this course. Your work will be to modify the Jupyter Notebooks to add text, images, video, to write your own code, query and retrieve astronomical databases, analyze and plot your results graphically.

Create your JupyterLab Login for use later!

You will be logging into JupyterHub for getting workshop materials and creating your own Jupyter Notebooks.  Your username is simply <your first name>. followed by <your last name>. followed by the word p4a you provided in your registration. For instance, my username would be chandru.narayan.p4a. See & use the created usernames below. The first time you log in, create and type in any password you make up yourself.  That will become your actual password for this JupyterHub - please try not to forget it.  If you do, email me at dru.narayan@gmail.com, I will reset it. Please see created usernames below.

User Names created for the Spring 2025 Class

First Last eMail Username
Pat Boyce pat@boyce-astro.org pat.boyce.p4a
Abbas Mokhtarzadeh urmozd01@gmail.com abbas.mokhtarzadeh.p4a
Shengwen Zhang Shengwenzhang6@gmail.com shengwen.zhang.p4a
Karissa Belzer Karissa.belzer@gmail.com karissa.belzer.p4a
Mohamed Zeyada modyomar576@gmail.com mohamed.zeyada.p4a
Sabrina Baudart sabrina.baudart@gmail.com sabrina.baudart.p4a
Tyler Tuttle tntuttle11@gmail.com tyler.tuttle.p4a
Bingunmeh Gukuu bingunmeh@gmail.com bingunmeh.gukuu.p4a
Pranav Muthukumaran contactgrowthshow@gmail.com pranav.muthukumaran.p4a
Daniel Obajemu danielobajemua@gmail.com daniel.obajemu.p4a
Christopher. Rowe gso.astrowe@gmail.com christopher.rowe.p4a

Workshop organization & JupyterLab - your own virtual laptop in the sky!

The structure of this Workshop includes specific Projects below. These Projects provide access to multiple materials, including your own virtual laptop, Jupyter Notebooks, media files (images, video), presentations, PDF files, CSV files, database files and the like. Each Project wil have its own collection of content linked below. When you click on the very first project link below to get started!

When you do so, it will make your own initial copy to your JupyterHub account and allow you to edit and modify them. As you modify them, JupyterLab (the IDE inside JupyterHub) will keep track of the modifications and you should never lose your edits. It is highly recommended that you do not change the names of the notebooks or files as they are being tracked and version controlled. You can always return to this page to access any specific project below where you can access your latest edits. JupyterHub is widely used and state-of-the-art mechanism that universities use to manage Jupyter Notebooks and other course materials. It is expected that future courses taught by me for BRIEF Programs will provide access to the same user account you are using now.

Availability of JupyterLab Virtual Machine (Your Virtual Laptop)

Your virtual laptops will be online and available Thursday Morning 8:00 AM to Sunday Evening 11:00 PM each week. You will be able to login during these times and complete your assignments ahead of, during and after the web meeting sessions each week. At other times, the virtual machine will be taken down to reduce the cost of using the Google Cloud. If you have a special need, you can contact me and I will try and make accommodations.

Projects & Materials Access

Please complete these steps including Project 0 ahead of the first session

Projects Schedule

Project Topic Description
0 First Login to JupyterHub - What is JupyterLab - Jupyter Notebooks - Learn Basics - PLEASE COMPLETE AHEAD OF SEMINAR START DATE
1 Start your first project - Intro to Jupyter Markdown LaTeX Python Plotting
2 Tycho Brahe, Kepler, Newton and Elliptical Orbits - the most natural way to move
3 Star Magnitudes and Logarithms - change is everything
4 Gaia Query and plotting half-a-million stars in Sun’s immediate 200-parsec neighborhood
5 Hertzsprung Russell Diagrams of Star Clusters - the keystone of Astronomy
6 OPTIONAL: Hertzsprung Russell Diagrams of Star Clusters - SHOW & TELL STUDENT WORK!

Required Minimum Homework Schedule for each Project

Project Required Homework to complete
0 Intro to Jupyter Notebooks
1 Introduction to Plotting using Numpy & Matplotlib
2 a. Kepler 11 system of Exoplanets AND b. Trappist 1 system of Exoplanets
3 Star Magnitudes & Logratithms
4 GAIA Query & Hertzsprung Russell Diagram Plot of Half-a-million stars
Item Date Google Meet Link Google Recording Link
1 Fri, Apr 4, 2025 8:00 - 9:00 PM Pacific Time Google Meet link Google Meeting Recording
2 Fri, Apr 11, 2025 8:00 - 9:00 PM Pacific Time Google Meet link Google Meeting Recording
3 Fri, Apr 25, 2025 6:00 - 7:00 PM Pacific Time Google Meet link Google Meeting Recording TBA
4 Fri, May 02, 2025 6:00 - 7:00 PM Pacific Time Google Meet link Google Meeting Recording TBA
5 Fri, May 09, 2025 6:00 - 7:00 PM Pacific Time Google Meet link Google Meeting Recording TBA