Module Catalogue 2023/24

CSC2031 : Security and Programming Paradigms

CSC2031 : Security and Programming Paradigms

  • Offered for Year: 2023/24
  • Module Leader(s): Dr John Mace
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus

Your programme is made up of credits, the total differs on programme to programme.

Semester 1 Credit Value: 20
ECTS Credits: 10.0
European Credit Transfer System

Modules you must have done previously to study this module

Pre Requisite Comment



Modules you need to take at the same time

Co Requisite Comment



All computer scientist graduates should have a good understanding of the issues and practicalities of security when designing and implementing systems. This module explores key security challenges faced by modern day software applications and gives students first-hand experience in implementing security mechanisms using different programming styles or paradigms to help address those challenges.

Outline Of Syllabus

1. Security and programming paradigm basics, software security principles and practice.
2. Introduction to Web development and Python Flask.
3. Data input, input validation, error handling.
4. Storing input, database configuration and interaction.
5. Cryptography basics, hashing passwords, encrypting stored data.
6. Authenticating users, multi-factor authentication, limiting login attempts, password management.
7. Authorisation, managing user access, Role Based Access Control, logging users activity.
8. Random numbers, randomness issues, cryptographically secure random numbers.
9. Transmitting data, HTTPS, security headers, digital signatures.

Learning Outcomes

Intended Knowledge Outcomes

To be able to:

• Understand the key security challenges faced by software applications.
• Reason about appropriate security mechanisms and their properties needed to address those security
• Select suitable programming paradigms and elements to implement those security mechanisms.

Intended Skill Outcomes

To be able to:

• Implement solutions to key security issues using different development paradigms.
• Read and understand code written using different programming paradigms.
• Expand and extend existing software applications.
• Understand and problem solve programming errors.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion101:0010:00Exam and revision
Scheduled Learning And Teaching ActivitiesLecture221:0022:00PIP traditional lectures. Online equivalent could be provided
Guided Independent StudyAssessment preparation and completion551:0055:00Programming based coursework
Guided Independent StudyAssessment preparation and completion111:0011:00Lecture follow-up
Structured Guided LearningLecture materials21:002:00Non-sync lecture material to support lectures
Scheduled Learning And Teaching ActivitiesPractical222:0044:00PiP in computer lab with practical teaching & drop-in surgery. Online sessions could be provided
Structured Guided LearningStructured non-synchronous discussion111:0011:00Non-sync discussion board with Q & A forum around lecture materials & assessment
Guided Independent StudyIndependent study451:0045:00Background reading
Teaching Rationale And Relationship

Teaching will be PIP but allow for a blended learning approach if needed where a mix of online and face-to-face lecture type activities will present the basic material, followed by substantial practical time during which the students will develop the skills to apply the techniques introduced through the lecture material

Reading Lists

Assessment Methods

The format of resits will be determined by the Board of Examiners

Description Length Semester When Set Percentage Comment
Digital Examination1201A40N/A
Other Assessment
Description Semester When Set Percentage Comment
Computer assessment1M60Programming-based coursework
Assessment Rationale And Relationship

This is both a theoretical and practical subject area and therefore merits assessment via digital examination and coursework components.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.


Past Exam Papers

General Notes


Welcome to Newcastle University Module Catalogue

This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.

You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.


The information contained within the Module Catalogue relates to the 2023 academic year.

In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described.

Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2024/25 entry will be published here in early-April 2024. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.