ClassInfo

SE 450 Object-Oriented Software Development

Spring 2001-2002
Class number: 36089
Section number: 305
M 6:15PM - 9:30PM

Summary

This course will cover the principles of object-oriented design and implementation (programming). Some of the topics we will discuss include:

  • Techniques of object-oriented design, including CRC cards, design scenarios (storyboarding), abstraction, specification, and refactoring.
  • Techniques and principles of object-oriented implementation, including design-by-contract, defensive programming, and iterative and incremental development.
  • Unified Modeling Language (UML) design artifacts: design class diagrams, object collaboration and sequence diagrams.
  • Coding standards and practices, including documentation, code readability, and elements of Java style.
  • Unit and integrated testing.
  • Developing a working vocabulary of design patterns and their implementation.

The course will consist of lectures, reading and homework assignments, a mid-term exam, and a final project with a one-on-one presentation to the instructor. Java will be used for source code examples, homework assignments, and the exams.



Texts

Required: 

  • Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Addison-Wesley, 1995.

Optional: 

  • Design Patterns Explained: A New Perspective on Object-Oriented Design, by Alan Shalloway and James R. Trott, Addison-Wesley, 2001.


Grading

All assignments must be submitted via Course On-Line (COL) and are due at the beginning of class on the assignment due date.  

Coursework Grade Proportion
Homework assignments

20%

Mid-term exam

40%

Final project

40%

Total

100%

Coursework will be graded on both functionality and code quality.



Prerequisites

  • CSC 416 or equivalent course on data structures.
  • CSC 224 (or 211 and 212) or equivalent Java programming experience. 



Course Goals

Upon successful completion of this course, the student should be able to:

  • Understand and properly apply object-oriented design techniques and UML design artifacts.
  • Identify invariants and pre- and post-conditions for program operations.
  • Understand and apply iterative and incremental development and refactoring.
  • Produce documented, readable source code conforming to basic coding standards and practices.
  • Write effective tests for programs.
  • Understand and apply a set of design patterns.
  • Demonstrate improved Java programming skills.


Lecture Topics (tentative-subject to revision):

  • Syllabus review and course logistics
  • O-O versus procedural programming
  • O-O concepts overview
  • Development methodologies
  • Abstraction and specification
  • CRC cards and design scenarios
  • UML Design Class Diagram Notation I: Classes and packages

Lecture Topics (tentative-subject to revision):

  • Inheritance and interfaces
  • Substitution principle
  • Static and dynamic binding
  • Polymorphism
  • UML Design Class Diagram Notation II: Class relationships, attributes, and methods
  • Design patterns overview
  • Strategy design pattern

Lecture Topics (tentative-subject to revision):

  • Classes and instances
  • Class and instance methods
  • Abstract classes
  • Final classes
  • Interfaces
  • Building quality classes
  • Template Method design pattern

Lecture Topics (tentative-subject to revision):

  • Design principles
  • Design-by-contract
  • Preconditions, postconditions, and invariants
  • Defensive programming
  • Defensive programming techniques
  • Tools
  • Composite design pattern

Lecture Topics (tentative-subject to revision):

  • Testing overview
  • Unit testing
  • Integrated testing
  • Testing tools

Mid-term exam. Covers topics through Week 5.

Lecture Topics (tentative-subject to revision):

  • Design principles and patterns (TBD)

Lecture Topics (tentative-subject to revision):

  • Design principles and patterns (TBD)

Lecture Topics (tentative-subject to revision):

  • Design principles and patterns (TBD)

Lecture Topics (tentative-subject to revision):

  • Design principles and patterns (TBD)

School policies:

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you have any questions be sure to consult with your professor.

All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296