Course Title Object Oriented Programming
Module Title Advanced Programming
Module Code InSy-M2042 Course Code: InSy2042
CP/ECTS 7
Study Hours Lec. 48 Lab. 64 Tut. 0 HS. 77
Instructor’s Name:
Information
Office Phone: Email:
Office Location:
Consultation Hours:
85
Course Academic Year:
Information
Semester:
Course Schedule:
Class Room:
Prerequisite(s):
Mode of Delivery: Parallel
Course Students’ previous exposure to and skills in structured programming is assumed
Description (although a review of the necessary basic programming notions is included). The
course is designed to introduce how to develop business applications using
object-oriented design methodology with Java as an illustration programming
language. It includes Object Oriented Programming paradigm and its use; classes,
Objects, Abstraction and Encapsulation; Inheritance, Polymorphism, Creating
Graphical User interfaces (GUIs), Data Structures, Exceptions(Try, catch, and
throw, finally how exceptions affect the design of an application), File
input/output (I/O), Threads and Java Database Connectivity.
Learning At the end of the course students will be able to
Outcomes understand the principles of software engineering with emphasis on the
various phases of the software development life cycle
Understand major concepts of object-oriented programming
understand the programming environment as defined by compilers,
interpreters, editors, and other system software providing support for the
programming activity
develop skills in OO design and program development within an integrated
development environment
Use arrays and other data structures
To understand the concepts of encapsulation, inheritance
Implement I/O functionality to read from and write to data and text files.
86
understand object technology and its applications
Explain the application of a variety of data structures, understand the
advantages and disadvantages of those structures
To be familiar with object-oriented design concepts, and have had practical
experience of designing and implementing object-oriented software
In general, a student should be competent in:
design and implement a small-scale object-oriented program with 5-10
classes in the Java language, use a large sub-set of the Java programming
language effectively; gain an understanding of how to design and use
classes correctly; understand class relationships and implement common
data structures. Write Java applications using the JDBC to make database
independent queries; Call methods remotely, and develop web-based java
application using servlet.
Course Content
Topic Duration(Week) Reading list
1. Chapter 1: Introduction to Object-Oriented 1
Programming (OOP)
1.1. What is OOP?
1.2. Overview of OO principles
1.3. Java features
1.4. The JVM, Byte Code and Code Execution in
Java
2. Chapter 2: Basics in Java Programming 2-3
2.1. Java syntax; Variable and identifiers, Data
types and constants
2.2. Output and Input statements in java
2.3. Type Conversion/ Casting
2.4. Decision and Repetition Statements
If statements
Switch statement
Loop statements
87
3. Chapter 3: Class and Objects 4-7
3.1. Defining a class
3.2. Instantiating and using objects
3.3. Contractor, types of constructor and
constructor overloading
3.4. member methods and their components
3.5. Members of class
3.5.1. Static members (variables, methods)
3.5.2. Instance members (variables, methods)
3.6. Method in java
Syntax/declaration of methods in java
Access specifies
Calling and returning methods
Accessor/getters and mutators/setters
3.7. Object-Oriented Concept
3.7.1. Encapsulation
3.7.2. Inheritance
Types of inheritance
Class relationships (IS-A and Has-A)
Using keywords: super, final, this,
instanceof,…
3.7.3. Polymorphism, Method overloading
and overriding
3.7.4. Abstract classes and Interfaces
The concept of multiple inheritance and
interfaces
5. Chapter 5: Exception Handling 7-8
5.1. Overview of exception handling
5.2. The causes of exceptions
5.3. Handling of an exception
5.4. The throw statement and the finally clause
5.5. User defined exceptions
6. Chapter 6: Graphic User 9-12
Interface(GUI) and JDBC
6.1. Overview of GUI
6.2. Elements of GUI: Component and
container
88
6.3. Concepts of GUI
AWT: Frame, label, Button, TextField,
ComboBox,…
Swing: JFrame, JLabel, JButton,
JtextField, JComboBox,…
Event Handling in AWT and Swing
Event Source
Event Listener
[Link] Database Connectivity(JDBC)
Overview of JDBC
Setting up JDBC in SQL/Oracle
Populating a database and
Executing Queries
Scrollable and Updateable
Result Sets
7. Chapter 7: Files and Streams 13-14
7.1. Introduction
7.2. I/O classes
7.3. Object I/O
7.4. File and FileDialog objects
7.5. File management
7.6. Random Access files
8. Chapter 8: Overview of Java Advanced 15-16
Concepts
Multi-threading Concept
Networking
Remote Method Invocation
Servlets
Teaching The course will be delivered in the form of lectures, lab session, group
Strategy discussions, and individual and group project works.
Assessment The evaluation shall be based on both formative and summative assessment
Criteria which include:
Assessment Forms % of credit allotted
Lecture (100%)
Participation and Attendance 10
89
Quizzes and Assignments 25
Test 25
Final examination 40
Practice (100%)
Participation and Attendance 10
Lab Assignments 20
Lab Exam 40
Project 30
Role of Delivers lectures, conduct lab session, prepares reading assignments and topics
Instructor(s) for group discussion, prepares projects by discussion with student, gives
consultation and advises students on project works and assignments, prepares and
evaluates quiz, assignment, midterm and final examination.
Role of Students Attend lectures, lab session and presentation, work in team on group work,
participate in group discussion, discusses with the instructor on topics of interest
for project work, delivers and presents project work, attend quiz, midterm and
final examination.
Required Desktop computer,
software and/or
Java compiler
hardware
JDK
Database server: SQL/Oracle
Reference Y. Daniel Liang, 2009. Int. to Java Programming Comphrensive version,
Seventh Edition. Atlantic State University
Deitel, 2010, Java for Programmers Second edition. Prentice Hall
Deitel, 2004. JAVA how to program. 5th Ed. New Delhi: Prentice-Hall of
India
R. Sahoo & G. Sahoo, 2001. JAVA 2 The complete reference book; New
Delhi: Prentice-Hall of India
90
C. Thomas Wu, 1999. An introduction to Object-Oriented Programming
with
Java; McGraw Hill.
John Lewis & William Loftus, 1998. JAVA Software Solutions:-
Foundations of Program Design; Addison-Wesley.
S. Horstmann and Gary Cornell, Core Java 2 – Volume II-
Advanced
Features, Sun Microsystems Press
Harvey M. Deitel and Paul J. Deitel, Java How to Program,
Deitel & Associates Inc. [Link]/docs/books/tutorial