CENG/BILM 217 Object Oriented Design

Home
Up

 


This page provides dynamic information and materials for the lecture, as it becomes available; please check it at least once in a week.

Lecture Announcements

    23-January-2006

bullet

The best 3 projects for each CENG/BILM 217 section are announced in the Projects Page.

bullet

Look at the details of projects grading. Check also this CENG 217 page or this BILM 217 page. But some project grades may change later... Why? Read next:

bullet

The project grades of some students (not all team members) will change depending on your grades you got in Q&HWs, Midterm and Final exams. If you have poor performance in all these 3 grades and class attendance, this will also be reflected to your final project grade.

bullet

The final exam will cover all the materials you learned during this semester. The chapters from the textbook: 1-6, and 9.

bullet

The format of the exam will be similar to the first part of the midterm exam, but there will not be the second part in the final exam.

bullet

The final exam will be closed books and notes.

bullet

The duration of the exam is 90 minutes.
 

    13-December-2005

bullet

Midterm Solutions
CENG 217: Questions (part 1), Solutions: 1. part, 2. part (2. part Eclipse project),
BILM 217:  Questions (part 1), Solutions: 1. part, 2. part (2. part Eclipse project)

 

    12-December-2005

bullet

The first versions of the lecture slides of the remaining chapters are posted below. They will be updated, the last versions will be posted here after we cover them in class.

bullet

But your all project team members, especially developers and the project lead, should study these topics before we cover them in class.

bullet

These (topics in Chp7 - Chp10) and other topics like files and streams, JDBC, SQL, advanced GUI are very important in most of your projects. So your team members must learn and use them in your project, even some of them will not be taught in our lecture! 
 

    21-November-2005

bullet

Midterm Exam:
CENG 217 :
  5-December-2005, Monday, at 15:00 - 17:00, 2-hour exam.
BILM 217:    13-December-2005, Tuesday, at 12:00 - 14:00, 2-hour exam.

bullet

The exam has two sessions. In the first session, books and notes are closed. In the second session you can open your books and lecture notes. but photocopy books are not allowed in the exam! No illegal pirated edition!!

bullet

Homework 4: Questions from the book: 4.4, 4.14, 4.18, 4.20

bullet

Homework 5:  5.2, 5.4, 5.6, 5.8

bullet

Due date: 30-November-2005, Wednesday, until 5 pm.
 

   14-November-2005

bullet

Please look at the Projects Page...
 

    9-November-2005

bullet

Homework 3: Do the following questions from your text book OODP: 2.18, 3.6, 3.10, 3.20.

bullet

Due date: 18-November-2005, Friday, until 5 pm.
 

   24-October-2005

bullet

Homework 2: Do the following questions from your text book OODP: Chapter 2, questions 2, 6, 8, 10, 12, 14, 16.

bullet

Due date: 31-October-2005, Monday, until 5 pm. Submit the print-out of the assignment to your TA.
 

   20-October-2005

bullet

You will have your first 20-minute quiz on Monday,  24 from the second chapter of your text book. It will be open book exam but photocopies will not be allowed.

bullet

You will also take your second assignment on Monday.
 

   12-October-2005

bullet

Homework 1: Do the following questions from your text book OODP: Chapter 1, questions 1-19 and 21 (Totally 20 simple questions for measuring your knowledge on Java basics).

bullet

Due date: 21-October-2005, Friday, until 5 pm. Submit the print-out of the assignment to your TA.
 

   28-September-2005

bullet

Start to visit your TA Melek Oktay's course home page also regularly. He will make his lab and homework announcements on his page. The homework solutions, some program samples and documents related to his lab activities will be posted here. You should also visit his web page frequently.

bullet

Your lab hours will be posted on the course web page of M. Oktay. There will be 3 different lab sessions. Please check your lab hour, if it is not convenient for your course schedule, talk to M. Oktay for another lab session.  

bullet

The labs will start next week!
 

    26-September-2005

bullet

Welcome to CENG/BILM 217 Object Oriented Design/Nesneye Yönelik Programlama!

Course Materials  (Lecture Slides, Readings, Programs, Technical Documents)

bullet

There will usually handouts (notes) to accompany lectures. The handout will contain the lecture slides, source code for the day's lecture and some outline notes of what I thought I was going to say. The electronic versions of the handouts will be mostly available before the lecture on the References and Readings page or this page.

bullet

The main handouts of the lecture: Lecture slides of the text books: OODP 2ndEd  and  JHTP_6thEd 

bullet

Purpose: To allow better concentration in lecture by reducing note-taking pressure and to provide a study-aid before (unfortunately not this year) and after lecture.

