ClassInfo

SE 350 Object-Oriented Software Development

Christopher Hield

Office: CDM M106
Winter 2005-2006
Class number: 23358
Section number: 802
Th 5:45PM - 9:00PM
CDM 00224 Loop 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 Software Development Using Java (2nd Ed.), by Xiaoping Jia, Addison-Wesley, August 2001,

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:
  • Java How to Program, Sixth Edition, by Harvey M. Deitel & Paul J. Deitel, Pearson Education, December 2004.

The recommended books on the syllabus are what *I* recommend - the bookstore also carries books the dept. recommends.
Since they are recommended and not required, I do not assign specific readings from these texts - they will support your knowledge of things like 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 sourse 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 35%
Program 30%
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. on Thursdays(before class) and 9-10:00 pm on Thursdays(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
- JBuilder
- Java 5.0
- Reading: Textbook Chapter 1 (1.1 - 1.4)
- Reading: Textbook Chapter 3 (3.1 & 3.2)

- Download, install & verify JBuilder
- Download, install & verify Java 5.0

- Debugging
- Exception Handling
- OO Principles 2
· Inheritance
· Polymorphism
· Composition
- OO Principles 3
· Interface
· Interface Polymorphism
· Delegation
- Reading: Textbook Chapter 2 (2.1 - 2.4)
- Reading: Textbook Chapter 4 (4.1 - 4.2)

- Proj. Phase 1 Out

- Proj. Phase 1 Due
- Interfaces & Implementation Objects
- Log4J
- Design Pattern: Singleton
- Design Pattern: Monostate
- Reading: Textbook Chapter 4 (4.3)
- Reading: Textbook Chapter 5 (5.1 - 5.4)

- Proj. Phase 2 Out

- Proj. Phase 2 Due
- JUnit
- Design Pattern: Façade
- Design Pattern: Data Transfer Object
- Design Pattern: Strategy
- Design Pattern: Null Object
- Reading: Textbook Chapter 4 (4.4)
- Reading: Textbook Chapter 6 (6.1 - 6.5)

- Project Phase 3 Out

- Midterm

- Project Phase 3 Due
- Reflection & the Strategy Pattern
- Design Pattern: Factory
- Design Pattern: Power Type
- Design Pattern: Template
- Design Pattern: Flyweight
- OO Foundations 1
· Single Responsibility Principle
· Open-Closed Principle
· Liskov Substitution Principle
· Dependency Inversion Principle
· Interface Segregation Principle
- Reading: Textbook Chapter 4 (4.5 - 4.6)
- Reading: Textbook Chapter 7 (7.1 - 7.3)

- Project Phase 4 Out

- Project Phase 4 Due
- UML Class Diagrams
- UML Sequence Diagrams
- Reading: Textbook Chapter 8 (8.1, 8.2 & 8.4)
- Reading: Textbook Chapter 10 (10.1 - 10.4)

- Project Phase 5 (Final Phase) Out

- Concurrency in Java
- Refactoring
- Reading: Textbook Chapter 11 (11.1 - 11.2)

- Project Phase 5 (Final Phase) Due
- Persistence
- JDBC
- Topics TBD
- Reading: Textbook Chapter 12 (12.1 - 12.4)

- 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