Cookies

We use cookies to ensure that we give you the best experience on our website. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.

Durham University

Faculty Handbook 2022-2023

Module Description

Please ensure you check the module availability box for each module outline, as not all modules will run each academic year.

Department: Computer Science

COMP1111: PROGRAMMING (GOLD)

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

Prerequisites

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

Corequisites

  • COMP1051 Computational Thinking

Excluded Combination of Modules

  • COMP1101 Programming (Black)

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.

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.)
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 20 1 per week 2 hours 40
Preparation and reading 120
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



If you have a query about a specific module or degree programme, please contact the appropriate department.

If you have a question about Durham's modular degree programmes, please visit our FAQ webpage. If you have a question about modular programmes that is not covered by the FAQ, or a query about the on-line Faculty Handbook, please contact us using the Comments and Questions form below.