Course ID: | PBIO(BINF)(FANR) 4700/6700. 3 hours. |
Course Title: | Computational Plant Science |
Course Description: | Introduces computational techniques to explore plant biology for students that are new to programming or do not regularly program. In doing so, the course introduces basic techniques that allow the simulation of plant growth from the cellular to the organismal level and the imaging analysis of plant morphology. |
Oasis Title: | Computational Plant Science |
Duplicate Credit: | Not open to students with credit in PBIO 4700H, BINF 4700H, FANR 4700H |
Pre or Corequisite: | UNIV 1108 or BIOS 2010 or BIOS 2010E or STAT 2000 or STAT 2000E or STAT 2100H or permission of department |
Semester Course Offered: | Offered spring semester every year. |
Grading System: | A-F (Traditional) |
|
Course Objectives: | The computational plant science course is designed for students who wish to learn simulation and imaging techniques with the programming language Python on the example of processes and characteristics observable in plants. Students will learn the principles of programming using examples from the plant sciences, including self-study resources that exist on the internet to generate simple growth patterns that generate Fibonacci sequences. Students will also learn some of the basic algorithms and programming concepts underlying the simulation of plant development and quantifying phenotypic diversity/variation from imaging data to understand how chemical reactions form phenotypes. In this context, students will also be exposed to the various definitions of traits in agricultural, ecological, and evolutionary biology senses and will critically review and discuss the ethical and scientific risks, benefits, and challenges of computationally simulating the evolution of traits of organisms in general.
Upon completion of the course, students will be able to analyze their own experimental data or simulate phenomena in their own research that cannot be fully observed with nowadays technologies. Previous examples from the class included morphogen distributions that simulate peach fruit growth, growth of moss patterns over seasons, or detecting new mites in genomic data. Students will be able to understand what current research in computational plant science is trying to accomplish and will be able to read and discuss with comprehension some of the research literature of the area. The class is taught in an active learning setting using only online open-source material. |
Topical Outline: | The first 6 weeks cover basic Python programming (for-loop, while-loop, if statement, variables data types, functions, and a little bit of object-oriented programming) by extending existing code step-by-step. In doing so, students will learn diffusion-limited aggregation as a basic process to grow branches and will observe Fibonacci sequences. The course code is commented in a way that students can learn from it. After the first 6 weeks, the class becomes more interest-driven. The
students will do mini projects depending on their level of programming and interest for either their own research projects (e.g., CURO research) or any area of interest within the scope of the class topic.
In the second part of the class, students do 4 weeks of procedural programming, basic data analysis, and some introduction to image processing and file handling. In learning that, students evaluate the patterns of the Grey-Scott-Model and use them to generate plant shapes on the basis of chemical reactions occurring in plants. Students finish the course with 3 weeks L-system modeling to generate the growth of plants that have a fractal structure.
The last lecture is a 4 hour discussion of the ethics resulting from the simulation of plants and the collection and generation of data with computers. |