• 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 Java swing package, and event driven programming.
Handle runtime exceptions.
Create simple software system using Java
•Week 7: (30)
Quiz 1 = 5 marks
Assignment 1= 5 marks
Midterm 1 = 20 marks
•Week 12: (20)
Quiz 2 = 5 marks
Assignment 2 = 5 marks
Midterm 2 = 10 marks
أعمال السنة (10):
Project = 10 marks
Final Exam = 40 marks
Y Daniel Liang, Introduction to JAVA Programming, 9th Edition, Prentice Hall, 2013.