SE 450 Object-Oriented Software Development
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
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)
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.
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.
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.
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 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