CIS 285 • Object-Oriented Programming (Advaned Java)

Jefferson State Community College • Shelby-Hoover Campus • Fall 2011

Catalog Course DescriptionThis course is an advanced object-oriented programming course and covers advanced program development techniques and concepts in the context of an object-oriented language, such as C++ or Java. Subject matter includes object-oriented analysis and design, encapsulation, inheritance, polymorphism (operator and function overloading), information hiding, abstract data types, reuse, dynamic memory allocation and file manipulation. Upon completion, students should be able to develop a hierarchical class structure necessary to the implementation of an object-oriented software system.

PrerequisiteCIS 255 or equivalent.

TextbookI highly recommend that you bring your textbook to each class meeting, as I may refer to examples that are present in the textbook.

Starting Out with Java: From Control Structures through Data Structures, second edition, by Tony Gaddis and Godfrey Muganda.
ISBN-10: 0-321-54586-9; ISBN-13: 978-0-321-54586-2.

Note: The first fifteen chapters of this textbook are virtually identical to the textbook used in recent sections of CIS 255. If you still have this textbook, you may wait to purchase the longer version until we reach the chapters not found in the CIS 255 textbook.

This textbook may be available in different bindings and / or with different ISBNs. Please consult with your instructor should you wish to buy such a variation on the textbook.

SoftwareWe will use TextPad in class; it is a simple text editor that ties into Sun's Java Development Kit (JDK) tools to compile and run Java programs. These tools are installed in the CIS labs on the fourth floor. There are several free Java development environments available; as long as your code conforms to Java language standards, you may use any environment to code, compile, and run your programs. Students enrolled in CIS courses at Jefferson State may also obtain Microsoft software free-of-charge through the MSDN Academic Alliance; be looking for an e-mail message in your Pipeline account with your login information.

Course ContentClass meetings will involve either a lecture on Java syntax (with an emphasis on object-oriented design techniques) or the completion of a laboratory assignment; occasionally, both may take place during the same class meeting. In either mode, students will connect the syntax with general programming concepts and real-world problems.

GradesRefer to the following table for the contributions of each course item to your grade.

Item Number / Points Total Pts.
Lab Work 10 @ 20 pts. each 200
Projects 2 to 4 @ 50 to 100 pts. each 200
Exams 4 @ 150 pts. each 600
Total Points 1000

ExaminationsAfter roughly every two to five chapters there will be an examination. These examinations will test both your understanding of underlying concepts and your knowledge of Java syntax. Examinations may include a mixture of multiple choice questions, a problem in which you write the output of a Java program included in the exam, and an exercise in which you must provide a complete Java program as a solution to a problem. Unless otherwise specified, examinations are closed-book and closed-note, and they are administered on paper; you must bring your own writing utensil (pencil, blue ink, or black ink) for each exam. Because of the cumulative nature of computer programming, you are advised to maintain a thorough understanding of topics covered early in the semester so as not to hinder your performance on examinations covering later chapters.