Object Oriented Programming
Weekly outline
-
Course Description
• This course introduces JAVA to students as an example of an object oriented programming language. The course starts with a briefing on Java history and the classifications of different Java editions. The concepts of classes and objects are introduced followed by a description of various types of class members. The course describes the concepts of abstraction and encapsulation and how to apply these concepts when creating classes. The course describes the object-oriented relationships: association, aggregation, composition, inheritance and implementation. Also the concept and role of polymorphism are introduced covering method overloading, method overriding, and dynamic method dispatching. Exception handling and the usage of Java API are presented with a concern to using javax.swing to build GUI applications.
Course Learning Objectives
-
Understand object oriented design principles and programming using Java as an OOP language.
-
Using Java API (Math , String, Date, ArrayList, I/O, File,... etc.)
-
Understand method definition, invocation, overloading, encapsulation and information hiding.
-
Understand the class members, access modifiers, and Object instantiation.
-
Understand object oriented relations (associations, aggregation, composition, inheritance and interface, .... etc).
-
Understand class inheritance, reusability, method overriding, and polymorphism.
-
Understand abstraction, interfaces and inner classes.
-
Build user interfaces using JFC classes, and event driven programming.
-
Handle runtime exceptions.
-
Create simple software system using Java
Grading Scheme
•Week 7: (30)
Quiz 1 = 10 marks
Midterm 1 = 20 marks
•Week 12: (20)
Quiz 2 = 5 marks
Midterm 2 = 15 marks
أعمال السنة (10):
Quiz 3 = 10 marks
Final Exam = 40 marks
Textbook:
Y Daniel Liang, Introduction to JAVA Programming, 9th Edition, Prentice Hall, 2013.
-
School Management System (SMS) is an example project that applies the course concepts only and explain them in the accompanying slides. You can use this code as a guide to the level required for a term project. Other ideas for graphics and animation are listed in the project ideas document.
-
-
Week 1: Revision of Problem Solving & Introduction to Java Language - Ch 1, 2, 3, 4, 6, 7.
-
-
Week 3: Methods - Ch - 5
-
Week 4: Objects and Classes - Ch 8.
-
Week 5: Objects Aggregation - Ch 10
-
Week 6: Inheritance & Polymorphism - Ch 11
-
Week 7: Midterm 1
-
Week 8: Exception Handling & Text IO - Ch 12
-
Week 9: Abstract Classes & Interfaces - Ch 13
-
Week 10: Java FX - Ch 14
-
Week 11: Event Handling - Ch 15
-