Home Page -- OOP at OSU

OSU CS 582, Fall 2004

Object-Oriented Analysis and Programming
Professor Timothy A. Budd



This is the Home Page for the Course Object Oriented Analysis and Programming, originating from the Department of Computer Science at Oregon State University in Corvallis, Oregon, USA.

Fall Term, Sept 27 to Dec 10, 2004, MWF 3-4PM, Covl 221.


Welcome and Introductory Message

Welcome to the Oregon State University course in Object-Oriented Programming.

In the past this course was offered as both a lecture course and as a distance education course. However, it has been decided to discontinue the distance education courses, and so the course is offered now only in the lecture format.

Continue


What is this course?

The catalog description for this course reads as follows:

``An examination of the ideas of Object-Oriented design and Object-Oriented software construction. The lectures present the concepts of object-oriented analysis and programming in a language independent fashion, illustrated with specific examples from a variety of programming languages. Students are expected to complete and report on a nontrivial project developed in an object-oriented language of their choice.''
As indicated in the description, the course is intended to be a broad introduction to the field of object oriented analysis and programming. It is not a course in any particular programming language, although students are expected to have the ability to learn at least one language on their own during the period of the course.

Continue


What Background is Necessary for the Course?

The course is open to any student in the graduate program in computer science at Oregon State University. Undergraduates and students in other departments can take the course with the permission of the instructor. Although the course is listed as a graduate level course (for historical reasons), the material should be accessible to any upper division undergraduate with a background in computer science.

Students are expected to have at least two years programming experience. This can be in a conventional programming language, such as C or Pascal, or in an object-oriented language, such as Java or C++.

Students should expect to spend about ten to fifteen hours per week on course material. This includes reading the text, answering the study questions, doing exercises, the midterm exam, and programming the final project.

Continue


Who (and where) Are the Participants?

The instructor is Professor Timothy Budd, from Oregon State University.

We do not yet have a TA assigned for this term.

I will ask that every member of the class introduce themself in a short e-mail introduction.

Students who are able can also create a home page.

Continue


What Facilities are Needed to Participate in this course?

Participants are expected to have access to a World-Wide-Web browser, and be able to send and receive electronic mail. A graphical browser (such as Netscape) is preferable, however a text-only browser (such as Lynx) can be used if necessary. (In the latter case certain essential figures may have to be mailed to the participant by ordinary postal mail).

The web browser will be used to read the study material, while electronic mail will be the medium for discussions, homework, and examination.

Continue


What if I need to see a real person?

My office is Dearborn 218, on the OSU campus. Office hours are MWF from 10 to 11:30, although you are welcome to try and drop by at other times. Phone is 541-737-5581. Fax is 541-737-3014. E-mail is budd@acm.org.

Continue


The Textbook

This course is based around my book, An Introduction to Object-Oriented Programming, 3E (published by Addison-Wesley Longman, 2002). You should be able to find a copy of this book at any good technical bookstore (such as Powells in Portland), or you can order it on-line. In the past the on-line prices were often less than the OSU bookstore price, but now they seem very similar.

A variety of information for the textbook, include an errata sheet, is available on-line.

In addition to the textbook, students will likely want to purchase a reference manual for whatever language they are using for their project. The OSU bookstore has quite a range of titles, as do many other technical bookstores. If asked (in the discussion group) I can suggest a few titles.

Other Books I have written

I've written many books, several of which are related to the topic of this class.

Continue


Structure of the Course

A course is much more than simply a textbook. The lectures themselves are only the beginning.

For those taking the course for credit, the final grade will be determined by the percentage of study questions completed, the mid-term examination, and an evaluation of the final project (both the program and the report). Completion of all material is sufficient to obtain a grade of ``B''. To obtain an ``A'' grade the student must demonstrate creativity as well as a firm mastery of the course material.

Continue


Study Groups

In order to reduce the load on the Teaching Assistant and instructor and to encourage greater interaction on the part of participants, students are encouraged to form study groups. Study groups work best if there is physical proximity (such as a number of students from the same industrial site), however they can also be made to work using electronic mail. Study groups can also be formed around common interests, for example people using Delphi for their programming project. While study groups are not a requirement, they are nevertheless useful. The instructor will try to help in the formation of such groups.

Continue


The Project

Students taking the course for credit are required to complete a project in an object-oriented language of their choice.

The only requirement for this project is that it be suitable as a vehicle for demonstrating to the teaching assistant and the professor that the student understands the principles of object-oriented programming. Part of a successful completion of this assignment is understanding and selecting a type of project that is so suited. In discussions in the mailing list I will suggest ideas that have proven to be successful projects in the past.

Students can work in teams on a project. Teams can be no larger than four individuals, and team projects are held to a higher standard than are individual projects.

Projects need not be a task specific to this course. A project that is useful at work or as part of a larger research program or even in another course can be proposed. In such cases approval for the use of the project in this fashion must be obtained not only from myself, but also from the appropriate instructor or supervisor.

Before week six a description of the project must be submitted. This description will include the language and platform to be used, the members of the team, and background on the project (such as if it is being used in a research program or course). The TA and/or instructor may comment on the project, or may simply register an assent.

Where practical, source code or executable versions of the project will be made available to the entire class for examination during the last week of the course.

In addition to a working project, students must submit a short (five to twenty page) report describing the project, and how object oriented principles were used in the programming of the project. The report should be well-written, formatted and spell checked. The report is used to determine how well you understood the concepts that have been discussed in class, so it should be detailed. Your grade is based on the quality of the report as well as the coding for the project.

Projects from Fall 1995 Class
Projects from Spring 1995 Class
Projects from Fall 1996 Class
Projects from Spring 1997 Class
Projects from Spring 1998
directory of previous projects
Ideas for Possible Projects

Continue


The Mailing List

In class ``discussions'' we be conducted using an e-mail mailing list. The address for this list is class-cs582@engr.orst.edu

You can contribute to a discussion by simply sending mail to this address. Those of you who have a mail alias file may wish to select a shorter name for this address. Only those people who have registered for the course can be placed on the mailing list.

The mail list is archived, which you can access from the web page. For example, you can register a different mail address if you wish.

Continue


E-Mail Manners

Much of what goes on in this class will occur using the medium of electronic mail. E-mail is a very powerful, and sometimes dangerous tool. Please remember the following:

Continue


Calendar of Topics

The following calendar lists the intended dates for discussing specific sections of the text, as well as hyperlinks to the associated lectures and audio files. (Audio files not yet available for the 3rd edition, sorry). Participants are asked to try to stay as close as possible to this schedule.

A table of Study Questions To Date is available.

Week 1

Week 2

Week 3

Week 4

Week 5
Week 6

Week 7

Week 8

Week 9

Week 10

Finals Week

Home Pages

A table of links to students home pages. Creating a home page is encouraged, but is not required.


External Links

Here are some external links related to object-oriented programming:

If you have links you think might be appropriate here, let me know.
This page was created by Professor Timothy A. Budd,
Oregon State University, Corvallis, Oregon, USA.
Last Modified:
All rights reserved, 1998-2005.