DESIHIGH / desihigh

An introduction to DESI & Dark Energy for high schoolers with hot-off-the-telescope data! :telescope:
BSD 3-Clause "New" or "Revised" License
46 stars 80 forks source link

Developing a "Python Crash Course for DESI High" #71

Open eyu22 opened 3 years ago

eyu22 commented 3 years ago

Hello @michaelJwilson ,

I was wondering if you'd like any help with DESI High this summer, as I recently came up with an idea to possibly develop a short "DESI High Python Crash Course" geared toward students with no prior coding experience at all. Its goal would be to quickly teach students Python in the context of DESI, so that they can focus more on the science and data analysis aspects of the notebooks rather than feel overwhelmed by unfamiliar code. Instead of a typical comprehensive Python course, however, this "mini-course" would focus on the specific Python libraries and functions involved in the DESI High notebooks. 

At school, we use this website called "CodingBat" (created by a Stanford professor) that allows students to write and test code with the click of a button that runs specific test cases/inputs through it. If the code fails any test cases, then the student can compare their outputs with the expected outputs and access a "hint" button. Generally speaking, it's a pretty easy and interactive way to learn a programming language, as the exercises are usually short and users can create their own. I've created a little "demo" of an exercise here if you'd like to see it in action: https://codingbat.com/prob/p211268

I remember that as a beginner Python programmer, it took a bit of Googling to learn about all the functions used in the notebooks, and I think that this mini-course might be a fun and accessible way for more students to get involved with DESI High earlier on in their programming careers. I would be open to developing this on my own with your input as a sort of summer project, but as always I'm also happy to help in other ways. Either way, I'd love to hear what you think. Thanks, and I hope you're doing well!

michaelJwilson commented 3 years ago

Good evening Emma, good to hear from you. Hope you're doing well!

DESI is just about to officially start so we're all pulling our hair out right now, but something like this sounds great generally. We'll need to coordinate. We'll get something set up (note, I move back to the UK in June) and there's plenty to do.

I recently heard Chabot has a programming & research club. Did you consider that? We'll also be reaching out to Girls Who Code if it's of interest to you. Have a great weekend.

eyu22 commented 3 years ago

Wow, that's exciting news! Good luck with everything, and let me know if there's anything I can help with in the meantime. I'll follow up on this later (when it gets closer to summer break)!

eyu22 commented 3 years ago

Hi Mike, Glad to hear things are going well. I'll use this thread to communicate as much as possible going forward. I just have a couple of quick updates:

  1. I'd absolutely love to work on the science aspect as well! Let me know what that might entail.
  2. I checked Chabot's website and unfortunately applications for the current ongoing session have already closed, but they seem like a cool group. Nonetheless, I'm happy to just help out on the DESI High side as well.
  3. How exactly do I push to the sandbox on this repo? Is it similar to creating a pull request? I'm still in the process of learning Git and GitHub, so thanks in advance!
  4. Lastly, I just want to give you a quick heads-up that I'll be offline on vacation the week of 7/3-7/10. I hope this isn't too much of an inconvenience, but once I get back I'll be good to go for the rest of summer.
michaelJwilson commented 3 years ago

Great! I've put you in touch with the Chabot group.

Yes, apologies for the inaccuracy. I mean create a PR in this case, which would be easiest.
You're doing just fine with the getting up to speed!

Enjoy your vacation!

eyu22 commented 3 years ago

Hi Mike,

I just want to let you know I played around with CodingBat last week and was able to set up a custom page for the crash course here: https://codingbat.com/home/lowellastroclub@gmail.com/desi-high-demo

As of now, I've finished the first unit (which I've switched the order of to make more sense with CodingBat's style). The website will update as I add more problems, so feel free to check in each week or so. I've actually found a bunch of pre-made problems that I'll include as well, so everything's been pretty fun and easy so far. Hope things are going well!