Computer Science I

Algorithms and Programming

Fall 2009


Course Description: Problem solving, abstraction, and algorithm design in Java, including an introduction to object-oriented design. Topics include a review of basic Java programming followed by data types, streams & files, arrays & data structures, abstraction & classes, inheritance, polymorphism, encapsulation, overloading and dynamic memory.


Prerequisite: COS101 or written permission of computer science advisor


Corequisite: MAT141 or higher level MAT


Instructor: Kay Chen, Professor


AIM: kayatbucks

Phone: x3302


Textbook: Java: An Introduction to Problem Solving & Programming by Walter Savitch


Class Times: Thursday, 5:15-7:50 in AD131, 8:00-9:45 in AD226


Office Hours: Thursday, 4:30-5:15, earlier by appointment in LA148. Also virtual hours via email or AIM 7 days/week



Test 1 20%

Test 2 20%

Quizzes 10%

Labs 25%

HW & Exer. 5%

Final 20%



Quizzes: open book, notes

Tests: may use 1 page crib sheet

Final: multiple choice, no notes

Labs: grading based on fulfilling lab requirements. It is expected that you will always turn in a working program better late than wrong. You may discuss algorithms with fellow students and ask for help in debugging but if helping others, never just hand over your lab

Attendance: missing 1 day, 5 hours is hard to make up so I hope everyone will make every effort to attend all classes. Please keep in touch.

Anyone who submits projects or answers exam questions with an unusual degree of similarity to those of other students will be charged with violating academic integrity and could be expelled from the college. Make sure the work you submit is your own.

See for a complete explanation of policies and procedures regarding academic integrity and academic integrity violations.