Spring 2005


PREREQUISITES: Discrete Math and COP-3337. You must drop the course if you haven't gotten a C or better in an applicable computer course above. You might want to drop if you haven't had Discrete Math. WARNING: If your COP-3337 prerequisite is dated from prior to Summer 2004, you may well have forgotten everything you learned. You should seriously consider reviewing that material. The first programming assignment is intended as a catch-up and you should start it early.

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, 1:50 - 2:30 PM, and after 7:50 PM (but only if students are waiting). On Thursday mornings office hours will not be in my office, but I'll post a sign. 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.

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 in Java. I assume that you are reasonably well-versed in Java, having had Programming II in Java. If you have not recently programmed in Java, you will probably have a very difficult time in this course. You must use a Java 1.5 compiler.

Java Book Cover

TEXT: The course text is my book Data Structures, and Problem Solving with Java, Second Edition. There are no other texts required or recommended. This edition is significantly revised from the first edition and I do not recommend using the first edition. I will provide some supplemental material from the forthcoming third edition which uses Java 1.5, but unfortunately is not yet available.

COURSE GRADING: Grades will be based on six programs, quizzes based on the programs, one midterm exam (graded prior to the drop date), and a final examination. The midterm is worth 2 programs, the final is worth 2 programs, and each quiz is worth the same as a program. I will drop both the lowest and highest program and the lowest and highest quiz. So the final average will be based on 4 programs, 4 quizzes, and 2 exams, and programs, quizzes, and exams are each worth one-third of your grade. If you miss a program or quiz, that will be the one that is dropped. The scale is as follows: A is 90% or higher, B is 80% or higher, and C is 70% or higher. + or - is done at 3.33% intervals, so A- is 86.67% or higher, B+ is 83.33%, etc. C- is 66.67% or higher. 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: Programs are due at the start of class. After that they are late. I will accept slightly late programs. A program is very late if I do not have it once I leave campus. Barring tragedy, I will not accept very late programs. So make sure you get me the program before I leave campus or it will be the program you have to drop. 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. See also FIU's Code of Academic Integrity. Let me make myself perfectly clear: I will not tolerate cheating. Your work needs to be your own. It cannot be joint work with another student in the class. It cannot be joint work with another student who previously took the class. You cannot pay someone to do the programs for you. You cannot have someone do the programs for you for free. You cannot submit code that is based on code submitted in earlier semesters by others. I do not want to be getting any more emails from professional programmers telling me that students are posting assignments and asking for code. I want some honesty, and if I don't get it, there will be significant consequences.

The assignments and if appropriate, input data, will be placed here. I expect a professional submission. This means you will lose points for nonsense such as not including the disclaimer, with your name, typed at the start of the program and not binding the pages of your submission in a reasonable way.