PREREQUISITES: Data Structures (COP-3530). You should drop the course if you haven't gotten a C or better in Data Structures, but I will not necessarily enforce this. Don't even think about this course if you have not passed Intermediate Programming.

INSTRUCTOR: Prof. Mark Allen Weiss

OFFICE HOURS: You are free to stop by my office (ECS-355) any time you can find me. My office hours represent a time when I am (more or less) guaranteed to be available. This semester this is Tueday and Thursday, 5:00 - 6:15 PM and after 7:45 PM. My office phone is FIU-2036.

On other days, and after hours, you are better off trying email: weiss email address. You will generally get an answer within 10 minutes of my reading the message, and I do tend to be connected often and at very late hours.

I have three standing rules:

  1. I will not debug programs. Debugging is part of the assignment. If you are very confused about some compiler error messages, you can ask, but read the error message carefully and ask as a last resort, not a first. Also, check the announcements page, since I occasionally post answers to common problems reported to me.
  2. If you miss class, get the class notes from a classmate or check the lectures page. Do not ask me what you missed.
  3. I am very unsympathetic toward questions that are asked on the program due date. You should be done by then.

LANGUAGES AND PLATFORMS: This course will be conducted first in Java, then C++, then C, with at least one assignment that involves mixing two languages together. I assume that you are reasonably well-versed in Java, having had Intermediate Programming AND Data Structures in Java, and that therefore, you are no longer a novice programmer. THERE WILL BE NO HAND HOLDING IN THIS COURSE. I intend to enforce the fact that this is an advanced programming course. You must use a Java 1.3 compiler.

TEXT: The course text is Core Java, Volume II (Horstmann and Cornell), for the Java material, and C++ Primer (3/e) (Lippman and Lajoie) for the C++ material. I will provide supplemental handouts, via the web, for advanced topics not in the text, and the C material will not require a text.

COURSE GRADING: Grades will be based on thirteen small programs, and two oral exams. The first oral exam will be completed prior to the drop date, and the second will be completed prior to the last week of class. Both exams will be conducted ``interview style,'' in an SCS office for 15 minutes. I will post a signup sheet. Each exam is worth 5 programs. I reserve the right to change the method of assigning grades, including changing the number of assignments or exams, but in no case will a curve be applied.

PROGRAMS: Barring tragedy, I will not accept late programs. Your submission must include source code and sample output. I will generally specify what the data is. Your work must be your own, and you must attest to this in a signed comment that begins each program. I will have zero patience in dealing with violaters of this policy, and so I suggest you avoid cheating at all costs. The assignments and if appropriate, input data, will be placed here.


  1. Java
  2. C++
  3. C
  4. Muiltiple languages