CSci 581-01: Special Topics in Computer Science
Object-Oriented Design & Programming
Spring Semester 1999
Syllabus


Locations

The spring semester 1999 class meets in 351 Weir Hall at 8:00 to 9:15 a.m. on Tuesdays and Thursdays.

The class is taught by Prof. Conrad Cunningham, whose office is in 312 Weir Hall. The official office hours for this class are 10:00 a.m. until Noon on Mondays and Wednesdays and by appointment at other times.

Prof. Cunningham's voice telephone number is (601) 232-5358 and fax number is (601) 232-5623. His WWW home page is http://www.cs.olemiss.edu/~hcc/ and his email address is cunningham@cs.olemiss.edu.

The WWW home page for this class is http://www.cs.olemiss.edu/~hcc/csci581/ and the anonymous FTP site is http://ftp.cs.olemiss.edu/pub/cunningham/csci581/99spr/.

The final examination for this class is scheduled for 4:00 p.m. on Tuesday, 4 May 1999.


Course Goals

The goals of this course (1) to extend and deepen the student's knowledge and understanding of object-oriented programming methods and languages and (2) to introduce the student to object-oriented design techniques.


Course Description

A study of the principles and practice of object-oriented design and programming. Use of object-oriented programming languages such as Java.


Prerequisites

This special topics class has been designed primarily for students pursuing graduate or undergraduate degrees in computer science. The class is also open to other students who meet the prerequisite requirements. However, graduate students in other fields should not be enrolled in this class without the explicit permission of their home department. Any students in this category are expected to provide the instructor with a note from their advisor or department chair indicating such permission.

The official prerequisite for CSCI 581, Special Topics in Computer Science, is "senior standing in computer science or consent of instructor" (as stated in the Graduate School Catalog). "Senior standing in computer science" means "successful completion of all courses specifically required in the computer science curriculum that are numbered less than 400" (as defined in the Undergraduate Catalog).

Accordingly, the expected minimum prerequisite is successful completion of 15 hours of computer science including CSCI 111, 112, 211, and 223 or their equivalents. Completion of CSCI 450 (Organization of Programming Languages) and MATH 301 (Discrete Mathematics) or their equivalents is recommended.

Anyone who does not have a mature understanding of programming in a contemporary imperative language (e.g., Pascal, C, or Java) and of basic algorithms and data structures (e.g., sorting, searching, lists, stacks, queues, and trees) should not enroll in the course.


Source Materials

Required textbook:
Timothy Budd. Understanding Object-Oriented Programming with Java, Addison-Wesley, 1998. ISBN: 0-201-30881-9.

Optional textbook:
Any good introductory book on Java programming.
Judy Bishop. Java Gently: Programming Principles Explained, Second Edition, Addison-Wesley, 1998. ISBN: 0-201-34297-9.

Optional reference book:
Martin Fowler. UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1997. ISBN: 0-201-32563-2.

Readings:
Various journal, conference, or WWW materials as appropriate.

Software:
Sun's Java Development Kit (JDK) and other software defined later


Course Topics

  1. Data abstraction.
  2. Introduction to object orientation.
  3. Object-oriented design. Responsibility-driven design.
  4. Inheritance.
  5. Software reuse.
  6. Polymorphism.
  7. Exception handling.
  8. Class libraries.
  9. Application frameworks.
  10. Design patterns.


Graduate or Undergraduate Credit

This course may be taken for either undergraduate or graduate credit.


Professional Conduct

As a student in CSci 581, you are expected to conduct yourself in a professional manner according to the Honor Code of the School of Engineering, the Information Technology Appropriate Use Policy, the M Book, and any other relevant policies.

Limited Collaboration Policy. Unless otherwise indicated, any homework assignment or programming exercise given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:


Grading

Credit toward the semester grade will be allocated to each of the components as indicated in the following table.

Assignments/Projects/Quizzes 50%
Exams (2) 50%


Assignments


Examinations


[ CSci 581 Home ]
[ Cunningham's Home | Teaching | Current Courses ]
[ Department's Home | Courses | Graduate Courses | Undergraduate Courses ]


Send any comments or suggestions to Prof. Conrad Cunningham, cunningham@cs.olemiss.edu.
Copyright © 1999, H. Conrad Cunningham
Last modified: Mon Aug 20 02:24:58 2001