Skip to main content
 

COMP42215: Introduction to Computer Science

It is possible that changes to modules or programmes might need to be made during the academic year, in response to the impact of Covid-19 and/or any further changes in public health advice.

Type Tied
Level 4
Credits 15
Availability Available in 2023/24
Module Cap None.
Location Durham
Department Computer Science

Prerequisites

  • None

Corequisites

  • None

Excluded Combinations of Modules

  • None

Aims

  • 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

Content

  • 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 practical 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 on this module will be delivered in a blended mode with specific elements delivered online where student numbers determine online teaching as the most effective method

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotalMonitored
Lectures82 times per week (Term 1, weeks 1-4)2 hours16 
Workshops41 time per week (Term 1, weeks 1-4)3 hours12 
Online Surgery82 times per week (Term 1, weeks 1-4)1 hour8 
Self study114 
Total150 

Summative Assessment

Component: AssignmentComponent Weighting: 100%
ElementLength / DurationElement WeightingResit Opportunity
Individual written assignment based on development of a program1500 words100 

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.

More information

If you have a question about Durham's modular degree programmes, please visit our Help page. If you have a question about modular programmes that is not covered by the Help page, or a query about the on-line Postgraduate 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.