Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2017-2018 (archived)


Department: Computer Science


Type Open Level 1 Credits 20 Availability Available in 2017/18 Module Cap 200 Location Durham


  • None


  • None

Excluded Combination of Modules

  • None


  • To introduce the theory, principles and practice of programming by means of the Java programming language.
  • To use Java in the wider context of problem solving and software development.


  • The construction of simple programs.
  • The use of objects from the Java API.
  • Using control statements to loop and make decisions.
  • Using methods to structure the algorithmic aspects of programs.
  • Defining data types through class and interface declaration.
  • Building collections of data within a program.
  • Object inheritance and abstraction.
  • Making programs robust through the use of exceptions and exception handling.
  • Awareness of intellectual property issues for software including copyright, patents and open source licensing.

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to demonstrate:
  • an understanding of the Java programming language to a detailed level, sufficient to realise working solutions to a range of problems
  • an understanding of the nature of imperative programming in the object-oriented style
  • a knowledge and understanding of good programming practice (for example, reuse, documentation and style).
Subject-specific Skills:
  • On completion of the module, students will be able to demonstrate:
  • an ability to realise solutions to problems as working Java programs.
  • an ability to work in the object-orient paradigm through the use of classes, interfaces and packages
  • an ability to apply reuse by exploiting predefined components such as those of the Java API
  • an ability to use software tools related to programming (programming environments, compilers, interpreters, documentation tools, etc.).
Key Skills:
  • On completion of the module, students will be able to demonstrate:
  • an ability to reason about problems (for which an algorithmic solution is suitable)
  • an ability to recognise and apply the principles of abstraction and modelling
  • an ability to communicate technical information
  • an ability to confidently use general IT tools (editors, file management, printing, etc.).

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures provide the students with a mechanism by which to learn the theory behind Java programming.
  • Practical classes support the lectures by enabling the application and appreciation of the theory.
  • Summative assignments encourage and guide further independent study within specific guidelines relating to programming tasks.
  • Summative examinations test the knowledge acquired and the students' ability to use this knowledge to solve predictable problems.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
lectures 44 2 per week 1 hour 44
practical classes 22 1 per week 2 hours 44
preparation and reading 112
total 200

Summative Assessment

Component: Coursework Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Practical Work 100% Yes

Formative Assessment:

Example formative exercises given during the course. Additional revison lectures may be arranged in the modules lecture slots in the 3rd term.

Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University