ComS 455/555

Simulation: Algorithms and Implementation

Fall 2005

  1. General info
  2. Prerequisites
  3. Course Work
  4. Lecture Schedule
  5. Problem Sets
  6. Midterm Exam
  7. Final Exam

General info

Instructor: Dr. A. Miner
Office: 233 Atanasoff Hall
Office Hours: MW 16:30 - 17:00, T 14:00 - 15:30, and by appointment
Lecture: MW 15:10 - 16:30, 1219 Coover
Text: Discrete-Event Simulation: A First Course by Park and Leemis;
ISBN: 0-13-142917-5
You may find the text a bit difficult to find; that's because the book hasn't been published yet. I've made arrangements with the authors and publisher to obtain an advance copy, which will be made available as a course packet through the University Bookstore.

Course summary

The course is an introduction to computational and mathematical techniques (with emphasis on algorithms and implementation) for modeling, simulating, and analyzing the performance of various systems. The types of systems considered are stochastic (i.e., there is some type of random behavior). The primary focus is on systems that are dynamic (the system evolves over time) and discrete-event (the system changes state at discrete time instants). A secondary focus is on static systems that do not evolve over time.

top

Prerequisites

Computer Science

Students will be expected to have programming experience in a contemporary high-level language, such as C, C++, or Java (example code is written in C). The use of dynamic structures (e.g., linked lists, queues, etc.) will be required. Students should also have a working knowledge of algorithm complexity.

Course work will be unpleasant without a strong programming background.

Calculus and discrete math

Students should be familiar with single-variable differential and integral calculus, and their discrete math analogs (difference and summation).

Probability

Students should have a working knowledge of probability, including random variables, expectation, and conditioning.

top

Course work

Problem sets

Two homework exercises will be assigned each lecture, for a total of four per problem set. Problem sets will be collected at the start of the first lecture of the week, and will not be accepted late without prior approval. Students enrolled in 555 must do all four exercises per set, while students enrolled in 455 must do any three out of four exercises.

Problem sets will represent about 40% of your grade.

Midterm exam

There will be a midterm take-home exam, worth about 20% of your grade.

Final exam

There will be a final take-home exam, due at the University-scheduled final exam time, worth about 40% of your grade.

Collaboration

Students are encouraged to collaborate on problem sets (i.e., homework only), subject to the empty hands restriction.

More specifically, students may discuss solution details for problem sets, but each student must enter and leave the discussion with empty hands; i.e., without any written or otherwise recorded notes. The only information that students may take from a discussion is what can be remembered. Violation of the empty hands policy may result in zero points for a problem set.

Collaboration is not permitted on exams. Evidence of collaboration or outside assistance on exams will be considered Academic Dishonesty, and will be handled through the Dean of Students' Office (see the University Academic Dishonesty Policy for details).

Writing style

Each solution to each problem set exercise and to each exam question should be written using the other student viewpoint and should include a hardcopy of properly-documented source code when appropriate. The other student viewpoint is a guide to the level of explanation expected for written solutions: another student in the class, who didn't know how to do the exercise/question, should be able to read your solution and learn a correct answer, without asking questions.

More specifically, solutions to exercises should address how you obtained the answer, in addition to the answer. That is, by reading your solution it should be clear why your answer is correct. Typical multi-part exercises may require mathematical derivation, coding, running experiments, and interpretation of results. For these, I expect clear mathematical derivation (how you obtained the results), explanation of how the code was obtained (or modifications made to code from the text), and a summary of the results and any conclusions. References to material in the text are encouraged (e.g., "from Theorem 1.2.1 we have ..."). As appropriate, you should include a printed copy of your well-documented source code and the output.

Solutions may be typeset or neatly hand-written. My personal preference is to use LaTeX as it produces excellent quality with minimal effort, especially for equations. However, content is much more important than style. An example solution is provided for illustration (created in LaTeX, with gnuplot for the graph).

Point(s) will be deducted for incomplete or poorly-written solutions.

top

Lecture schedule

Source code and data files described in the text should be posted under the appropriate lecture. The schedule is tentative.

22 August: Introduction and Chapter 1.1
24 August: Chapter 1.2
ssq1.c
ssq1.dat
ac.dat
29 August: Chapter 1.3
sis1.c
sis1.dat
31 August: Appendix B and Chapter 2.1
sieve.c
5 September: University Holiday
7 September: Chapter 2.2
rng.h
rng.c
12 September: Chapter 2.3
galileo.c
buffon.c
14 September: Chapter 3.1
ssq2.c
sis2.c
19 September: Chapter 4.1 (Guest Lecturer)
uvs.c
uvs.dat
21 September: Chapter 4.2 (Guest Lecturer)
ddh.c
ddh.dat
26 September: Chapter 3.2
rngs.h
rngs.c
28 September: Chapter 3.3
ssms.c
3 October: Chapter 4.3
cdh.c
5 October: Midterm day
10 October: Chapter 5.1
ssq3.c
12 October: Chapter 5.2
sis3.c
msq.c
17 October: Chapter 5.3
ttr.c
19 October: Chapter 6.1
24 October: Chapter 6.2
rvgs.h
rvgs.c
rvms.h
rvms.c
26 October: Chapter 6.3
sis4.c
31 October: Chapter 6.5
2 November: Chapter 7.1
7 November: Chapter 7.2
9 November: Chapter 7.3
ssq4.c
14 November: Chapter 7.5
16 November: Chapter 8.1
28 November: Chapter 8.2
30 November: Chapter 8.3
5 December: Chapter 8.4
7 December: Chapter 9.2

top

Problem Sets

Due 29 August: 1.2.2, 1.2.6
Due 7 September: 1.3.6, 1.3.8, 2.1.5, 2.1.11
Due 12 September: 2.2.12, 2.2.13
Due 26 September: 2.3.4, 2.3.5, 3.1.1, 3.1.3
Due 28 September: 4.1.3, 4.1.8, 4.2.2, 4.2.9
Due 17 October: 5.1.2, 5.1.3, 5.2.1, 5.2.7
Due 24 October: 5.3.1, 5.3.3, 6.1.5, 6.1.7
Due 31 October: 6.2.5, 6.2.9, 6.3.3, 6.3.6
Due 7 November: 6.5.1, 6.5.6, 7.1.2, 7.1.9
Due 14 November: 7.2.5, 7.2.8, 7.3.6, 7.3.7
Due 28 November: 7.5.2, 7.5.4, 8.1.2, 8.1.5

top

Midterm Exam

The midterm exam is due at the start of class on October 5, 2005, and is worth roughly 20% of your grade. Remember that collaboration is not permitted for exams.

Final Exam

The final exam is due at the start of our Unversity-scheduled final exam slot, which is Thursday, December 15, 2005 at 2:15. You will be expected to present solutions at that time (like for the midterm).

Final Exam FAQ

None yet.


Last updated $Date: 2005-11-30 12:36:19 -0600 (Wed, 30 Nov 2005) $