Find us +44 (0)113 2837100

COM7033 - Secure Software Development

Objectives:

On successful completion of the module, students will be able to:

1 - Demonstrate an understanding of secure programming concepts and techniques.

2 - Apply programming skills to manipulate and analyse data using popular libraries and frameworks.

3 - Demonstrate an understanding of the importance of developing software in an ethical, secure, and professional manner.

4 - Develop technical software solutions for complex problems.

Content:

This module provides an introduction to programming. Students learn the fundamentals of programming languages and their applications to solve complex problems using secure technical solutions. This module will allow the students, through a problem-based learning approach, to develop an understanding of programming fundamentals, data structures, and the security related issues of programming, as they explore and develop their capabilities in writing software solutions. Students also learn how to apply these concepts using popular programming languages. Throughout the course, students develop their programming skills and gain hands-on experience through practical exercises and assignments. They explore software best practices and secure development principles such as modularity, documentation, version control, and collaboration tools.

Upon completion, students will have a solid foundation in programming and will be equipped with the skills to solve real-world problems using programming languages and tools commonly used in the field.

Learning and Teaching Information:

Workshops may take different approaches relevant to the content. Students may be initially presented with the fundamental key concepts to enable them to understand and analyse the material. These will be interactive in nature. If possible, there will be some guest visits undertaken by academics and industry practitioners. This may then be followed up by an opportunity for students to apply techniques to given scenarios.

Workshops
Hours: 30
Intended Group Size: 50

Guided independent study
Hours: 270

Further details relating to assessment
Software Artefact: students are presented with a real-world problem for which they must find an effective solution and implement that solution in a computer programming language. The problem should require the application of programming techniques to manipulate and manage data, statistics and mathematics algorithms to scale and optimise the solution.

Students may be required to produce the following:
- coding scripts, dataset/s, test cases, features, etc
- project documentation, workability and interpretation of results.
Demonstration: students demonstrate their software artefact, explain and justify their solution, and answer questions posed.

In this module, formative assessment is used to support the skills that contribute to the assessment. Formative assessment will take a form of an e-portfolio where students will evidence progression on the module through the development of computer programs composed of polished, documented and extended versions of lab exercises started during the sessions. Formative feedback will be an ongoing process within class sessions.

Students should refer to the Module Handbook for further details on the module learning, teaching, and assessment strategies.

Assessment:

001 Software Artefact, 3000 word equivilant 70%
002 Demonstration, 15 minutes 30%

Fact File

Module Coordinator - Xin Lu
Level - 7
Credit Value - 30
Pre-Requisites - NONE
Semester(s) Offered - 7T17T2JL