Skip to content

GWC-DCMB/curriculum-notebooks

Repository files navigation

curriculum-notebooks

build check license DOI

Our Club and Summer Experience formats cover slightly different topics with significant overlap. This repo contains all of the Jupyter notebooks used in either or both of them. For the exact curriculum order & topics covered, see the corresponding repos:

The Lessons directory contains live coding demos meant to introduce each topic in ~15 minute interactive mini-lessons. These lessons are delivered in Jupyter Notebooks in a "fill in the blanks" style. Instructors will guide students through each lesson and the students will follow along, filling in the blanks on their own documents as we go.

The Practices directory contains practice exercises for students to spend ~30 minutes to solidify skills taught in each mini-lesson. These practices are delivered in Jupyter Notebooks in a "fill in the blanks" style. Students will work with partners/groups to fill in blanks within the documents, using code from the corresponding lesson as a resource. Instructors will work closely with students to help them complete and understand each practice.

Both Lessons and Practices directories contain _Keys subdirectories with correctly completed versions of each exercise. Sometimes GitHub doesn't render Jupyter notebooks in a timely manner, so we use continuous integration to compile all notebook keys to HTML. View the rendered keys here.

Links

Lesson Video Lesson Notebook Practice Notebook
Module I: Jupyter Setup
1 https://youtu.be/plRRJ1zupgI None, just watch the video. Practice01 Jupyter Setup
Module II: Coding Fundamentals
2 https://youtu.be/czhcehpotos Lesson02 HelloWorld and Variables Practice02 HelloWorld and Variables
3 https://youtu.be/cGVIyeGv2bw Lesson03 Variables and Types Practice03 Variables and Types
4 https://youtu.be/xY51hfthvrw Lesson04 Lists Intro Practice04 Lists Intro
5 https://youtu.be/g9U_q5yWjrQ Lesson05 Indexing Practice05 Indexing
6 Lesson06 2D Lists Intro (legacy lesson) Practice06 2D Lists Intro
7 Lesson07 2D Lists Indexing (legacy lesson) Practice07 2D Lists Indexing
8 https://youtu.be/WLhDlhKFB9Q Lesson08 Logic Practice08 Logic
9 https://youtu.be/8oNvm0wxSQI Lesson09 Conditionals Practice09 Conditionals
10 https://youtu.be/DWKg4zxW47k Lesson10 Loops I Practice10 Loops I
11 https://youtu.be/uq5O70xnDO4 Lesson11 Loops II Practice11 Loops II
12 https://youtu.be/5bSf_BbBjms Lesson12 Using Functions and Methods Practice12 Using Functions and Methods
Module III: Data Science Essentials
13 https://youtu.be/QKno1TQwfWg Lesson13 Packages Practice13 Packages
14 https://youtu.be/-zY18Hlhpho Lesson14 Pandas Intro Practice14 Pandas Intro
15 https://youtu.be/3NUfZWbTCnc Lesson15 Pandas Reading Practice15 Pandas Reading
16 https://youtu.be/RbJzkDfo-yY Lesson16 Pandas Subsetting I Practice16 Pandas Subsetting I
17 https://youtu.be/4RnR65I3Xmg Lesson17 Pandas Subsetting II Practice17 Pandas Subsetting II
18 https://youtu.be/PoGMlBSRGEE Lesson18 Dictionaries Practice18 Dictionaries
19 https://youtu.be/98lgF7doe-c Lesson19 Writing Functions Practice19 Writing Functions
20 https://youtu.be/qzTN0qEhMwk Lesson20 Numpy Intro Practice20 Numpy Intro
Module IV: Basic Statistical Analysis
21 https://youtu.be/qA4NCfefbQg Lesson21 Averages Practice21 Averages
22 https://youtu.be/g-Jto81Ei0c Lesson22 Percents Practice22 Percents
23 https://youtu.be/JBuVUdpTHoY Lesson23 Correlations Practice23 Correlations
24 https://youtu.be/j5P5THwDR_Q Lesson24 Significance Practice24 Significance
Module V: Data Visualization
25 https://youtu.be/I8R8v0-_xmY Lesson25 Line Graphs Practice25 Line Graphs
26 https://youtu.be/pFTh8bfezVw Lesson26 Scatterplots Practice26 Scatterplots
27 https://youtu.be/p7EsFg0aMRs Lesson27 Bar Charts and Histograms Practice27 Bar Charts and Histograms

Help & Contributing

If you need help getting started or using the material, feel free to open an issue or send us an email and we'll be happy to help!

If you come across a bug, open an issue and include a minimal reproducible example.

If you’d like to contribute, see our guidelines.

Code of Conduct

Please note that this curriculum is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Citation

The paper describing our curriculum and the development process is out in JOSE! If you would like to cite our work, please use:

Duda & Sovacool et al., (2021). Teaching Python for Data Science: Collaborative development of a modular & interactive curriculum. Journal of Open Source Education, 4(46), 138, https://doi.org/10.21105/jose.00138

A bibtex entry for LaTeX users:

@article{duda_teaching_2021,
  doi = {10.21105/jose.00138},
  url = {https://doi.org/10.21105/jose.00138},
  year = {2021},
  publisher = {The Open Journal},
  volume = {4},
  number = {46},
  pages = {138},
  author = {Marlena Duda and Kelly Sovacool and Negar Farzaneh and Vy Nguyen and Sarah Haynes and Hayley Falk and Katherine Furman and Logan Walker and Rucheng Diao and Morgan Oneka and Audrey Drotos and Alana Woloshin and Gabrielle Dotson and April Kriebel and Lucy Meng and Stephanie Thiede and Zena Lapp and Brooke Wolford},
  title = {Teaching Python for Data Science: Collaborative development of a modular & interactive curriculum},
  journal = {Journal of Open Source Education}
}