Weekly outline

  • General

    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. 

  • 13 February - 19 February

    Week 1:  Revision of Problem Solving & Introduction to Java Language - Ch 1, 2, 3, 4, 6, 7. 

  • 20 February - 26 February

    • 27 February - 4 March

      Week 3: Methods - Ch - 5

    • 5 March - 11 March

      Week 4: Objects and Classes - Ch 8.

    • 12 March - 18 March

      Week 5: Objects Aggregation - Ch 10

    • 19 March - 25 March

      Week 6: Inheritance & Polymorphism - Ch 11

    • 26 March - 1 April

      Week 7: Midterm 1

    • 2 April - 8 April

      Week 8: Exception Handling & Text IO - Ch 12

    • 9 April - 15 April

      Week 9: Abstract Classes & Interfaces - Ch 13

    • 16 April - 22 April

      Week 10: Java FX - Ch 14

    • 23 April - 29 April

      Week 11: Event Handling - Ch 15

    • 30 April - 6 May

    • 14 May - 20 May

    • 28 May - 3 June