Durham University
Programme and Module Handbook

Postgraduate Programme and Module Handbook 2020-2021 (archived)

Module COMP42215: Introduction to Computer Science

Department: Computer Science

COMP42215: Introduction to Computer Science

Type Tied Level 4 Credits 15 Availability Available in 2020/21
Tied to G5K823
Tied to G5K923


  • None


  • None

Excluded Combination of Modules

  • None


  • To introduce students to the key concepts of programming in python
  • To examine how data structures affect the ease of implementation and efficiency of computer programs
  • To give students an in-depth understanding at an advanced level of data structures appropriate to data science
  • To provide an in-depth understanding and critical evaluation of specialist techniques in software engineering and their relevance to data science


  • This module is intended for students whose first degree is not in computer science or related disciplines
  • All examples will be given with the python programming language. It is assumed that students will already be aware of python, from pre-course reading and preparation.
  • Programming in python
  • Data structures and their impact on execution time
  • Algorithmic complexity
  • Modern software engineering techniques e.g. source-code control, automated testing.

Learning Outcomes

Subject-specific Knowledge:
  • By the end of this module, students should:
  • Understand the core constructs of imperative programming and how they are used in python
  • Have a critical appreciation of the main strengths and weaknesses of a range of programming data structures and how to use them
  • Have a critical appreciation of modern software engineering techniques
Subject-specific Skills:
  • By the end of this module, students should:
  • Be able to write computer programs in python
  • Be able to select appropriate data structures for modelling various data science scenarios
  • Be able to evaluate the complexity of an algorithm
  • Be able to use appropriate tools to manage source code
  • Be able to use appropriate tools to test code automatically
Key Skills:
  • Effective written communication
  • Planning, organising and time-management
  • Problem solving and analysis

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

  • This module will be delivered by the Department of Computer Science
  • Learning outcomes are met through classroom-based workshops, supported by online resources. The workshops consist of a combination of taught input, groupwork, case studies, discussion and computing labs. Online resources provide preparatory material for the workshops – typically consisting of directed reading and video content.
  • The summative assessment is an individual written report on the design, implementation, analysis and testing of a program to solve a specified data science problem

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 8 2 times per week (Term 1, weeks 1-4) 1 hour 8
Workshops 8 2 times per week (Term 1, weeks 1-4) 2 hours 16
Surgery 12 3 times per week (Term 1, weeks 1-4) 1 hour 12

Summative Assessment

Component: Assignment Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Individual written assignment based on development of a program 1500 words 100%

Formative Assessment:

The formative assessment consists of classroom-based exercises involving individual and group tasks on specific computer science topics, relevant to the learning outcomes of the modules. Oral and written feedback will be given on a group and/or individual basis as appropriate.

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