Course Syllabus

Fish458 flyer.png

Lectures: MWF 10:30-11:20am, room FSH 136 
Labs: Tue 1:00-2:50pm, room FSH 136
Instructor: Trevor A., room FSH322B
Office hours: directly after the lectures and labs, or by appointment
Grader: Stephanie Thurner,

Learning objectives

  • Use advanced Excel commands (pivot tables, what-if scenarios using the Table function, using Solver to fit models to data).
  • Be proficient in R programming, including the use of loops, functions, and fitting models to data.
  • Understand a variety of population dynamics models including models of total numbers and biomass, age-structured models, stock-recruitment models.
  • Find maximum sustainable yield for fisheries.
  • Evaluate extinction risk and how this is affected the number of populations and by depensation (Allee effect) at low population sizes.
  • Build spatial models to evaluate the effect of protected areas on fisheries catch, profit, and costs.
  • Fit non-linear maximum likelihood models to multiple datasets to estimate sustainable yield and assess population status, and use the results to find 95% confidence intervals for model parameters.
  • Program and solve Bayesian models in R including the sample-importance-resample (SIR) and the Markov-chain-Monte-Carlo (MCMC) algorithm, and use the results to estimate parameter values, assess population status, and evaluate the effects of alternative management policies.
  • Understand the concepts of harvest control rules and management strategy evaluations, that test the effects of alternative policy choices.

Course outline

Software skills

Advanced Excel instruction: pivot tables, what-if scenarios using the Table function, solver to fit models to data
R instruction: programming skills including the use of loops, functions, and fitting models to data


Models of total numbers and biomass
Age-structured models
Stock-recruitment models (generation-to-generation models)
Finding maximum sustainable yield for fisheries
Models of low density dynamics (extinction risk, depensation)
Spatial models

Fitting models to data

Maximum likelihood estimation
Finding confidence intervals using likelihood profiles
Bayesian models using MCMC and SIR

Policy evaluation

Calculating extinction risk
Optimal harvesting: estimating maximum sustainable yield
Impact of marine reserves on fish catches and biodiversity
Forward projection from Bayesian model output
Harvest control rules
Management strategy evaluation


Introduction to Ecological Modeling FISH 454 or the equivalent is recommended. This course includes instruction on how to program in R, which is a highly marketable workplace skill, and it will be advantageous to have familiarity with the statistical programming language R, or to have taken Introduction to R FISH 552 and Advanced R Programming FISH 553. Instruction in the first lab covers the basics of R programming needed for the course: for-loops, writing functions, calling functions from other functions, using vectors and matrices, if-then-else statements, reading in .csv files and writing files, and producing basic line plots and histograms. Lectures and labs will be run in Excel and in R using Rstudio. Other R editors may be used. 


There are no required textbooks, although the following two books are useful. The instructor has several extra copies of each that can be loaned by class participants for the duration of the course:

"The Ecological Detective" by Hilborn and Mangel, which is an easy-reading and useful general reference written for ecologists about how to fit maximum likelihood and Bayesian models to data (the core part of the course).

"The Art of R Programming" by Matloff, which is an R programming textbook that will serve you in this class and well beyond. A draft version can be found here for free, but the book itself is more comprehensive and better written. The key chapters needed for the class are chapters 1-4, 8-9 and 11. Participants are advised to read through these chapters before and during the course if they are not familiar with R.

Time commitment

Attendance at three lectures and one lab each week (5 hr per week). 
Two mid-term examinations (10 hr preparation time). These will be 50-minute closed-book mid-terms on 6 May and 7 June that test knowledge of materials from lectures, readings and labs. 
There is no final examination for this class.
The lab exam on 4 June (10 hr preparation time) will be an in-class open book two-hour lab exam. Graduate students are required to take the exam in R; undergrads can choose Excel or R. The exam will test your practical ability to create models and fit them to data.
Readings (1 hr per week): Occasional scientific papers will be assigned for reading. 
Homework (4-8 hr per week): There will be 7 project-style homework problems assigned, initially every week (in Excel), then every two weeks (in R). The first assignment is due Tuesday 9 April at 9pm; the final assignment is due on Tuesday 11 June at 9pm during exam week. 


A percentage grade will be assigned for the following components of the course, with highest weight given to the homeworks and lab exam: 
15% Mid-term I
15% Mid-term II
20% Lab exam
50% Homework (5% each for first four one-week assignments; 10% each for last three two-week assignments)

Grades are not converted using a curve, thus everyone can do well in the class. Instead, percentages are converted to a grade on the point scale (0.7-4.0) as follows: I pick a lower bound for a 0.7 score, usually 30-50%, and an upper bound for a 4.0 score (usually 90-95%), then linearly interpolate between these points. For example, if the lower bound is 40% and the upper bound is 95%, then the percentages are converted to grades as follows: 
<40% 0.0
40% 0.7
50% 1.3
60% 1.9
70% 2.5
80% 3.1
90% 3.7
>=95% 4.0

University policy on plagiarism and misconduct

Plagiarism, cheating, and other misconduct are serious violations of the student conduct code. You should know and follow the UW's policies on cheating and plagiarism. Any suspected cases of academic misconduct will be handled according to UW regulations. More information, including definitions and examples, can be found in the Faculty Resource for Grading and the Student Conduct Code (WAC 478-121).

Religious accommodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy ( Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form (

Course Summary:

Date Details Due