Spring 2006


PREREQUISITES: Data Structures (COP-3530). You must drop the course if you haven't gotten a C or better in Data Structures.

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 Tuesday and Thursday, 2:00 - 3:15 PM, and 5:00 - 6:15 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 C++, then C, and then Java. 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. You should have an excellenet grasp of object-oriented programming. 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 (or higher), and a reasonably recent C++ compiler (Visual 6.0 or Visual Dot Net).

TEXT: The course text is C++ for Java Programmers (Weiss) for the C++ and C material, and Core Java, Volume II (Horstmann and Cornell), for the Java material. I will provide supplemental handouts, via the web, for advanced topics not in the text.

COURSE GRADING: During the semester there will be roughly ten assignments. However, these will not be graded. Instead, grades will be based on three to five exams. I am still working out these details, but there will be at least three exams in class and possibly two oral exams in which you will have to come to my office for about 5-10 minutes and answer interview style questions. It is my intention that you will have a hard time doing the in class exams if you have not attempted the assignments yourself and then listened to the post-assignment discussion in class. 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: The assignments and if appropriate, input data, will be placed here. These assignments are not "optional." You will not be able to pass the exams if you do not make serious attempts to do the assignments. However, they will not be graded. So you may work in pairs, by yourself, or in any way that enables you to understand the material.

Course Outcomes:


  1. C++
  2. C
  3. Java