SHE Level 2
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M2G424866
Module Leader Martin MacDonald
School School of Computing, Engineering and Built Environment
Subject SCEBE - School Office
  • A (September start)
  • B (January start)

Summary of Content

This module introduces the student the basic concepts of object-oriented program design; introduce them to the fundamental principles of object oriented programming. It will allow understanding of OOP language constructs, the principles of designing Object oriented software, and an integrated software development environment.


The teaching syllabus will cover the following areas: Basics of Object-Oriented Programming: Software Crises( A look at Procedure oriented programming ), Object Oriented programming paradigms, basic concepts of object oriented programming, benefits of object oriented programming, applications of object oriented programming. Introduction to UML: Importance of modeling, principles of modeling, object orientedmodeling, conceptual model of the UML, Architecture. The Java Language: Introduction, Data types, variables, arrays, operators and control statements. Classes And Objects: Concepts of classes and objects, Method overloading, constructors, Constructor overloading, Usage of static with date and methods, Usage of final with data, Methods and classes, Garbage collector. Class & Object Diagrams: Terms, concepts, modeling techniques for Class & ObjectDiagrams. Basic Behavioral Modeling: Interactions, Interaction diagrams, Use cases, Use case Diagrams, Activity Diagrams. Inheritance: Concepts, Composition, Difference between inheritances in Java, Usage of super keyword, Method overloading, Abstract classes, Dynamic method dispatch. Packages & Interfaces: Concepts, Package & import keywords, Class path, Defining, Creating and accessing a Package, differences between classes and interfaces, Application of interfaces, Multiple inheritance in java, Extending and initializing fields in interfaces. Exception Handling : Concept of Exception handling, Types of exceptions, Usage of try, catch, throw, throws, finally keywords, Concepts of multithreading, Life cycle, Difference between process and thread. Applets: Concept of applet, Life cycle of applets, Types of applets, Creating applets, Applet communication. Event Handling: Event classes, Event listeners, Delegation event model, Handling mouse & keyboard events, Adapter classes. Advanced window toolkit (AWT): Concepts of components, Container, Panel, Window, Frame, Canvas, Awt Controls ( Buttons, Labels, Text field, Text area, Check boxes, Checkbox groups, Radio buttons, Lists, Choice, Scrollbars, Layout managers).

Learning Outcomes

On completion of this module the student should be able to:1. Describe the concepts of object-oriented approach in programming. (AM1)2. Design Object-Oriented models using UML Class diagrams (AM1,AM4)3. Apply object-oriented programming concepts to solve real-life problems. (AM1, AM4, AM5)4. Analyse the importance of Inheritance paradigm, polymorphism, multithreading and Exception Handling. (AM1, AM4, AM5)5. Implement graphical user interface and event handling in an object-oriented fashion. (AM1, AM4, AM5)

Teaching / Learning Strategy

The main teaching method will be based on lectures with laboratory exercises used to relate theoretical concepts to practical experience. The students will be expected to perform directed reading exercises and self-learning exercises on object oriented programming feature. Laboratory time will be used to provide structured exercises on object oriented programming.

Indicative Reading

Text Books: -360 1. Herbert Schildt, Patrick Nanghton (2002), The Complete Reference Java 2.0, 5th Edition, Tata McGraw Hill. 2. Grady Booch, James Rumbaugh, Ivar Jacobson, (2005), The Unified Modeling LanguageUser Guide, 2 nd Eidtion, Pearson Education. 3. Herbert Schildt, (2004), Java 2 the Complete Reference J2se , 6 th Edidtion, Tata McGraw Hill. -270 -360 Web Sites: 1. Free Java Guide & Tutorials, 2006-2009, Free JAVA tutorials & programming source code, h ttp://www.freejavaguide.com/corejava.htm , Accessed 16th May 2011. ORACLE, 2011, The JAVA Tutorials, http://download.oracle.com/javase/tutorial/ , Accessed 16th May 2011.

Transferrable Skills

Technical literacy, problem solving and synthesis of solutions are enhanced and exercised in all parts of the taught syllabus. The laboratory sessions provide the opportunity for students to further demonstrate and apply knowledge of Object Oriented Programming concepts. The student's interpersonal/team skills and practical skills are further exercised with the laboratory and a course work project.

Module Structure

Activity Total Hours
Independent Learning (FT) 100.00
Practicals (FT) 56.00
Lectures (FT) 28.00
Assessment (FT) 16.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 20.00 35% Unseen written examination-1½ Hours
Coursework 3 n/a 50.00 35% Unseen written examination-2 Hours
Coursework 2 n/a 30.00 35% Lab test based on the exercises conducted during the delivery of the module