DPBO Course Info 2008
DPBO Course Info 2008
DPBO Course Info 2008
Short Description:
This course teaches the fundamental ideas behind the object-oriented approach to
programming; through the widely-used Java programming language. The course concentrates
on those aspects of the Java language that best demonstrate object-oriented principles and
good practice. The course also teaches students to describe and communicate their object-
oriented design.
Before studying this course, you should be confident of your ability to use a PC and have
some experience of writing small programs, such as that gained through study of DDP
(Dasar-Dasar Pemograman / Fundamental of Programming). You should also be able to write
short explanations of technical ideas in your own words, and be able to communicate with
others electronically.
Course Content:
In the object-oriented view of software, programs are considered to be collections of objects
that interact by sending messages to one another and reacting to the answers to those
messages. These ideas are at the forefront of modern software development.
The course takes an ‘objects first’, approach to teaching: you start seeing and interacting with
graphical objects right from the very start. This is achieved by working within innovative and
engaging micro worlds that allow you to learn some basic object-oriented principles, before
having to get to grips with Java syntax or source code.
The course will provide brief discussion on Java language construct due to the assumption
that the student should already familiar with control statements and the logic behind it from
the prerequisite course (DDP). The course will introduce the OO characteristics in Java
together with its construction. Sufficient programming exercises are given to provide student
with first hand experience on doing OO programming and design.
To facilitate the teaching of Java, the course makes use of BlueJ, an integrated development
environment (IDE) specifically developed for teaching and learning object-oriented
programming. BlueJ is used worldwide and is designed to be easy to use and places special
emphasis on visualisation and interaction techniques to provide a highly interactive
environment that encourages experimentation and exploration.
Software/Tools:
- BlueJ version 2.2, downloadable from www.bluej.org
(old version is currently available in Faculty laboratory)
Textbook:
• Deitel , JAVA How to Program, 7th ed, Pearson Education, Inc., New Jersey, USA.
(available in faculty library)
Abbreviation: JHP
Reference Book:
• James Gosling, Bill Joy, Guy Steele, Gilad Bracha, The Java Language Specification 3rd
ed, Sun Microsystem 2005.
(free document)
Abbreviation: JLS
• Michael Kölling, The BlueJ Tutorial version 2. (free document)
Suggested Texts:
• Bruce Eckel, Thinking in Java, 3rd ed. Revision 4.0, Prentice Hall / Pearson Education,
2002. ISBN 0-13-100287-2
(free e-book available)
Abbreviation: TIJ
• Bruce Eckel, Thinking in Java 4th ed, Prentice Hall / Pearson Education. 2006
ISBN 0-13-187248-6
(available in faculty library)
• David J. Barnes & Michael Kölling, Objects First with Java: A Practical Introduction
using BlueJ Third Edition,
Prentice Hall / Pearson Education, 2006
ISBN 0-13-197-629X
(available in faculty library)
Assignment's Expectation:
• Assignment 1 - Individual:
Student is expected to be able to program in java including using simple GUI,
specifically:
• understand and able to use control flow in java
• understand basic stucture of java program
• be able to create simple GUI
• understand how string is used in java
• writing well documented program
• Assigment 2 - Pair
Student is expected to be able to develop an OO program in Java. Student should :
• be able to identify the objects including its attribute and methods
• be able to differentiate between OO and non-OO approaches.
• understand how those objects combined as one application
• be able to use inheritance and polymorphism
• be able to use java library and extend it
• be able to debug their program using blueJ or JDB.
• organize 4-6 classes in their programs.
• Assigment 3 - Pair
Student is expected to understand more feature of java and OO. Student should
• be able to use exception handler
• understand abstract class and multiple inheritance
• describe the OO design using diagram
• be able to capture and analyse the problem and design an OO solution
• be able to use exception handler appropriately.
• organize 6-8 classes in their programs.
• Assigment 4 - Individual
Student is expected to able to do design and programming in OO and Java. Student is
expected to...
• be able to show modularity in their OO design.
• understand the weakness and strength of OO and Java.
• understand inner class and its uses
• understand and use java library for datatype and collection
• understand generic programming in java (generic java)
• be able to avoid runtime error because of casting
• organize 6-8 classes in their programs.
• Assigment 5 – Group Projects ( group of 5 or 7)
Student is expected to be able to develop a project based on OOP. Student should
• be able to apply OOP methodology and follows the phases
• be able to show the advantages of using OO and Java compare to non-OO
approaches.
• be able to capture a more complex problem and design an OO solution of it.
• be able to communicate their design.
• be able to work in team.
• organize 10-15 classes in their programs.
Grading Scheme:
20% Mid Exam
10% Programming Exam
25% Final Exam (it covers all materials)
20% Programming Assignment (Assignment 1-4)
10% Group Project (Assignment 5)
15% Quiz (inc. Forum Discussion Activities)
Final grades are based on normal distribution curve.
Teaching Plan: