Skip to main content

Software and Programming I


  • Credit value: 15 credits at Level 5
  • Module convenor: Irene Muzi
  • Module tutors: Irene Muzi, Panagiotis Charalampopoulos
  • Prerequisites: none, however, a general familiarity with computer programming is assumed and successful completion of the module Introduction to Programming would be advantageous
  • Assessment: two open-book in-class tests and short programming assignments (25%) and a two-hour examination (75%)

Module description

This module discusses the basic procedural and object-oriented features of the Java programming language. You will learn how to edit, compile and run small Java programs using the BlueJ integrated development environment.

Indicative module content

  • Primitive data types and operators in Java
  • Branching and looping statements, variable scope
  • Arrays: the enhanced for loop, basic array algorithms and using arrays with methods
  • Objects and classes; creating objects and constructors; manipulating objects and methods
  • Access modifiers: public and private
  • Passing objects as references; reference this
  • The qualifier final for constants
  • Instance and class variables and methods
  • Inheritance and polymorphism
  • Basics of exception handling and input-output
  • Foundations of object-oriented analysis and design in Java: discovering classes, relationships between classes
  • Packages

Learning objectives

By the end of this module, you will be able to:

  • understand and explain the concept of object-orientation
  • understand and explain the procedural and object-oriented features of the Java programming language
  • construct simple algorithms and apply problem-solving strategies
  • edit, compile and run programs using standard tools for Java (IDE and compiler).