The textbook is John Lewis and William Loftus, Java Software Solutions: Foundations of Program Design, 6th ed., Adison Wesley, 2009.
This is the second course in programming. I will assume that students are familiar with the basics of programming, i.e. designing, coding, testing, and debugging simple programs. The language you have used in the past doesn't matter.
We will continue programming using the Java language. Emphasis will be on object-oriented thinking/design/programming. We will cover the basics of Java and discuss good programming methodology.
Attendance at labs is required. A short programming assignment will be given at the beginning of the lab and the lab instructor will be available to help students with the programming. If not completed the lab may be taken home. Lab assignments will be due at the beginning of the following lab period. No late lab assignments will be accepted.
There will be occasional unannounced quizzes given in labs. A missed quiz cannot be made up. The lowest quiz score for the semester will be dropped.
In addition to the labs there will be several larger programming projects. These will be presented and discussed in the lecture. Late projects will be accepted with a 20% per day late penalty.
You are free to discuss ideas for both the labs and projects with other students, however no joint work is permitted. Any submitted work must be yours alone. Any work which shows too much similarity with others' submitted work will receive a grade of 0. Extreme or repeat cases may result in failing the course or referral to the Honor Commitee.
Read the CS Department honor code: http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/CSHonorCodePolicies and the University honor code: http://honorcode.gmu.edu. You are bound by these honor codes.
In addition to the labs and projects there will be a midterm exam and a final. Grades will be computed using a weighted average of these scores with the weights: