Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenIntro: Building, Sustaining, Supporting, and Growing Open-Source Educational Resources

OpenIntro: Building, Sustaining, Supporting, and Growing Open-Source Educational Resources

OpenIntro’s (openintro.org) mission is to make educational products that are free and transparent and that lower barriers to education. The products include textbooks (in print and online), supporting resources for instructors as well as for students. In this talk we will discuss how the OpenIntro project has shaped and grown over the years, our process for developing and publishing open-source textbooks at the high school and college level, and our computing resources such as interactive R tutorials and R packages as well as labs in various languages. We will also give an overview of our project organisation and tooling for authoring, collaboration, and maintenance, much of which is built with R, R Markdown, Git, and GitHub. Finally, we will discuss opportunities for getting involved for educators and students contributing to the development of open-source educational resources under the OpenIntro umbrella and beyond.


Mine Cetinkaya-Rundel

August 08, 2021


  1. Building, Sustaining, Supporting , and Growing Open-Source Educational Resources mine-cetinkaya-rundel

    cetinkaya.mine@gmail.com @minebocek 🔗 bit.ly/openintro-jsm2021 mine çetinkaya-runde l duke university & rstudio
  2. OpenIntro’s mission is to make educational products that are free,

    transparent, and lower barriers to education. mission 🔗 bit.ly/openintro-jsm2021
  3. openintro.org 🔗 bit.ly/openintro-jsm2021

  4. team 🔗 bit.ly/openintro-jsm2021

  5. books labs & tutorials other packages 🔗 bit.ly/openintro-jsm2021

  6. Preliminary Edition how it started how it’s going 🔗 bit.ly/openintro-jsm2021

  7. Preliminary Edition First Edition Second Edition First Edition First Edition

    🔗 bit.ly/openintro-jsm2021
  8. ๏Applications as motivation ๏Real, recent, relatable datasets ๏Emphasis on data

    exploration, multivariable relationships, and statistical reasoning ๏Guided practices and worked examples interspersed in text ๏Lots of end of chapter exercises, with solutions to odd numbered questions in the back pedagogy 🔗 bit.ly/openintro-jsm2021
  9. license 🔗 bit.ly/openintro-jsm2021

  10. ๏HTML textbook freely available ๏PDF also freely available — distributed

    through LeanPub with a suggested donation (min $0) ๏Paperback available at low cost — cost of printing + minimal royalty that goes back to OpenIntro (US-based nonpro fi t) “business” model 🔗 bit.ly/openintro-jsm2021
  11. ๏Each chapter its own Rmd fi le ๏Output to HTML

    and PDF with the same source code (and lots of customization!) how it’s made 🔗 bit.ly/openintro-jsm2021
  12. how it looks 🔗 bit.ly/openintro-jsm2021

  13. custom blocks ๏Challenge: Achieve similar looking custom blocks in HTML

    and PDF output ๏Solution: Fenced div blocks + Custom blocks chapter of the R Markdown Cookbook 🔗 bit.ly/openintro-useR2021 ::: {.guidedpractice data-latex=""} ::: Rmd .guidedpractice { padding: 1em 1em 1em 4em; margin-top: 30px; margin-bottom: 30px; background: #f8f8f8 5px center/3em no-repeat; border-top: 1px solid #569BBD; /* openintro::COL[1,1] */ border-bottom: 1px solid #569BBD; /* openintro::COL[1,1] */ background-image: url("../images/_icons/guided-practice.png"); background-position: 0.5em 1em; } .guidedpractice:before { content: "Guided practice"; clear: right; display: block; font-weight: bold; font-variant: small-caps; color: #569BBD; } CSS \newenvironment{guidedpractice}{ \vspace{4mm} \begin{mdframedwithfootGPWE} \begin{minipage}[t]{0.10\textwidth} {$\:$ \\ \setkeys{Gin}{width=2.5em,keepaspectratio} \includegraphics{images/_icons/guided-practice.png}} \end{minipage} \hfill \begin{minipage}[t]{0.90\textwidth} \vspace{-2mm} \setlength{\parskip}{1em} \noindent\textbf{\color{oiB}\small\fontfamily{phv} \selectfont{\MakeUppercase{Guided Practice}}} $\:$ \\ \\ } {\end{minipage} \end{mdframedwithfootGPWE} \vspace{4mm} } LaTeX
  14. plots ๏Challenge: A consistent and branded look for plots ๏Solution:

    De fi ne theme_openintro() and rede fi ne ggplot2 defaults ggplot2::update_geom_defaults("point", list(color = openintro::IMSCOL["blue","full"], fill = openintro::IMSCOL["blue","full"])) ggplot2::update_geom_defaults("bar", list(fill = openintro::IMSCOL["blue","full"], color = "#FFFFFF")) ggplot2::update_geom_defaults("col", list(fill = openintro::IMSCOL["blue","full"], color = "#FFFFFF")) ggplot2::update_geom_defaults("boxplot", list(color = openintro::IMSCOL["blue","full"])) ggplot2::update_geom_defaults("density", list(color = openintro::IMSCOL["blue","full"])) ggplot2::update_geom_defaults("line", list(color = openintro::IMSCOL["gray", "full"])) ggplot2::update_geom_defaults("smooth", list(color = openintro::IMSCOL["gray", "full"])) ggplot2::update_geom_defaults("dotplot", list(color = openintro::IMSCOL["blue","full"], fill = openintro::IMSCOL["blue","full"])) 🔗 bit.ly/openintro-jsm2021
  15. exercises ๏Challenge: Reproducibility while still not making all solutions publicly

    available ๏Solution: Develop in a separate (private) exercise bank and automate generating book fi les … For book (public): ๏All questions (_Q) ๏Short answers for odd numbered exercises (_SA) ๏Source code available For veri fi ed instructors (private): ๏Full solutions for all exercises (_A) ๏Only output available 🔗 bit.ly/openintro-jsm2021
  16. Inclusivity & accessibility ๏ Real and high quality data, especially

    in examples on applications that touch human lives ๏ Case studies on topics of societal importance without trivializing the multifaceted issues that underpin them ๏ Random names generated from culturally diverse sources ๏ Avoid gender stereotypes and gendered pronouns ๏ Color-blind friendly color scheme and alt-text on images 🔗 bit.ly/openintro-jsm2021
  17. books labs & tutorials other packages 🔗 bit.ly/openintro-jsm2021

  18. ๏Challenge: Promote computing (with R) while also providing a textbook

    is language agnostic and can be used in courses that do not teach computing ๏Solution 1: Computational labs (case studies) provided separately, but linked throughout the book labs 🔗 bit.ly/openintro-jsm2021
  19. ๏Challenge: Promote computing (with R) while also providing a textbook

    is language agnostic and can be used in courses that do not teach computing ๏Solution 2: Supplement with interactive R tutorials developed with learnr tutorials 🔗 bit.ly/openintro-jsm2021
  20. books labs & tutorials other packages 🔗 bit.ly/openintro-jsm2021

  21. 🔗 bit.ly/openintro-jsm2021

  22. Depends: R (>= 2.10), airports, cherryblossom, usdata + 🔗 bit.ly/openintro-jsm2021

  23. books labs & tutorials other packages 🔗 bit.ly/openintro-jsm2021

  24. ๏Veri fi ed teacher resources: slides, sample exams, full solutions

    ๏Forums ๏New venture: Non-stats textbooks ๏… 🔗 bit.ly/openintro-jsm2021
  25. contributing 🔗 bit.ly/openintro-jsm2021

  26. ๏Open an issue ๏Make a pull request github.com/openintrostat 🔗 bit.ly/openintro-jsm2021

  27. openintro.org ๏Send feedback ๏Report a typo 🔗 bit.ly/openintro-jsm2021

  28. openintro.org/teachers/get_involved ๏Datasets: Data hunter ๏Exams: Exam contributor ๏Exercises: ๏ Exercise

    contributor ๏ MyOpenMath exercise conversion ๏Labs: ๏ Lab solution developer ๏ New software owner ๏ New lab developer ๏Modules: ๏ Module developer ๏ Module editor ๏Translation ๏Your ideas? 🔗 bit.ly/openintro-jsm2021
  29. thank you! mine-cetinkaya-rundel cetinkaya.mine@gmail.com @minebocek mine çetinkaya-runde l duke university

    & rstudio 🔗 bit.ly/openintro-jsm2021