Skip to main content


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


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.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Structured Guided LearningLecture materials21:002:00Non-sync lecture material to support lectures
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
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

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%.

Reading Lists