F20SF Software Engineering Foundations

Dr Katrin Lohan

Course co-ordinator(s): Dr Katrin Lohan (Edinburgh), Lucine Gharibian (Dubai).


  • To equip students with an understanding of the object oriented paradigm and the process of object oriented design.
  • To support the development of object oriented programs in the Java programming language.
  • To develop an understanding of window-based systems and their development

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Dubai, Edinburgh.

Semester: 1.


  • Programming in Java: Objects, classes, encapsulation, inheritance, aggregation, polymorphism, abstract classes, interfaces. Constants and variables, primitive data types, reference variables, strings, collection classes, arrays, control structures for selection and iteration
  • Methods: Signatures, parameters, return types. I/O File handling. Exceptions.
  • Graphical user interface design and implementation: labels, buttons, text fields, sliders, panels, frames; menus & lists; file selection; state-based design.
  • Object-oriented design including UML notation: CRC cards, Use cases, Activity diagrams, Interaction diagrams.

Learning Outcomes: Subject Mastery

  • Knowledge and understanding of the Java programming model.
  • Theoretical and practical knowledge of the design and implementation of object oriented solutions to problems. Skill in the use of Java programming language.
  • Demonstration of skill in design and implementation of practical GUI based applications

Learning Outcomes: Personal Abilities

  • Appreciation of the object oriented approach to software engineering.
  • Ability to develop creative solutions to fairly complex problems using the Java programming language.
  • Ability to reflect on and refine a proposed solution.
  • Design, implement and evaluate an object oriented solution to a problem.
  • Awareness of role of interface in mediating between user and system

Assessment Methods:

Assessment: Examination: (weighting – 60%) Coursework: (weighting – 40%)
Re-assessment: None

SCQF Level: 10.

Credits: 15.