CS363 - GUI Simulation of Nat & Comp Sys Fall 2015: Introduction


This course will address two superficially disparate areas: simulation and graphical user interfaces (GUIs). There are three principal objectives for students:
  1. To gain a working knowledge of discrete simulation methodology
  2. To become familiar with issues involved in designing user interfaces in general and GUIs in particular
  3. To become proficient with two tools for building GUIs and simulations, namely Java and NetBeans.
Here's an outline of topics we will cover.


There will be some introductory programming assignments, several more significant simulations, and a final project (which may be done either individually or in groups); advanced students will be expected to complete more substantial projects (or take greater responsibility in group projects).

We will likely implement or explore simulations of: 1 and 2 dimensional cellular automata, traffic jams, populations dynamics in predator-prey systems, and synchrony in neural networks; but, if students have other interests (and the energy to pursue them) we may substitute other simulations. GUI topics will include: the Model/View/Controller pattern, JScrollPane, controls, graphs, and animation.

One could teach a complete course in either simulation or GUIs; thus there will be a temptation to cover too much material. I will do my best to keep the workload under control, the assignments possible, and the course coherent; if I don't, let me know and I'll adjust.


Your grade will be determined by your performance on exams and labs. Labs will count 50%, exams and quizzes 50%. There will be a mid-term and a final. The final will count twice as much as the mid-term.


You are invited to use any and all code that you find in the class account, books, or the Internet, so long as you credit your source. All work you hand in as your own must be your own. The penalty of plagiarism is failure in the course.