/curriculum-notebooks

Jupyter notebooks for our Summer Experience and Club Curriculum.

Primary LanguageJupyter NotebookOtherNOASSERTION

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 PDFs. Take a look at the Lesson & Practice Key PDFs if you only want to view them quickly in your browser.

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 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

We have written a manuscript describing our curriculum and the development process. It is now available on bioRxiv. If you would like to cite our work, please use:

Duda et al., (2021). Teaching Python for Data Science: Collaborative development
of a modular & interactive curriculum. bioRxiv.
https://doi.org/10.1101/2021.06.17.448726

A bibtex entry for LaTeX users:

@article{duda_teaching_2021,
  title = {Teaching {{Python}} for {{Data Science}}: {{Collaborative}} Development of a Modular \& Interactive Curriculum},
  shorttitle = {Teaching {{Python}} for {{Data Science}}},
  author = {Duda, Marlena and Sovacool, Kelly L. and Farzaneh, Negar and Nguyen, Vy Kim and Haynes, Sarah E. and Falk, Hayley and Furman, Katherine L. and Walker, Logan A. and Diao, Rucheng and Oneka, Morgan and Drotos, Audrey C. and Woloshin, Alana and Dotson, Gabrielle A. and Kriebel, April and Meng, Lucy and Thiede, Stephanie N. and Lapp, Zena and Wolford, Brooke N.},
  year = {2021},
  month = jun,
  publisher = {{Cold Spring Harbor Laboratory}},
  doi = {10.1101/2021.06.17.448726},
  url = {https://doi.org/10.1101/2021.06.17.448726},
  journal = {bioRxiv},
  language = {en}
}