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. 

    • 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.

  • 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

  • 7 May - 13 May

  • 14 May - 20 May

  • 21 May - 27 May

  • 28 May - 3 June