Object-Oriented Software Development (CS3280)

Course Information

Title: Object-Oriented Software Development
Institution: Metropolitan State University of Denver
Course ID: CS 3280
Semester: Fall 2015
Meetings: Mondays & Wedensdays 2:00PM - 3:50PM
Location: Central 101
Credit Hours: 4
Prerequisites: CS2050 with a grade of "C" or better
Policies: http://www.jodypaul.com/cs/oosd
Moodle Site: http://gouda.msudenver.edu/moodle
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody @ computer . org
Office: Science 1038 (x68435)
Campus Mail: Campus Box 38

Catalog Text

This is an upper division software development class that focuses on the object-oriented programming paradigm. Object-oriented analysis, design, and development will be explored in some depth with emphasis on object definition, abstraction, polymorphism, encapsulation, and inheritance. Abstract class definitions are developed for a number of common objects and data structures, and derivative classes and subclasses are developed from these definitions. Students will develop a thorough understanding of an object-oriented programming language.

Course Description

The course is intended to enhance students' understanding of the object-oriented paradigm as introduced in the prerequisite courses CS1050 and CS2050.

Participants are expected to already have a good working knowledge of the Java programming language.

Upon completion of this course the student should be able to

  1. Define object-oriented analysis, design, and programming, and identify the principal characteristics that differentiate these from other software development paradigms.

  2. Define criteria for identifying candidate classes and objects.

  3. Identify and define state associated with an object.

  4. Identify and define the behavior of an object in a specified environment.

  5. Create abstract and parent object classes for use in defining derived and descendant classes.

  6. Develop a set of virtual methods for a lineage of related and descendant classes.

  7. Develop the functionality of overloaded methods for a class.

  8. Analyze a problem space then design, develop, and implement object-oriented applications of moderate complexity.

  9. Implement an effective exception handling scheme for an application.

  10. Design, develop and implement a library of object classes and objects.

The final course grade combines in-class assessments with submitted assignments.


Cover of Weisfeld book The Object-Oriented Thought Process (4th Edition)
by Matt Weisfeld
Addison-Wesley (2013); ISBN 0321861272

Cover of UML book The Elements of UML Style 2.0
by Scott W. Ambler
Cambridge University Press (2005); ISBN 0521616786

Course Policies

Class Sessions & Websites

You are expected to prepare in advance for class sessions (reading, exercises, etc.), to participate in class discussions and collaborative activities. Participation in class discussions and activities is mandatory and constitutes part of the overall grade for the course. There are no “make-ups” for missed in-class activities and exercises.

A substantial amount of information is disseminated during class sessions and via the course website. You are responsible for knowing this information whether or not you attended the sessions or accessed the website. Note in particular that the textbooks and references provide some but not all of the information necessary to successfully complete the course.

In addition to important course and domain information, the course support website also provides the vehicle for managing assignments and other assessments.

Due Dates/Times

Deliverables associated with assignments may be aubmitted for scoring at any time prior to the published due date/time.

No assignment deliverables will be accepted more than 24 hours after the published due date/time.

N.B. All risks associated with late submissions are assumed by the student. Note in particular that system and network failures occuring after the regular due date/time will not result in an extension of the late submission acceptance period.

Because there are so many risks to completion and submission, you are strongly encouraged to target completion of assignments no less than 24 hours prior to the published due date/time. Illness, crises, and emergency situations will be dealt with on a case-by-case basis in accordance with University, College, and Departmental policies.

Assignments & Projects

Assignments and projects represent your opportunity to learn new concepts, reflect on those ideas, practice applying those concepts and new tools, and reflect on your experiences thereby enhancing your understanding and demonstrating your knowledge of the concepts and ability to apply them. Details regarding assignments and projects will be provided in class and on the course moodle website. Assignments must be turned in using the course moodle website unless explicitly specified otherwise. In particular, e-mail and hard-copy will not be accepted in lieu of online submission.


Every assignment and project turned in must include a section (maximum 150 words) labeled “Reflection” in which you reflect on the experience of the assignment or project by describing your personal insights and observations associated with the experience. This reflection is required whether or not the assignment specification mentions it explicitly and comprises a portion of the score of every assignment and project.

