Dire Dawa University
College of Electrical and computer Engineering
Department of Electrical and computer Engineering
COURSE OUTLINE
Program Regular
Course Information
Module Name Computer architecture and programing
Module Number 15
Module Team Leader N.N
Course Title Object oriented programming
Course Code ECEG2101
ECTS 5
Students’ Workload Lecture Hrs: 2 Lab Hrs: 3 Tutorial Hrs: 0
Home Study: 5
Course Type Compulsory
Prerequisite Course code Computer programming
Academic Year 2017
Semester II
Target Group 2nd year
Venue [Class Room]
Instructor Information
Name Haftu .M and Bekalu.M
Office CECE building
Office [consultation] Hours
Address
[email protected] &
[email protected] Technical Assistant Information
Name
Office
Office [consultation] Hours
Address
Course Description
Course-level learning objectives
After successfully completing this course the student should be able to :-
Differentiate procedural Vs object oriented programming paradigm.
List some object oriented programming languages.
Identify java reserved keywords.
Write a java program.
Compile and run a Java program.
Describe different concepts and terminologies used in object oriented programming
paradigm
Mention the difference and relations between classes and objects
Explain the advantages of object-oriented design techniques including encapsulation,
abstraction, inheritance, polymorphism, and reusability.
Develop some classes of real world objects.
Create super classes and subclasses.
Identify the super-class members which can be inherited by the subclass.
Identify the real world application of object oriented programming languages.
Design simple GUI application using Swing, JavaFX.
Chapter-level learning objectives
After successfully completing this chapter the student should be able to :-
Define the phrase object oriented programming.
Identify the difference between structured, procedural programming and OOP.
Explain the basic futures of object oriented programming.
Define java as a programming language.
Demonstrate Java syntax, including variables, data types, operators, and control structures
(loops, conditionals).
List common integrated development environments (IDEs) used for java programming.
Create simple Java program.
Compile and run java programs in selected IDE (example Eclipse).
Differentiate Java class and main class.
State predefined classes in java.
Demonstrate how input/output works in java.
Create Java programs with conditional statements.
Create Java programs with loops.
1
Describe the concept of array in programming.
List different types of array structures.
Define and declare arrays in Java.
Define the term class in java programming.
Describe an object in the context of Java programming.
Identify the components of a class, including fields (variables), methods, constructors, and
access modifiers.
Create a class in Java and instantiate objects from it using the new keyword.
Differentiate global variables and local variables within a class.
Demonstrate how to create a method in java program.
Demonstrate how to call methods in a class.
Demonstrate the use of constructors to initialize objects when they are created.
Describe the use of the static and final key words in java program.
Define the term inheritance in object oriented programming.
Explain the different types of inheritances
Explain the advantage of inheritance in object oriented programming
Identify the access modifier which can be used in inheritance
Differentiate the super class and subclass
Remember the keyword that can be used to create super class subclass hierarchy.
Create parent and child classes in a java programming language
Access and reuse data members and methods from a parent class in the child class.
Override parent class methods in the child class to provide specific implementations.
Apply inheritance to minimize code duplication and promote reusable and modular code
design.
Design and implement practical solutions using inheritance, such as creating class hierarchies
for animals, vehicles, or employees.
Define the term polymorphism in object oriented programming.
Explain the different types of inheritances
Explain the advantage of inheritance in object oriented programming
Identify the access modifier which can be used in inheritance
Differentiate the super class and subclass
Remember the keyword that can be used to create super class subclass hierarchy.
Create parent and child classes in a java programming language
Access and reuse data members and methods from a parent class in the child class.
Override parent class methods in the child class to provide specific implementations.
Apply inheritance to minimize code duplication and promote reusable and modular code
design.
Design and implement practical solutions using inheritance, such as creating class hierarchies
for animals, vehicles, or employees.
Define what exceptions are in Java.
2
Explain the importance of exception handling in robust software development.
Identify the difference between checked and unchecked exceptions.
Demonstrate how to throw exceptions manually using the throw keyword to indicate error
conditions.
Implement basic exception handling using try, catch, and finally blocks to manage runtime
errors gracefully.
Handle multiple exceptions in a single try block by using multiple catch clauses in a single java
program.
Distinguish between the throws and throw keywords and apply them to delegate exception
handling to calling methods.
Evaluate the best practices for exception handling, such as not using exceptions for control
flow, and apply them to real-world programming scenarios.
Identify the components of a Java GUI application and explain how the Swing library is used
to create graphical user interfaces.
Implement basic GUI layouts using Swing components such as JFrame, JButton, JLabel,
JTextField, and JPanel.
Construct a graphical interface by arranging and organizing components using layout managers
like FlowLayout, BorderLayout, and GridLayout.
Handle user interactions with GUI components by implementing appropriate event listeners,
such as ActionListener, MouseListener, and KeyListener.
Implement action handling in response to button clicks, text input, mouse movements, and
keyboard events.
Develop interactive GUI applications by incorporating advanced components such as
JComboBox, JList, JTable, and JMenuBar.
Evaluate different layout managers and select the most appropriate one for organizing complex
user interfaces in Java.
Course Contents and Schedule
Week Contact Chapter – topics, subtopics, sub-sub Reading Materials and
Hours topics Expected Assessments
3
1 2 Chapter One: Introduction to the OOP
paradigm
Comparison between structured,
procedural programming and OOP.
Basic concepts: abstraction,
encapsulation, information hiding.
Program reusability and extensibility
2-3 4 Chapter Two: Introduction to Java
elements
Introduction to the Java development
environment variables and their
declaration
Introduction to classes and objects
Input/output
Conditional statements and loops
Arrays
4-6 6 Chapter Three: Classes and Objects
Classes, objects
Methods
Constructors
The Static and final key words
Constructors and destructors
Using the UML class and
Composition diagrams
7-8 4 Chapter Four: Inheritance
Introduction
Super-classes and Subclasses
Protected members
Super keyword
Constructors in Subclasses
9- 10 4 Chapter Five: Polymorphism and
Interfaces
Introduction
Polymorphic example
4
Abstract Classes
Final Methods and Classes
Method overloading and method
overriding
Introduction to interfaces
Abstract Classes implementing
interfaces
Derived interfaces
11 - 12 4 Chapter Six: Exception Handling
Introduction by example
Try- catch mechanism
Exception classes
The finally Block
13 - 14 4 Chapter Seven: GUI and Event Driven
Programming
Introduction
Overview of Swing Components
Swing vs .Awt
Introduction to Event Handling
Common GUI Even Types and
Listener Interfaces
Using the swing components
(JButton, JTextfield, JListetc)
Course Assessment Methods
Continuous Assessment Weight Week of Class Online
Method assessment assessment assessment
Quiz - 1 5 3 Class
Quizzes Quiz - 2 5 5 Online
Mid 20 Based on the Online
Tests mid exam
schedule
Lab Exam-1 10 9 Class
Assignments Assign - 1 10 8 Online
Projects and Project -1 10 10 Class
presentation
5
Final Examination 40 Based on the Final Exam Schedule
Grading System
Fixed grading system based on DDU senate legislation.
Texts and References Materials
Text book:
Java How to Program, 6th edition, H.M.Deitel- P.J.Deitel,
Pearson Education, 2005Reference book s
o Reference 1: Java, An Introduction to Problem Solving and Programming, 5th ed. W.
Savitch and F. Carrano, Prentice Hall, 2008
o Reference 2: Absolute Java, 5th Edition, W.Savitch, Addison Wesley,2012
Course website
Class Room Polices
Class Attendance, Class Participation, E- learning, Academic dishonesty, Missing Assessment
and Late Work Polices.
E- learning Policy
Computer Requirements
This is a blended course; therefore, it requires a computer with internet access and the following
technologies:
Web browsers (Chrome preferable)
Adobe Acrobat Reader (Recommended)
Microsoft Office
Reliable broadband internet connection (DSL or cable) to stream videos.
Note: A smartphone, iPad, Chromebook, etc. may not be sufficient for completing your work.
While you will be able to access workshop content with mobile devices, you’ll want to use a
computer for some of the assignments.
Many (but not all) of the files, articles, and videos can be downloaded if there are times you will not
have internet access.
Preferred Communication
Course content questions or comments: All communication about the course content can go
directly to [email protected]. Individual facilitators may also give separate communication
guidance.
Tech support questions: All communication about tech support issues can go directly to
[email protected].
Live Office Hours
6
These informal live office hours can be found on the Home Page and are accessible from a Zoom link.
You can connect when you have questions or if you want to talk about what you’re learning with your
facilitators.
Participant Success
To be successful:
Check the course daily,
Read and respond to course email messages as needed,
Complete assignments by the due dates specified,
Communicate regularly with your instructor and classmates.
Submitting Assignments
Submit all the assignments based on the due dates specified.
Grading Regarding the Online Assessment
This workshop uses weighted grading.
Track Your Progress
You are encouraged to keep track of your own progress in this workshop by using the checklist provided
above as well as checking your grades regularly.