BIOL 638 (NJIT) and 48:120:638 (Rutgers)
Computational Ecology
Spring 2009

  • Learn the basics of compuation, as well as ecological theories and models, by exploring them in an interactive, visual environment.
  • Learn to use Mathematica, a multi-purpose programming package.
  • Adapt and apply what you’ve learned to your research.

Course details

Credits: 3

Prerequisites: Instructor permission. Students for this course come from diverse backgrounds. Its 'core' audience is graduate students in ecology and evolution, but it can and has been taken by graduate students in other fields of biology, as well as mathematics, biomedical sciences and others. It is also open to senior undergraduates with sufficient background in either math/computation, ecology and evolution, or both.

Schedule: Class meets Thursday evenings, 6:00 top 9:00, in 425 Colton Hall on the NJIT campus.

Office hours: By appointment.

Grading and exams

There will be a regular series of homework assignments in the first half of the semester and a term paper due at the end of the semester. The grading will be as follows:

Component
Grade percentage
Homeworks
50
Term paper
40
Participation in class
10

Please note that in-class participation is very important! This is a small, seminar-type class with hands-on exercises, so everyone should be engaged in discussions.

Textbooks

There is no required textbook: instead a series of 'notebooks' (computer files) will be provided. However the following supplemental texts are recommended, especially for students without a strong background in quantitative ecology.

  • An Illustrated Guide to Theoretical Ecology by Ted Case.
  • A Primer of Ecological Theory by Joan Roughgarden.

Software

This course requires that students work in the Mathematica propgramming environment. The course is taught in a computer classroom with machines that have Mathematica installed, and students can work on their own time on any machine in an NJIT computer lab. However, many students find it convenient to purchase a student edition of Mathematica and use their own computers, either for homework or even in the classroom itself. The student edition (which has no limitations) can be purchased direct from Wolfram Research (www.wolfram.com) in versions that last a semester, a year, or indefinitely.

Syllabus

  • This syllabus is a general outline. Exact timings may change if we go slower or faster than anticipated on some topics. Check back with this page for updates.
  • Homeworks are due by 9am Wednesday morning of the week after they are assigned.

Week 1 (1/22)

Class outline.

Computation: Introduction. Mathematica as an environment. Notebooks, document structure and formatting. Executing code. Finding help. Examples of computation in ecological research. How computers store and work with numbers. Symbols and symbolic computation. Mathematical representation vs. computer code. Functions. Nesting. Everything is a function! The importance of 'play.'

Ecology: Ecological units, and how we might code them for computation. Models, assumptions and approximations.

  • In-class activity: Format the notebook for your class notes. Set it up with a title, headings, etc.
  • Homework 1: Go through "Hands on Start to Mathematica," following along in a notebook.
  • Homework 2: Find a data file with numeric or textual data (or both) to bring to the next class. Could be a text file, an Excel document, even a binary file. No pictures.
  • Turn in your notebook and proposed data file (so I can check it for suitability for the next class).

Week 2 (1/29)

Class outline.

Computation: Review of numbers and symbols. Text. Lists and parts of lists. Table vs. Map. Extracting elements and pattern matching. Vectors and matrices. Importing and manipulating data. ListPlots and ArrayPlots.

Ecology: More on ecological units. Models, assumptions and approximations. Common types of ecological data: populations, communities, distributions, interactions. Graphical representations of ecological data.

  • In-class activity: Import your data, and play with it. Change the way it's coded, extract different subsets, make graphics.
  • Homework : Creating, manipulating and plotting lists and matrices.
  • Turn in your class notes and your homework exercise.

Week 3 (2/5)

Class outline.

Computation: Continuation of lists. Reformatting data. Functions. Writing your own functions. Continuous functions. Plotting continuous functions. Pure functions. Nesting functions and the "Nest" function.

Ecology: Single-species population models — discrete time. Discrete and continuous individuals. Geometric growth.

  • In-class activity: Continue manipulation and plotting of your data.
  • Homework : Discrete-time population growth.
  • Turn in the notebook in which you have explored your data file as well as your homework.

Week 4 (2/12)

Class replaced by individual instruction.

Week 5 (2/19)

Class outline.

Computation: More on nesting. Random numbers. Graphics. The structure of graphics. Functions with options. Interactive graphics with Manipulate. Intoduction to calculus. Differential equations. Symbolic vs. numeric solving (integration).

Ecology: Continuous-time population growth. Adding discrete space to population models. Discrete diffusion on a lattice. Types of boundaries.

  • In-class activity: None.
  • Homework: Write proposal for term paper.

Week 6 (2/26)

Computation: More on differential equations and symbolic vs. numeric solving (integration).

Ecology: Resource limitation. Density dependence. Logistic model in discrete and continuous time. Population cycles and chaos. Demographic and environmental stochasticity. Time-lags. .

  • In-class activity: Write your own function for density-dependent discrete-time growth (the logistic equation). Explore it graphically by using Manipulate.
  • Homework: Finalize term paper topic and begin working on it. Also, find an interesting image or a biological structure (landscape, organism with interesting pattern, leaf, etc.) and bring it to the next class.

Week 7 (3/5)

Computation: Convolution and cellular automata. Introduction to image manipulation — filters.

Ecology: Diffusion again. Real populations on complex landscapes.

  • In-class activity: Working with images.
  • Homework: Work on term paper.

Week 8 (3/12)

Computation: Matrix algebra. Eigenvectors, eigenvalues and stability (part I).

Ecology: Population structure. Life tables, Leslie matrices, elasticity analysis. Stable age distribution.

  • In-class activity: More with images. Discussion of term paper.
  • Homework: Work on term paper. Turn in notebook by 9am Monday 3/23!

