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
Semesters
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 | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
N/A
Co-Requisite
Modules you need to take at the same time
Co Requisite Comment
N/A
Aims
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
challenges.
• 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 Study | Assessment preparation and completion | 10 | 1:00 | 10:00 | Exam and revision |
Scheduled Learning And Teaching Activities | Lecture | 22 | 1:00 | 22:00 | PIP traditional lectures. Online equivalent could be provided |
Guided Independent Study | Assessment preparation and completion | 55 | 1:00 | 55:00 | Programming based coursework |
Guided Independent Study | Assessment preparation and completion | 11 | 1:00 | 11:00 | Lecture follow-up |
Structured Guided Learning | Lecture materials | 2 | 1:00 | 2:00 | Non-sync lecture material to support lectures |
Scheduled Learning And Teaching Activities | Practical | 22 | 2:00 | 44:00 | PiP in computer lab with practical teaching & drop-in surgery. Online sessions could be provided |
Structured Guided Learning | Structured non-synchronous discussion | 11 | 1:00 | 11:00 | Non-sync discussion board with Q & A forum around lecture materials & assessment |
Guided Independent Study | Independent study | 45 | 1:00 | 45:00 | Background reading |
Total | 200:00 |
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
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Digital Examination | 120 | 1 | A | 40 | N/A |
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Computer assessment | 1 | M | 60 | Programming-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%.
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC2031's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- CSC2031's past Exam Papers
General Notes
N/A
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.
Disclaimer
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.