ClassInfo

SE 450 Object-Oriented Software Development

Christopher Hield

Office: CDM M106
Spring 2007-2008
Class number: 33950
Section number: 910
-
Online Campus

Summary

The objective of this course is to teach the student the concepts and practice of object oriented software development. The purpose of studying object-oriented development is to acquaint students with the concepts and terminology required in the object-oriented community. A foundation will be built by studying the concepts behind object orientation. Using this foundation, the student will learn the real-world aspects of object orientation by putting the concepts into practice.
Among the topics of the course are:

  • Principles of object-orientation.
  • Principles of object-oriented design.
  • UML class, object and interaction diagrams.
  • Testing methodologies.
  • Design Patterns.
  • Advanced Java Techniques.
Java and the UML will be used for source code examples, homework assignments, and the exams.




Texts

Course Textbook:
  • Object-Oriented Design and Patterns, 2nd Ed., by Cay S. Horstmann, Wiley, June 2005,

Recommended Books on Design Patterns:
  • Head First Design Patterns, by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, by Craig Larman, O'Reilly, October 25, 2004).
Recommended Books emphasizing Java (not required):
  • Java How to Program, Seventh Edition, by Harvey M. Deitel & Paul J. Deitel, Prentice Hall, January 2007.

Since these are recommended and not required, I do not assign specific readings from these texts - they will support your knowledge of Java and Design Patterns.
I recommend "Head First Design Patterns" as an optional text because it's easy to follow and understand. You can choose that or what the bookstore has.
I also recommend the Java text "Java How to Program" as an optional text because it's pretty complete and a good source of info. It's a java source book so if you already have a java book - or like some other java book - then you can really just pick up what you want.





Grading

Course Grade Evaluation:

Midterm 30%
Program 35%
Final 35%
Total 100%


All assignments in this course must be completed in a timely manner. For full credit on a given assignment, it must be submitted on time. Late assignments will be accepted with a 10% penalty per class period past the deadline. (i.e., turned in from 1 minute to 1 week late = 10% penalty, 1 minute past 1 week to 2 weeks late = 20% penalty, 1 minute past 2 week to 3 weeks late = 30% penalty, etc.).

Be advised that a significant amount of project and exam assistance is given in class, and missing that assistance can severely compromise your ability to perform adequately in this course.
  • Course grades are solely based upon the student's academic performance. This means a student's grade is based only upon their performance on the Midterm Exam, Programming Project, and Final Exam.



Grading Scale

A : total >= 93
A-: 93 > total >= 90
B+: 90 > total >= 87
B : 87 > total >= 83
B-: 83 > total >= 80
C+: 80 > total >= 77
C : 77 > total >= 73
C-: 73 > total >= 70
D+: 70 > total >= 67
D : 67 > total >= 63
D-: 63 > total >= 60
F : 60 > total



Prerequisites

CS 416 OR CSC 383, and Java programming experience. NOTE: This is not an introductory Java course.




Course Performance Requirements

A programming project and two examinations comprise the general requirements of the course. Assigned reading is essential to understand and appreciate the foundations and philosophy of object-oriented design. The programming assignments are designed so the student can master the true object-oriented programming concepts, as well as insure that the student leaves the course with a working knowledge of object-oriented concepts.




Instructor

The official office hours for this class are approximately 4:30 - 5:45 p.m. before class and 9-10:00 pm after class. I am downtown nearly every day so alternate meeting times are possible as well, based upon availability.



NOTE: The schedule of topics and topic appearance is subject to change based upon class performance and instructor disgression.



- Course Introduction & Discussion
- OO Principles 1

    Abstraction
    Separation
    Encapsulation
    Information Hiding
- Software Tools
    NetBeans
    Java 5.0/6.0
    Ant
    JUnit
- Download & install NetBeans(comes with JUnit)
- Download & install Ant
- Download & install Java 5.0/6.0

- Exception Handling
- Debugging
- OO Principles 2
    Inheritance
    Polymorphism
    Composition
- OO Principles 3
    Interface
    Interface Polymorphism
    Delegation
- Interfaces & Implementation Objects
- Design Pattern: Singleton
- Design Pattern: Monostate
- JUnit
- Design Pattern: Facade
- Design Pattern: Data Transfer Object
- Design Pattern: Strategy
- Design Pattern: Null Object
- Midterm

- Reflection & the Strategy Pattern
- Design Pattern: Factory
- Design Pattern: Power Type
- OO Foundations 1
    Single Responsibility Principle
    Open-Closed Principle
    Liskov Substitution Principle
    Dependency Inversion Principle
    Interface Segregation Principle
- Design Pattern: Observer
- Other Design Patterns
- UML
    Class Diagrams
    Sequence Diagrams

- Concurrency in Java
- Refactoring
- Persistence
    JDBC
    Serialization

- Distributed Computing
    RMI
    Sockets

- Topics TBD
- Topics TBD
- Final Exam Project Assigned


NOTE: The schedule of topics and topic appearance is subject to change based upon class performance and instructor disgression.

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