CENG 217 Object Oriented Programming

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

bullet

Grades (5/February/2003)

bullet

Look at the project page. (18/December/2002)

bullet

The fourth homework assignment is given below. It will be due on Tuesday, 24 December 2002 (17/Dec/2002).

bullet

The third homework assignment is given below. It will be due on Monday, 2 December 2002 (20/Nov/2002).

bullet

The midterm exam date: 10/December/2002, Tuesday. I will post some explanations about the exam later. After you take this exam, one week later, you will submit your project proposal (project vision) based on the template given on page 53 of Java&UML, and you will start your big term project. It will take about one month (18/November/2002).

bullet

I've put a sample chapter on Java Threads from my new book as I said in the class. If you wish you can study threads from this sample chapter. It has also the sample program (bouncing gif figures in an area) which was presented in the class this week (13/November/2002).

bullet

You must follow the Java style and coding standards in your programming assignments and projects. I put some resources at the References (Coding) section below (12/November/2002).

bullet

I put some starting point addresses on UML below (References/UML section). There are some good articles and other resources at these links (1/Nov/2002).

bullet

The first assignment is given below as a PDF file. It will be due on Tuesday, 5 November (25/Oct/2002)

bullet

The following are the preliminary works you should be doing nowadays before you start your term project (17/Oct/2002):
- Installing JBuilder and Together programs on your computers.
- Getting JBuilder, Together, Special UML CDs from your assistant.
- Starting examining and writing the JBuilder and Together sample programs.
- Completing "A Practical Guide to Getting Started with Together Control Center 6.0" tutorial which we have stated in class.
- Working through some of the introductory Together Viewlets tutorials which are on the Together CD. There may be some new tutorials on the Internet site.
- Learning "Java Threads and Multithreaded Software Design" topic which is very important in professional Java projects and is the subject of another course. You can get my lecture slides on this topic.
- Learning UML and Rational Unified Process (RUP). You will use RUP in your projects. A project that uses UML in a vacuum without a sound software process, like RUP, and accompanying project plan, will fail.
- Reading chapters 1, 2, 3, and 4 from Developing Applications with Java and UML (Java&UML).
- Starting to think and work on your Project Vision using the template given on page 53 of Java&UML.
- Examining the Elevator Simulation Case Study which is given in Java How to Program, Deitel and drawing the important UML diagrams (Use Case, Class and Sequence diagrams) of this simulation using Together.
- Finding other good case studies (OO projects, if possible UML-based) to examine their designs. You can learn to design programs by studying good and bad designs, and coming to understand why they are good and bad. But you REALLY learn to design programs by designing programs and studying the results!
" Good design comes from experience. Experience comes from bad design. "

bullet

You can get the passwords of the zip files containing the lecture slides and other materials from the assistant. He is your solution point especially for your practical issues (17/Oct/2002).

bullet

Finally an assistant was assigned to this course! He is Engin Tozal (17/Oct/2002).

bullet

Read Chapters 1-2 in UOOP (Textbook) before coming to the class (4/Oct/2002).

Homeworks, Lecture Notes

  The homework assignments and lecture slides will be posted on this web page.
 

   Homeworks

bullet

HW 1    HW 2    HW 3    HW 4   

  
   Solutions

bullet

Sol 1    Sol 2


   Midterm Exam Solutions

bullet

Closed Book    Open Book (Take Home-Programming Problem)

   Lecture Notes

Date Lectures and Others Topics Notes
24/11 Sample RMI Programs JBuilder RMI projects The programs presented in the class.
24/11 Lecture 10 Java Remote Method Invocation  
17/11 TPC Sockets Program Samples JBuilder and Together projects The programs presented in the class.
17/11 TCP Soket Programcılığı TCP sockets based network programming The supplementary chapter from my new book.
17/11 Lecture 9 Background for projects: Quick Review of TCP/IP and TCP Sockets Based Network Programmming  
26/11 Lecture 8 Mechanisms for Software Reuse (Chapter 10), Implications of Inheritance (Chapter 11)  
20/11 JBuilder Projects on Java Threads Sample JBuilder projects presented in the class  
20/11 Lecture 7 Java Threads and Multithreaded Software Design  
19/11 Lecture 6 Understanding Inheritance (Chapter 8) and A Case Study: Solitaire (Chapter 9)  
19/11 Chapter 9 Together Program A case study: Solitaire This program shows the power of inheritance and overriding
13/11 Java Thread'leri ve Çok-Thread'li Yazılım Tasarımı Java Thread'leri Yeni kitabımdan Türkçe yardımcı bir bölüm.
12/11 Together java projects Programs from chapters 5, 6 and 7  
12/11 3 new chapters from UOOP New chapters 5, 6 and 7  
12/11 Lecture 5    
  Lecture 4    
  Lecture 3 Practical introduction to CASE tools and UML (Together and JBuilder) by sample projects in class.  
  Lecture 1 and 2    

 

Projects

References

  Michael Kölling, Ph. D., One of the authors of Objects First with Java, BlueJ Book

bullet

The official BlueJ web site.
 

  Timothy Budd, Professor of Computer Science Department, Oregon State University

bullet

Course Texbook Book's Home Page: Understanding Object-Oriented Programming with Java
(Updated Edition), Timothy Budd, Addison-Wesley Longman, 1999.

bullet

An Introduction to Object-Oriented Programming, Third Edition, Timothy A Budd, Addison Wesley Longman, 2002.

bullet

Home Page of OOP given by Timothy A. Budd at Oreagan State University, Fall 2001, Object-Oriented Analysis and Programming.
 

  Joseph Bergin, Professor of Computer Science, Pace Universiy

bullet

Karel J. Robot: Gentle Introduction to the Art of Object-Oriented Programming in Java  (Book manuscript which has not been published yet)

bullet

What is Object-Oriented Programming--Really

bullet

Understanding Object-Oriented Programming

bullet

Teaching Objects On The First Day by Various (HTML and Powerpoint)

bullet

More on Object-Orientation and Design Patterns

bullet

Elementary Patterns: Strategy, Decorator, and Composite

bullet

Object-Oriented List

bullet

An Object-Oriented Bedtime Story--A framework for thinking about objects

bullet

The Object Game Continuing the Role Play by Bergin

bullet

Why Procedural is the Wrong First Paradigm if OOP is the Goal

bullet

Testing Object-Oriented Code with an Extreme Approach

bullet

Teaching Object-Oriented Analysis and Design to Beginners

bullet

Lists with "Current" Considered Harmful

bullet

Simple Object-Oriented Design Tools

bullet

A Mental Model for Object-Oriented Programmers

 
  UML

  
Starting Addresses

bullet

OMG (Object Management Group)  and OMG UML Home Page

bullet

Centul UML Links

bullet

Togethersoft and Rational


   Tutorials and Articles

bullet

Articles on UML, Object Mentor

bullet

Unified Modeling Language Tutorial in 7 Days

bullet

Sinan Si Alhir's Web Site

 
  Others

bullet

Object-Oriented Software Development (Cetus links)

bullet

Journal of Object Technology

bullet

Martin Fowler

bullet

Douglas C. Schmidt

 

Home | CENG 217 Object Oriented Programming | CENG 217 Design Project