How to use this Jupyter Book


The Plants&Python learning materials are entirely contained on this website. The site is run using Jupyter Book, an open source project designed to display, format, and make collections of Jupyter notebooks interactive. All that is required to use these learning materials are 1) access to the internet and 2) a personal computer to run Jupyter locally.

On the left you will find a table of contents, which organizes the notebooks and which you can use to navigate the website. Click on any heading or sub-heading to access the associated notebook. For example, preceding this notebook in the preface are Welcome : Bienvenid@ notebooks explaining the motivation behind the course and course philosophy as well as a collection of notebooks titled Getting Started : Empezando, which explain how to download Anaconda, load in and run Jupyter notebooks locally on your computer, and how to write your first Python code in Jupyter using coding and markdown cells. These notebooks have embedded youtube videos as well as text and code that transcribe the contents of the videos. These transcriptions are intended to enhance the video tutorial experience and see the code written out in a Jupyter notebook as you watch and follow along. For those who have never coded before or used a Jupyter notebook, the video tutorial and instructions in the Getting Started : Empezando notebooks are meant to make the process self-explanatory.

Jupyter Book features


There are several ways to interact with and use this Jupyter notebook. In the upper right hand corner, there are several icons with utilities you can use.

Download Jupyter notebooks or PDFs

The preferred way to use these materials is to download them from the Plants&Python website and run them locally on your own computer. For any notebook, you can click on the download symbol and download the Jupyter notebook as an iPython file, .ipynb. Additionally, you can download file, as displayed online with executed code, as a PDF, .pdf.

Go to the github repository or open an issue

The notebooks underlying the webpages in the Jupyter Book are hosted on github, a repository hosting service for code. If you click on the repository option, you will be taken to the github repository and be able to download the .ipynb files used to create this website. You can also choose to open an issue on github if you find errors or mistakes in the materials.

Enter full screen mode

You can always click on the full screen mode icon to enter full screen mode.

Use Jupyter online

The rocket ship icon allows you to use the code in the Jupyter Book notebooks interactively online. Again, the preferred way to use these materials is to download the .ipynb file and run the notebooks locally. However, there might be something wrong with your computer, you are out of memory, or maybe there are compatibility issues running downloaded notebooks on your computer. In any of these instances, running the code on the website virtually is an option.

The first option to run code virtually online is binder, which makes Jupyter notebooks in a github repository interactive. Alternatively, you don’t have to leave the website to run binder! You can also select the Live Code option to run binder on the webpage you are already on. A note of caution: it takes a long time for binder to load and get up and running!

An alternative to binder that takes less time to load is Google Colab. Like binder, if you click this option, you will be taken to the Google Colab environment and you will be able to execute and edit the code displayed in the Jupyter Book.

Learning material organization


The course is divided into three main sections. The first four lessons cover coding essentials in Python by Dr. Dan Chitwood. These are the minimum learning objectives needed to use Python in a meaningful way. The next section teaches command line using a virtual terminal by Dr. Alejandra Rougon. These lessons empower students with Unix commands and familiarity with the command line interface. The final set of lessons covers bioinformatics by Dr. Bob VanBuren.

Each set of learning materials is slightly different, to accommodate each of the subject areas. But there are similarities in design from a flipped classroom perspective:

  1. There are pre-class lessons that center on video tutorials. The videos are meant to teach students not only the learning objectives, but to show how code is executed in practice. The videos are closed captioned (in both English and Spanish for the coding essentials and command line lessons). In the Jupyter Book there are transcripts in both text and code of what is covered in the videos, allowing students to follow along.

  2. There is also pre-class practice that students use to test their mastery of learning objectives that they learn in the video tutorials. In a class, these are submitted to the instructors before the in-class activity the next day and used to provide individualized feedback to students.

  3. Finally there are in-class activities. These are creative and exploratory exercises focusing on plant examples that students complete in class as a group. These activities are purposefully open-ended with no wrong answers intended to apply the learning objectives from the lessons and practice.

The above are structured for a traditional class setting but can be used by self-learners as well. We also note that Plants&Python was designed during the pandemic and taught multiple times at the undergraduate and graduate levels virtually and internationally. Inherent in assuming no knowledge of coding and starting with instructions of how to download Anaconda, these learning materials are designed to be as self-explanatory as possible, suitable for different contexts and purposes. In practice assigning a lesson per a day is a fast pace and it is a steep learning curve. However, student feedback indicates that they appreciate being exposed and immersed in coding. Mastering coding of course is an on-going, lifetime process. The purpose of Plants&Python is to get students up and running as quickly as possible with coding and to serve as a reference they can come back to as their careers progress. The materials are offered as they are and we hope students take something away, anything, that serves their goals and intended impacts.