Week 9 (3/19): SPRING RECESS

Week 10 (3/26)

Computation: Isoclines, fixed points, vector fields.

Ecology: Harvesting models. Functional responses.

  • In-class activity: Work on term paper.
  • Homework: Work on term paper.

Week 11 (4/2)

Computation: Interactive interfaces.

Ecology: Two-species models 1. Consumers and resources. Harvesting strategies. Functional responses.

  • In-class activity: Term paper troubleshooting. Student-led review of concepts.
  • Homework: Work on term paper.

Week 12 (4/9)

Ecology: Two-species models 2. Predator-prey and host-parasitoid systems. Phase space plots, stable and unstable equilibria. Limit cycles.

  • In-class activity and homework: Work on term paper.

Week 13 (4/16)

Ecology: Two-species models and more. Competition. Multiple stable equilibria, saddles. Generalized Lotka-Volterra model. Community stability.

  • In-class activity and homework: Work on term paper.

Week 14 (4/23)

Ecology: Multiple-species models. Stability vs. complexity debate. Food web structure. Community assembly and succession.

  • In-class activity and homework: Work on term paper.

Week 15 (4/30)

Ecology: Incorporating evolution in models 1. Population genetics. Hardy-Weinberg equilibrium, genetic drift, selection, game theory.

  • In-class activity and homework: Work on term paper.

xxx

Presentations of term paper projects.

  • Homework: Finalize projects based on feedback.

xxx

Finish presentations. Incorporating evolution in models 2. Game theory. Neutral Theory.

  • Homework: Finalize projects based on feedback.

TERM PAPER PROJECTS DUE THURSDAY 5/7.

Links to Chapters

Chapter 3: Four Kinds of Population Growth

Chaper 4: The Space-time Continuum?

Chaper 5: The Game of Life

Chapter 7: The Third Horseman

NEW: Image Processing

Chapter 8: From Egg to Butterfly

Chapter 9: No More Fish in the Sea

Chapter 9a: Solutions to exercises

Chapter 10: Nature Red in Tooth and Claw

Chapter 11: It's a Dog-Eat-Dog-Eat-Dog World.nb

Links

Wolfram Research: http://www.wolfram.com

Wolfram Blog: http://blog.wolfram.com

Mathematica Demonstrations Project: http://demonstrations.wolfram.com/

This course is designed to be accessible to biology and ecology graduate students. This is not an “equations on chalkboard” course. As well as ecological theory, you will learn how to use a general-purpose computing package — a skill which will likely help you in your own research, whether you use it for design, analysis, or simply processing data.

Pre-requisites: Premission of instructor. I'm looking for a level of comfort with algebra and the concepts of calculus.

Important: see below for registration instructions!

Time: Wednesdays, 6–9pm.
Location: Student Mall computer classroom, NJIT.

Go here for files

If you study ecology or a related field

Learn about ecological theories and models by exploring them in an interactive, visual environment.
Learn to use Mathematica, a multi-purpose programming package.
Adapt and apply what you’ve learned to your research.
This course is designed to be accessible to biology and ecology graduate students. Pre-requisites are minimal (basic college calculus). This is not an “equations on chalkboard” course. As well as ecological theory, you will learn how to use a general-purpose computing package — a skill which will likely help you in your own research, whether you use it for design, analysis, or simply processing data.

If you study mathematics, engineering, etc.

While designed to meet the needs of graduate students in ecology and related areas of biology, this course may be of interest to students in mathematics, environmental and biomedical engineering, etc. You will learn how mathematics is applied to understand ecological systems, and therefore something about ecology. You will refresh your understanding of differential equations, discrete models, etc., and actually apply them in a graphics-rich computational environment. You will learn to program in Mathematica — a skill which will likely help you in your own research (even if you end up using a different package).

How to register

Everyone should contact me first for permission. Assuming you’ve done that, the next step depends on who you are…

If you are a student at NJIT: Register at NJIT for BIOL 638 in the normal way.
If you are a student at Rutgers Newark: You register via the Newark Registrar. Assuming you are a graduate student, you must go in person and tell them that you want to register for NJIT BIOL 638 via the Rutgers course equivalent 48:120:638. You should be referred from the front desk to an administrator. Be persistent!
If you are a student at Rutgers New Brunswick: You register via the New Brunswick Registrar. Instructions about how to do so are in this document. The form that you will need to fill out is here — note that you must get it approved by your Dean before submitting it to the Registar.
There is a cap on enrollment for both courses. If you hit the Rutgers cap, contact Maty Nieves (mnieves@andromeda.rutgers.edu) or Shandell Rivera (sdrivera@rci.rutgers.edu) for a permission code. If you hit the NJIT cap, contact Padma Gulati (gulati@adm.njit.edu) in the NJIT Mathematics office or e-mail me (russell@njit.edu).

Why is permission required?

This mainly so I can keep track of who is the course, and what their background is. That way, I can adjust the material appropriately. Don't worry — it’s not a rigorous screening process!

How and where will the course be taught?

Classes will meet in a computer lab at NJIT, so that you can spend time doing practical examples in class! This semester it will be in one of the small classrooms in the PC lab in the NJIT Student Mall (under the parking garage). There is an NJIT campus map here; the Mall is at the bottom left (opposite Rutgers' Bradley Hall).

STATISTICAL METHODS FOR RESEARCH IN THE LIFE SCIENCES (Graduate). Rutgers 26:120:588 (Special Topics in Advanced Ecology). 3 Credits.

Last taught by GJR: Spring 2008. Will next be taught by GJR: Spring 2010 (expected).

  • Learn about ecological theories and models by exploring them in an interactive, visual environment.