Online Submission

Assignments must be turned in using the course moodle website unless explicitly specified otherwise. In particular, e-mail and hard-copy will not be accepted in lieu of online submission. The moodle assignment activity allows you to enter and upload working-drafts (such as work in progress that you do not intend to be scored). Therefore, to indicate that you wish your assignment entry to be submitted for scoring, you must click the Submit button for that assignment and accept the subsequent attestation. Note that failure to click the Submit button will result in no earned score for the assignment. Note further that use of the Submit button indicates that the assignment is ready to be scored.

Deliverable Formats

Formats of documentation files turned in for assignments must not depend on specific operating system or commercial software.

Examples of generally acceptable formats: ASCII or UNICODE UTF-8 text, HTML, PDF, GIF, JPEG, PNG. Examples of specifically unacceptable formats: Microsoft Word, Apple Pages, Microsoft PowerPoint, Apple Keynote, Microsoft Excel, Apple Numbers.

Acceptable formats for archives include only tar, gz, and zip.

Note that a deliverable submitted in an unacceptable format is equivalent to no submission at all. If you are unsure about the acceptability of a file format, please check with your instructor well prior to submission.

Quiet Period

The 24-hour period immediately preceding the published due date/time for an assignment is considered a quiet period. During that 24-hour interval, the instructor will not address questions directly referencing specifics of thatassignment. All students are strongly encouraged to complete assignments well in advance of this quiet period. Further, since computer systems are likely to be strained during the 24-hour period immediately preceding a published due date/time, you should not depend on such systems, including the course support servers, to be consistently available during that period.


Collaboration & Citation of Sources

Successful programming is rarely a solitary endeavor devoid of external contributions. Collaboration, teamwork, and consultation of work by others are the norms.

Collaborative activity is required for successful completion of this course. In particular, collaboration is encouraged and regarded as an essential aspect of learning computer science and programming. Collaboration and discussion with fellow students and instructors concerning course information, materials, assignments, projects, proofreading, and concept exploration is strongly encouraged. You are not expected to learn the course content or work on assignments and projects in isolation on your own.

That said, you must write up your own submissions, reflecting your individual effort, for every assignment you turn in to be assessed, even if the solution results from collaborative effort. In your submission, you must credit the people with whom you worked.

If you consult any sources, your submission must explicitly reference the sources and indicate where and how they apply.

Turning in work that includes quotations without corresponding citations, does not properly cite references, or does not credit collaborators, must be treated as academic dishonesty and an attempt at fraud. All incidents of suspected dishonesty will be reported to the department and the Dean of the college. Consequences may include a score of 0 on the assignment, a grade of "F" for the course, academic probation, or dismissal from the institution. This is a very serious matter and should not be taken lightly. If you have any uncertainty or concerns, please discuss them with your instructor or your advisor.

Scoring & Grading

Your final course grade is determined by combining all assessments of performance. The maximum possible score of each item reflects its relative weight, thus the scores for the items are summed to determine the cumulative total score. Conversions from numerical scores to letter grades are as shown.

A  : 93% ≤ score
A- : 90% ≤ score < 93%
B+ : 87% ≤ score < 90%
B  : 83% ≤ score < 87%
B- : 80% ≤ score < 83%
C+ : 77% ≤ score < 80%
C  : 73% ≤ score < 77%
C- : 70% ≤ score < 73%
D+ : 67% ≤ score < 70%
D  : 63% ≤ score < 67%
D- : 60% ≤ score < 63%
F  : score < 60%


Official Information

Official policies applicable to all courses: http://cs.msudenver.edu/degrees/courses/policies

MSU Denver College Catalog: http://catalog.msudenver.edu
Official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities

MSU Denver Academic Calendar: http://www.msudenver.edu/events/academic/
Additional official dates and deadlines, including the last dates to withdraw and receive NC and holidays

MSU Denver Student Handbook: http://www.msudenver.edu/handbook/
Important Metro State and Auraria campus policies and procedures for students