Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2023-2024 (archived)


Department: Computer Science


Type Open Level 1 Credits 20 Availability Available in 2023/24 Module Cap None. Location Durham


  • A-level Mathematics AND NOT (A-level Computing, or equivalent experience: identified through diagnostic test)


  • COMP1051 Computational Thinking

Excluded Combination of Modules

  • COMP1101 Programming (Black)


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


  • The construction of simple programs in JavaScript.
  • JavaScript for client-side and server-side web scripting
  • Awareness of intellectual property issues for software including copyright, patents and open source licensing.

Learning Outcomes

Subject-specific Knowledge:
  • Interaction between JavaScript progams and the Document Object Model (DOM)
  • Using control statements to loop and make decisions.
  • Building collections of data within a program and using JavaScript Object Notation (JSON)
  • Making programs robust through the use of exceptions and exception handling
  • 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 JavaScript programs
  • an ability to apply reuse by exploiting predefined components
  • an ability to use software tools related to programming (programming environments, code management, 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.

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 JavaScript 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

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 20 1 per week 1 hour 20
Example classes 20 1 per week 1 hour 20
Practical classes 19 1 per week 2 hours 38
Preparation and reading 122
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.

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