University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Object Oriented Programming (Java and C# for .NET Framework Platform)

LEVEL 02 - Years 2, 3 in Modular Undergraduate Course


DEPARTMENT Computer Information Systems

DESCRIPTION This study-unit will introduce students to design and implementation of computer applications based on Object Oriented paradigm supported by two world leading platforms, Java and .NET Framework. For the .NET network platform C# is chosen as the most frequently used and powerful language.

Part 1:

The first part of the study-unit is focused to the development of skills to write well designed application programs by implementing all elements of the object-oriented paradigm. The programs will be developed as Console applications to force students to concentrate on the concepts of object orientation.

Topics in brief:
Concepts of Classes, Objects and Interfaces. Application of Abstraction, Encapsulation, Inheritance and Polymorphism of objects and methods. Arrays and Collections. Files and Streams. Software reuse. Error handling using Exceptions.

Part 2:

The second part of the study-unit is focused to application of the skills developed in part I to write Windows based Applications using event driven control.

Topics in brief:
Structure of Windows application and concept of event-driven control as opposed to procedure-driven control. Simple I/O. Design of GUI including Window components (menus, dialogues, visual collection components etc.). Interfaces and Delegates, Creation of Class Libraries.

Part 3:

- Creation of customized components;
- Multithreading;
- Introduction to Web Services, simple applications;
- .NET Reflection.

Available visual tools (MS Visual Studio NET) will be used for implementation of these Applications. (Delphi tool will be used for minor illustrations at the end of the study-unit).

Study-unit Aims:

The aim is to study and apply features of Object Oriented paradigm to the development of application programs and software for both (Java and C# .NET) platforms. The reason behind is that the implementation of the OO paradigm differs in the two languages. Both basic and advanced features will be taught and also implemented in various, typical, types of applications, (both stand alone and distributed) while using appropriate object libraries and Integrated Development Tools supporting rapid software development.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:

- Describe how the OO paradigm features such as Abstraction, Encapsulation, Inheritance and Polymorphism of both objects and methods are implemented and differ in both Java and C# languages;
- Differentiate between event-driven control as opposed to procedure-driven control;
- Explain and demonstrate event driven handling way of processing with Window Components (Controls);
- Understand and apply important OOP constructs such as interfaces and delegates;
- Explain and use retrospective way of getting objects data and methods programmatically (Reflection);
- Explain and demonstrate concept of software re-use and extension;
- Explain way of handling errors using Exceptions.

2. Skills:

By the end of the study-unit the student will be able to:

- Apply knowledge of OO design to develop and implement object oriented application programs using user defined classes;
- Design and implement OO applications of Windows type using event driven handling;
- Develop user classes with the aim of their future re-use;
- Incorporate event handlers to user-created classes;
- Develop user designed Window Components(Controls) based on available language components;
- Create user-developed libraries;
- Use higher data structures such as arrays and collections as well as Streams to store objects on persistent media;
- Develop concurrently processing applications using Threads;
- Develop client applications consuming Web Services as well as applications providing Web services;
- Use IDE tools for development (e.g. Visual Studio, NetBeans).

Main Text/s and any supplementary readings:

- Ferguson J. et al C# Bible Wiley Publishing, Inc. 2002 ISBN 0-7645-4834-4
- Deitel H.M et al C# 2010 for Programmers (4th Edition), Prentice Hall, November 2010 ISBN-10: 0132618206
- Deitel H.M et al Visual C# 2010 How to Program (4th Edition) , Prentice Hall November 2010 ISBN-10: 0132151421
- K Litwak Pure Java 2 SAMS, ISBN 0-672-31654-4
- Deitel H.M et al Java: How to Program, 8th Edition Prentice Hall March 2009 ISBN-10: 0136053068
- Deitel H.M et al C# for Experienced Programmers, Prentice Hall ISBN 0130461334
- G Booch Object Oriented Analysis and Design with Applications, 2nd edition Addison-Wesley Professional 1993.


ADDITIONAL NOTES Knowledge required: Any Object Oriented programming paradigm

STUDY-UNIT TYPE Lecture and Practical

Assessment Component/s Resit Availability Weighting
Assignment Yes 20%
Examination (3 Hours) Yes 80%


The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage