|
|
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
|
The best 3 projects for
each CENG/BILM 217 section are announced in the
Projects Page. |
|
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:
|
|
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. |
|
The final exam will
cover all the materials you learned during this semester. The
chapters from the textbook: 1-6, and 9. |
|
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. |
|
The final exam will be
closed books and notes. |
|
The duration of the exam is
90 minutes.
|
13-December-2005
12-December-2005
|
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. |
|
But your all project
team members, especially developers and the project lead, should
study these topics before we cover them in class. |
|
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
|
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.
|
|
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!! |
|
Homework 4: Questions from
the book: 4.4, 4.14, 4.18, 4.20 |
|
Homework 5:
5.2, 5.4, 5.6, 5.8 |
|
Due date: 30-November-2005,
Wednesday, until 5 pm.
|
14-November-2005
9-November-2005
|
Homework 3: Do the following
questions from your text book OODP: 2.18, 3.6, 3.10, 3.20.
|
|
Due date: 18-November-2005,
Friday, until 5 pm.
|
24-October-2005
|
Homework 2: Do the following
questions from your text book OODP: Chapter 2, questions 2, 6, 8,
10, 12, 14, 16. |
|
Due date: 31-October-2005,
Monday, until 5 pm. Submit
the print-out of the assignment to your TA.
|
20-October-2005
|
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. |
|
You will also take your
second assignment on Monday.
|
12-October-2005
|
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). |
|
Due date: 21-October-2005, Friday, until 5 pm. Submit
the print-out of the assignment to your TA.
|
28-September-2005
|
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. |
|
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.
|
|
The labs will start next
week!
|
26-September-2005
|
Welcome to
CENG/BILM 217 Object Oriented
Design/Nesneye Yönelik Programlama!
|
Course Materials
(Lecture Slides, Readings,
Programs, Technical Documents)
|
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. |
|
The main handouts of the lecture: Lecture slides of the text books:
OODP 2ndEd and
JHTP_6thEd
|
|
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.
|
|
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. |
|
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 |
|
|
|