• Catalog Number: CSCI 5446-001 grad, CSCI 4446-001 undergrad
  • Instructor Spring 2018: Liz Bradley


  • Nonlinear Dynamics and Chaos, [required], S. Strogatz, Addison-Wesley.
  • Nonlinear Time-Series Analysis, [required], H. Kantz and T. Schreiber


This course explores dynamical systems and the various ways to use a computer to investigate their behavior. It covers the standard computational and analytical tools used in nonlinear dynamics, together with their underlying theory, and concludes with a brief review of leading-edge chaos research. Examples of important topics and techniques are: state-space representation, interpretation, and surfaces of section; steady-state solutions and limit sets; numerical integration; time and frequency domain analysis; bifurcation diagrams; fractals, fractal dimension, and the link between fractals and chaos; etc. Students construct their own computational tools and use them to explore interesting chaotic systems, ranging from mechanical pendulums to biological populations to electronic circuits.

Strogatz’s book will be the primary text. It is well-written and thorough, but gets mathematically dense now and then. The reading assignments at the beginning of each problem set will identify these places and lectures will guide you through them. The text will be supplemented by xeroxed material and current research papers, as well as a comprehensive reserve list from the Gemmill Engineering Library. A running bibliography of other interesting (but optional)
material will be given in the problem sets. The Kantz/Schreiber book is a great source of both background material and algorithms for time-series analysis. Most of the algorithms described in that book are instantiated in the TISEAN package.

Note: this is an up-to-the-minute current-topics course, and a substantial percentage of the material that we will discuss is not covered in any textbook or paper. Do not take this class unless you plan to attend all the lectures. Really. You won’t be able to pass the final exam if you don’t. There are recorded versions of the lectures from previous years, and I may be able to arrange access if you must miss a class (e.g., because of illness or religious observance dates).

Assignments, workload, and expectations: The heart of this course is a sequence of thirteen problem sets. People who are registered for CSCI 5446 will do a month-long final project instead of the last three homework sets. A
cumulative exam will be held for everyone during the scheduled final exam period (Wednesday 7 May from 4:30-7pm). If you have three exams scheduled on May 7th, I need to know before the tenth week of the semester in order to make accomodations. Exam Schedules

You should expect to spend at least 8-10 hours per week of prep time—outside of lecture— on this class. Roughly a quarter of that time will be spent writing code, about half playing with your code and figuring out the results, and the other quarter reading source materials and thinking about the concepts that were presented in class. An important point about the assignments: each one builds upon the previous ones. That means that you can’t punt a problem set; you have to get the code for every assignment at least mostly working. The final project and the final exam will also depend upon successful completion of the assignments.

You are free to work together on homework during the initial problem-solving stages, but you should finish, polish, interpret, and write up your work on your own. You should also feel free to consult me or the other class members for clarifications, corroboration, suggestions, debugging help, etc., at any point in any assignment. Please do not carry this to the point where anyone avoids learning from the assignments. In particular, the final, turned-in version of all assignments should be your own work. That includes words, code, ideas, etc. Identical material will garner a zero grade for that assignment, and possibly a discussion with the Honor Code Council for all of the people involved, regardless of who copied from whom. If you are in any doubt about where the academic honesty boundaries lie for this class, please ask me.

Computers: The most critical of this course’s prerequisites, besides independence and motivation, is functional computer literacy. If you are not totally comfortable hacking code — in some language of your choice that exists on a computer to which you will have access for the entire semester — you may still enroll in this course, but be prepared to spend 15+ hours per week on it instead of the 8-10 hours cited above. You may use any computer, language, and graphics package that you want. In the past, people have used PCs, Macs, and Unix machines; the graphics need not be whizzy, just good enough to plot a bunch of points on a scaled, labeled axis. Please come see me if you do not have access to adequate computer facilities and I will make arrangements.

