Syllabus
CSSE325/MA 325 – Fractals and Chaotic Dynamical Systems

General Course Information

Course catalog description

Emphasis on the mathematical and computer graphics foundations behind fractal images and the relationship between chaotic dynamics and fractal geometry. Self-similar fractals, random fractals with Brownian motion, and fractals generated from dynamical systems. Fractal dimensions. Iterated Function Systems. Chaos in one-dimensional maps. Controlling chaos. Mandelbrot and Julia sets. Computer graphics. Prerequisites: MA 222 and CSSE 220

Meeting time and place

Instructor

Matt Boutell – Assistant Professor of Computer Science and Software Engineering

Email: boutell
Office phone: 812.877.8534
Office address: Moench F-224
Home page: http://www.rose-hulman.edu/~boutell
Office hours: I strive to be in my office every day from 8 a.m. until 5 p.m. unless I'm in class or a meeting. Please stop by whenever. If my door is shut, just knock.

Teaching Assistant

Resources

Required Text

Chaos and Fractals: New Frontiers of Science (Second Edition), by Heinz-Otto Peitgen, Hartmut Jürgens, and Dietmar Saupe, Springer-Verlag, 2004. ISBN 0387202293.

OpenGL Programming

No background in computer graphics is required - I will provide an appropriate framework and teach enough of the graphics system in the course for the work assigned. However, background in C or C++ will be helpful, and you will need to learn much as you go. The following resources will be helpful:

Course Materials

I'll use Angel to post grades, dropboxes to submit labs and homeworks, and links to the course schedule, assignment descriptions, slides, and handouts. All the linked materials are available via any of the several mechanisms for accessing Public AFS data. Thus, you can get to the majority of course materials:

Learning Outcomes

Students who successfully complete this course should be able to:

  1. Determine the dimension of a fractal object
  2. Determine the Hausdorff and Lebesgue measures of various sets
  3. Use iterated function systems and L-systems to model fractals
  4. Perform graphical analysis of dynamical systems
  5. Control chaos
  6. Determine mathematical properties of the Mandelbrot and Julia sets
  7. Generate fractal images via computer software

Homework and Projects

You'll get more out of lecture if you do the reading assignments before class. In-class discussions will assume that you have done the reading and understood the “easy stuff” before class.

We will have quizzes most days that serve to focus our attention on the key points and to make sure you understand the basics before you leave class.

You will be required to complete both written homeworks, involving mathematical analysis

You will also write computer programs in C/C++ using OpenGL that generate fractals. Each submitted program file should include your name(s), and a description of the file's contents in comments at the top of your files. They should have reasonable and consistent comments, style, and indentation. They should not contain lines that are more than 80 characters long (causing wraparound and general illegibility of printouts).

Grades for programming problems will be based on correctness (mostly), efficiency (some), and style.

Grading

I plan to use the weighting scheme shown in the table below when assigning final grades.

Criteria Weight
Computer projects 50%
Written homework 35%
In-class quizzes 15%

Letter Grades

I will do my best to conform to the Rose-Hulman definition of the various grades, as described in the Academic Rules and Procedures. Note in particular that the phrase ”thorough competence to do excellent work“ appears there in the description of the “B” grade, and it further states that “B” and “B+” will not be given for mere compliance with the minimum essential standards of the course.

Citizenship Counts!

I may adjust your overall average up or down by up to 5 points, based on your class citizenship. This includes attendance, promptness, preparation for class, positive participation in class, constructive partnership in labs and projects, and timely completion of various surveys.

The in-class time in this course constitutes an important learning experience. After three unexcused absences, you must discuss continuation of the course with the instructor. Four unexcused absences will result in automatic failure of the course.

Late Policy

Late Assignment Policy

Quizzes and written homeworks must be completed in class if you want credit for them.

However, we all have days when we are extremely busy, or times when a program takes longer to complete than we expect it will. To account for this, I give each student a "late day bank account" that starts with two late days.

  1. Using (withdrawing) a late day allows you to turn in any programming assignment up to 24 hours after the time it is due. It is up to you to turn in work within that time frame, if it falls on a non-class day.
  2. You may earn (deposit) a late day by turning in an assignment at least 24 hours early. There is no limit to the number of late days you can save up.
  3. Only one late day may be used or earned on any given assignment.
  4. Unused late days disappear at the end of the term.    

Notification for a deposit or withdrawal: just complete the Late Day Bank Survey on ANGEL before the assignment is due. That is so I can know when it is okay to post a solution or discuss an assignment in class.

Email

I usually check my email several times per day (including some evenings), and do my best to respond quickly. It is a good way to get answers to simple questions. I expect you to check your email daily (not necessarily on weekends, although even that is not a bad idea). When I send mail to you, I will use your Rose-Hulman address. If you do not currently read mail that is sent to that address, please have it forwarded to wherever you read mail.

Electronic Distraction Policy

I do my best to keep class interactive. But I recognize that sometimes it is hard as a student to stay focused on the class. With laptops in class, there are many more ways to become distracted. Unfortunately these distractions are much more pernicious, since it is very easy to get drawn into things like IM conversations or RSS feeds.

I strongly encourage you to turn off IM and email software and only use other software for things directly related to class. If you choose to use non-class-related software during class, then you must sit in the next-to-last row. Doing so will prevent your classmates from being distracted by what is on your screen.

Integrity

Recall the Institute policy on academic misconduct:

“Rose-Hulman expects its students to be responsible adults and to behave at all times with honor and integrity.”

Exams, written homework, and some labs and projects will be done on an individual basis. The simple rule of thumb for individual work is:

Never give or use someone else's code or written answers.

Such exchanges are definitely cheating and not cooperation. The departmental statement on academic honesty has more detailed advice.

I encourage you to discuss the problems and general approaches to solving them with other students. However, when it comes to writing code, it should be your own work (or the work of your group if it is a group or partner assignment). If you are having trouble understanding how some library code works or pinning down a run-time or logic error in your program, by all means talk to someone about it.

If you use someone else's ideas in your solution (or any other work that you do anywhere), you have to:

If you are ever in doubt about whether some specific situation violates the policy, the best approach is to discuss it with your instructor beforehand. This is a very serious matter that I do not take lightly. Nor should you.

In general, you should not look at another student's code to get ideas of how to write your own code. Beginning the process of producing your own solution with an electronic copy of work done by other students is never appropriate.

Plagiarism or cheating will result in a negative score (i.e., less than zero) for the assignment or exam. Egregious cases will result in a grade of "F" for the course. More importantly, such dishonesty steals your own self-esteem. So don't cheat.

Developed by Matt Boutell, format and lots of wording courtesy of CSSE120 instructors.