Skip to content Search
Search our website:

Software and Programming I

Short name: SP1
SITS code: COIY018H5
Credits: 15
Level: 5
Module leader: Roman Kontchakov
Online material:


On successful completion of this module, student should be able to understand and explain basic procedural and object-oriented features of the Java programming language. In addition, they will be able to edit, compile and run small Java programs using the BlueJ integrated development environment.


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


None. However, a general familiarity with computer programming is assumed and successful completion of the module "Introduction to Programming" would be advantageous.


Indicative timetables can be found in the handbooks available on programme pages. Personalised teaching timetables for students are available via My Birkbeck.


Examination (75%) and coursework, including two open-book in-class tests and short programming assignments (25%)

Recommended reading

  • Horstmann, C. (2013), Java for Everyone. Wiley. ISBN 978-1-118-06331-6. eBook