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 Monday and Wednesday, 10:00 - 11:00 AM, and after 1:45 PM while there are students waiting. My office phone is FIU-2036.
On other days, and after hours, you are better off trying email: . 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:
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 5 compiler (or higher), and a reasonably recent C++ compiler (such as 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. However, the Java material will start with three weeks left in the course, so it is not urgent that you have a Java book and you can probably use Horstmann's Big Java text if you still have the copy from an earlier course.
COURSE GRADING: During the semester there will be roughly seven assignments. However, these will not be graded. Instead, grades will be based on three or four exams. 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.