A flipped classroom introduction to Python inspired by and for life sciences

Course Materials
ejamezquita.github.io/plnt_sci2500

University of Missouri logo

Setting and Setup
Python and Jupyter—license-free tools

Logo for Python, the programming language Logo for Jupyter, the coding platform

  • Course open to all undergrads across all majors.
  • College Algebra (MAT 1100) is the only pre-requisite.
  • No prior statistics or coding experience is assumed.
  • Two 75-minute sessions per week through 16 weeks.
  • Course fully based in Python with Jupyter Notebooks.

Open-access, example-driven lessons

Relationship between Julian days when flowering specimens of Salix and Polemonium were collected in each of 25 historic contact zones in the Colorado Rocky Mountains (USA).

  • Python and data science as means to an end.
  • Class discussion driven by biology-oriented open-access papers with publicly available data.
  • Students associate content to real-life situations.
  • Expose students to data literacy and visualization.
  • Papers co-authored by Mizzou's faculty: promote the exciting research done on campus.

Acknowledgements

The class materials are heavily inspired by those of CMSE 201 - Introduction to Computational Modeling at Michigan State University and by Plants & Python.

References

Kettenbach JA, Miller-Struttmann N, Moffett Z, Galen C (2017). How shrub encroachment under climate change could threaten pollination services for alpine wildflowers. Ecol Evol. 7: 6963–6971.


Active Learning: Pre-Class Assignments

  • Students watch videos and comment working code:
     — Python programming and Python packages
     — Data wrangling, analysis, and visualization
     — Mathematical modeling and statistics
     — Common statistical misconceptions and pitfalls

Active Learning: In-Class Assignments

  • Students apply the concepts to various datasets to reproduce open-access published results.
  • Encourage them to work in groups and peer-learning.

Conclusions and future directions

Screenshot of the in-class assignment on correlations. The screenshot hightlights Python code to plot correlated data and compute its Pearson coefficient.

  • No prior experience in biology, data science, or coding assumed, welcoming students from every background.
  • Python and Jupyter are open-source technologies, with no licensing barriers and plenty of free support.
  • Lessons are drawn from open-access papers, avoiding thus any paywalls and promoting open science.