Note that there is very little canned software for this course, and for a very important reason: I want you to understand the details of the algorithms, which only happens when you write them yourself from scratch. Almost all of what you turn in will be graphics output, sketches, and written analysis and interpretation of the patterns and trends you see in the pictures. I will not grade your code for style; I’m interested in what comes out of it, not how well-commented or well-written it is.


Grades will be based on the homework and the final exam (for everyone) and the final project (for those enrolled in 5446). Here is the formula:

  • CSCI 5446: 40% homework + 40% project + 20% final exam
  • CSCI 4446: 75% homework + 25% final exam

You must get all the programs to work at a basic level, understand and explain the results, and turn in all problem sets to pass this course. You must do so elegantly, thoughtfully, and in a timely fashion to get an A. If you contribute actively to class discussions, I will bump your grade upwards, up to a full letter grade. This kicks in only above the passing threshold: I will not use class participation will not be used to change Fs into Ds. And note that “participation” does not just mean “attendance”— although, in my experience, there is a very strong correlation between attendance and final-exam performance.


  • General introduction to chaos (1 1/2 lectures)
  • Dynamics of iterated maps (2 1/2 lectures)
  • Fractals and fractal dimension (1-2 lectures)
  • Continuous-time dynamics (3 lectures)
  • Applications (1 lecture)
  • Poincar´e sections (2 lectures)
  • Attractor characterization (6 lectures)
  • Hamiltonian chaos (3 lectures)
  • Prediction, modeling, and noise (1-2 lectures)
  • Stability (2-3 lectures)
  • Current topics (1 lecture)
  • Project presentations (1-2 lectures)

Materials on Reserve in the Gemmill Engineering Library

  • H. Abarbanel, Analysis of Observed Chaotic Data, Springer, 1995.
  • R. Abraham and C. Shaw, Dynamics: The Geometry of Behavior, 2nd edition, Addison Wesley, 1992.
  • G. Baker and J. Gollub, Chaotic Dynamics: An Introduction, Cambridge, 1996.
  • M. Barnsley, Fractals Everywhere, Academic Press, 1993.
  • T. Bass, The Eudaemonic Pie, Houghton-Mifflin, 1985.
  • D. Campbell et al., eds., Nonlinear Science: The Next Decade, M.I.T. Press, Cambridge MA, 1992.
  • D. Campbell, ed., Chaos/XAOC : Soviet-American perspectives on nonlinear science, American Institute of Physics, New York, 1990.
  • M. Casdagli and S. Eubank, eds., Nonlinear Modeling and Forecasting, Addison Wesley, 1992.
  • P. Cvitanovic, Universality in Chaos, Adam Hilger, 1989.
  • J. Danby, Fundamentals of Celestial Mechanics, Willmann-Bell, second edition, 1992.
  • J. Gleick, Chaos: Making a New Science, Viking, 1987. 
  • H. Kantz and T. Schreiber, Nonlinear Time Series Analysis, Cambridge University Press, 1997
  • G.Mayer-Kress ed., Dimensions and Entropies in Chaotic Systems, Springer-Verlag, Berlin, 1985.
  • E. Ott, T. Sauer, and J. Yorke, eds., Coping With Chaos, Wiley, 1994.
  • E. Ott, Chaos in Dynamical Systems, Cambridge, 1993.
  • T. Parker and L. Chua, Practical Numerical Algorithms for Chaotic Systems, Springer-Verlag, 1989.
  • I. Peterson, Newton’s Clock: Chaos in the Solar System, Freeman, 1993.
  • I. Stewart, Does God Play Dice? The Mathematics of Chaos, Blackwell, 1989.
  • S. Strogatz, Nonlinear Dynamics and Chaos, Addison-Wesley, 1994.
  • L. Taff, Celestial Mechanics: A Computational Guide for the Practitioner, Wiley, 1985.
  • A. Weigend and N. Gershenfeld, eds., Time Series Prediction: Forecasting the Future and Understanding the Past, Santa Fe Institute Studies in the Sciences of Complexity, Santa Fe, NM, 1993.