Skip to main content
 

COMP1101: PROGRAMMING (BLACK)

Please ensure you check the module availability box for each module outline, as not all modules will run in each academic year. Each module description relates to the year indicated in the module availability box, and this may change from year to year, due to, for example: changing staff expertise, disciplinary developments, the requirements of external bodies and partners, and student feedback. Current modules are subject to change in light of the ongoing disruption caused by Covid-19.

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

Prerequisites

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

Corequisites

  • COMP1051 Computational Thinking

Excluded Combinations 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

ActivityNumberFrequencyDurationTotalMonitored
lectures202 per week in term 11 hour20 
tutorials121 per week in term 21 hour12 
practicals91 per week in term 12 hours18Yes
preparation and reading150 
total200 

Summative Assessment

Component: CourseworkComponent Weighting: 100%
ElementLength / DurationElement WeightingResit Opportunity
Practical Work 100 

Formative Assessment

Example formative exercises given during the course.

More information

If you have a question about Durham's modular degree programmes, please visit our FAQ webpages, Help page or our glossary of terms. If you have a question about modular programmes that is not covered by the FAQ, or a query about the on-line Undergraduate Module Handbook, please contact us.

Prospective Students: If you have a query about a specific module or degree programme, please Ask Us.

Current Students: Please contact your department.