bullet

Disclaimers: (a) I may not follow these slides exactly in class. (b) Students are responsible for what I say in class. (c) Reading these slides is not a substitute for attending lecture.

bullet

Bring Printouts of Lecture Slides (OODP and JHTP) to class: If you bring the lecture slides to class, you can take some notes on these slides, being active, follow the lecture and not sleep in class.
    

 Wk  Date  Notes  Topics Covered Books

HW

1 28/9

Course Overview  Lecture part cancelled because system set-up not complete

2 3/10

Java Refresher: Java basics, Introduction to Object Orientation using a Simple Example Project (Introduction to ATM Case Study)

Lab Work: Introduction to OO analysis, design and programming process and development tools (Eclipse, BlueJ and a UML tool). 

OODP1,
JHTP2,
JHTP3
HW1
3-4 10/10
17/10
UML
Lec 2

Object Oriented Design Process: Identifying classes and methods, relationships between classes, CRC cards, Introduction to UML and basic diagrams (use case, class, sequence, state diagrams), Voice Mail Case Study.

Lab Work: OO Analysis, Design and Implementation Example: Voice Mail Case Study

OODP2 HW2
5 24/10 ATM Case Study

ATM Case Study: Main activities in the design phase: Modeling using CRC cards, UML class and sequence diagrams. Discovering classes, assigning responsibilities to classes, finding collaborators. Designing initial static and dynamic view using class and sequence diagrams. Finding operations and other classes from a sequence diagram, and generating initial code templates using a modeling and implementation tool together. Model-Code and Code-Model synchronization techniques.

Lab Work: OO Analysis, Design and Implementation Examples: Voice Mail and ATM Case Studies

JHTP2-JHTP8 Q1
6 31/10 Lec 3

Guidelines for Class Design: An Overview of the Date Classes in the Java Library, Designing a Day Class, Three Implementations of the Day Class, The Importance of Encapsulation, Analyzing the Quality of an Interface, Programming by Contract, Unit Testing

OODP3 HW3
7 7/11 Lec 4 Interface Types and Polymorphism: The Icon Interface Type, Polymorphism, The Comparable Interface Type, The Comparator Interface Type, Anonymous Classes, Frames and User Interface Components, User Interface Actions, Timers, Drawing Shapes, Designing an Interface Type OODP4 HW4
8-9 14/11
21/11
Lec 5
Programs5
MVC

Patterns and GUI Programming: The ITERATOR as a Pattern, The Pattern Concept and Introduction to GoF Design Patterns, The OBSERVER Pattern, Layout Managers and the STRATEGY Pattern, Components, Containers, and the COMPOSITE Pattern, Scroll Bars and the DECORATOR Pattern, How to Recognize Patterns, Putting Patterns to Work.

OODP5 HW5
10 28/11  Lec 6

Inheritance and Abstract Classes: The Concept of Inheritance, Graphics Programming with Inheritance, Abstract Classes, The TEMPLATE METHOD Pattern, Protected Interfaces, The Hierarchy of Swing Components, The Hierarchy of Standard Geometrical Shapes, The Hierarchy of Exception Classes, When Not to Use Inheritance

Lab Work: Recitation lecture before midterm exam

OODP6  
11 5/12 Guidelines
Case Study
Project
Midterm:  Monday (CENG 217, 15:00 - 17:00) - Tuesday (BILM 217: 12:00 - 14:00)
Case Study: O-O analysis, design and implementation examples
12 12/12 Lec 7 Java Object Model: The Java Type System, Type Inquiry, The Object Class, Shallow and Deep Copy, Serialization, Reflection, Generic Types, The Java Beans Component Model OODP7
13 19/12 Lec 8 Frameworks: Frameworks, Applets as a Simple Framework, The Collections Framework, A Graph Editor Framework, Enhancing the Graph Editor Framework OODP8
14 26/12 Lec 9
Threading Samples
Multithreading: What is a Thread, Multiprocessing and Multithreading, Thread Structure and Thread Creation, The Life Cycle of a Thread: Thread States, Thread Scheduling and Priority, Multithreaded Programs, Thread Synchronization, Animations OODP9
15 2/1 Lec 10

More Design Patterns: The ADAPTER Pattern, Actions and the COMMAND Pattern, The FACTORY METHOD Pattern, The PROXY Pattern, The SINGLETON Pattern, The VISITOR Pattern, Other Design Patterns

Project Demonstrations

OODP10

 

Home | CENG/BILM 217 Object Oriented Design | CENG/BILM 217 References and Readings | Projects