This course is an introduction to the design and implementation of significant software projects. The students will also learn object-oriented programming through Java. Specifc topics include:
Weights of assignments/ tests are subject to change. The approximate weights are as follows:
There will be at least four homework assignments, seven programming assignments, a midterm, and a final. Their approximate weights will be as follows:
Note that these weightages are tentative and are subject to change.Written assignments will cover the material in the book and in lecture.
The programming assignments will be written in Java 1.5, on UNIX (Atlas).
You will work individually on all projects.
Your projects will be tested by the TA or me. Test cases are generally pass (full credit) or fail (no credit). This means that if you fail every test case, you will get a very poor score on the assignment (part of the grade will cover your programming style, but your score will be poor nonetheless). You are responsible for testing your programs to ensure their correctness.Without prior arrangement, any missed exam will result in a zero grade.
Cheating will not be tolerated in this class. You are allowed to discuss the programming assignments with other students as long as the discussion is very general. For example, discussing the need for using an array versus using a linked list is fine; however, discussing how to insert to a list or an array is not. If you have any doubts about what you are doing, ask the instructor. All cheating cases will be directly handed over to the Academic Honesty Department. Their punishment, if you are found guilty, carries with it a minimum of a failing grade in the course and a transcript notation.
Note that copying materials from the Web is a violation of academic honesty. There are many other schools that teach Java; it is even possible that there may be code posted that could help you on an assignment. Copying anything from any Web site is forbidden and will be considered exactly as cheating on assignment. Furthermore, accepting code written by other students in previous or current offerings of this class will be considered a gross violation of the academic honesty policy.
Unfamiliarity with the rules and regulations of the academic honesty environment at the University of Georgia will not be grounds for leniency.
You may drop the class during the first three days without an annotation ending up on your transcript. Thereafter until the drop day, you may drop the class with an annotation. An incomplete will only be considered in a case where there is a documented medical evidence and you are making satisfactory progress in the course. If you have a medical emergency and are not making satisfactory progress after the drop date, you may be offered a late withdrawal; this is up to the instructor.
You are responsible for reading and understanding this entire syllabus. I will hold you to the rules set forth within this document.
Class announcements, such as due date and assignment changes, will be made by email notification and/or on the Web. You are therefore responsible for checking these two places. If you make an error because you did not check the Web and your email, you will be held responsible for the same.