Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2024-2025

Module COMP1101: PROGRAMMING (BLACK)

Department: Computer Science

COMP1101: PROGRAMMING (BLACK)

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

Prerequisites

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

Corequisites

  • COMP1051 Computational Thinking

Excluded Combination of Modules

  • COMP1111 Programming (Gold)

Aims

  • 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.
  • To apply programming principles to real-world problems

Content

  • 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.)
  • an ability to apply software development tools and skills in real-world scenarios e.g. open-source projects, hackathons, competitions
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 plan and work independently.

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 2 per week in term 1 1 hour 20
tutorials 12 1 per week in term 2 1 hour 12
practicals 9 1 per week in term 1 2 hours 18
preparation and reading 150
total 200

Summative Assessment

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

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