Syllabus for CIS 285 • Object-Oriented Programming

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

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. Topics from the early part of the semester should correspond to almost any introductory Java programming textbook (e.g., your CIS 255 textbook), but the latter material will come from chapters in this textbook:

Java Programming: Advanced Topics, third edition, by Joe Wigglesworth and Paula McMillan.
ISBN-10: 0-619-15968-5; ISBN-13: 978-0-619-15968-9.

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. 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 ContentThe majority of class time will be lectures on Java syntax constructs and their relationships to coding algorithms, with an emphasis on object-oriented design techniques. A large portion of some class meetings may include laboratory assignments in which students apply Java syntax to a particular situation, with assistance from the instructor or (on a limited basis) their classmates.

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

Item Number / Points Total Pts.
Lab Work 8 @ 25 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 three chapters there will be an examination. These examinations will test both your understanding of underlying concepts and your knowledge of Java syntax. Examinations may feature multiple choice and / or short answer questions, but they will certainly contain programs whose output / functionality you must demonstrate, as well as exercises where 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.

Make-up examinations must be scheduled with your instructor within one week of a missed examination and will only be offered for those with significant grounds for missing the exam (illness, family emergency, an automobile accident that occurs on the way to class, etc.).