Core Module Information
Module title: Software Engineering

SCQF level: 09:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: SET09102
Module leader: Brian Davison
School School of Computing, Engineering and the Built Environment
Subject area group: Computer Science
Prerequisites

Requisites: Pre-requisite: [Module SET08103] Software Engineering Methods AND Pre-requisite: Previous experience with object-oriented software development

Description of module content:

This module builds on your knowledge of object-oriented software development and software engineering methods. You should already have some experience with these topics before attempting this module; however, there are online tutorials available to guide you through the use of some fundamental tools and techniques.This module focuses on the quality of software systems including- Formal and informal measures of software quality- Recognised design and development processes aimed at optimising software quality- Advanced use of tools, platforms and services for software engineering- The ethical use of AI in software engineeringThe module is designed to provide maximum opportunity for interaction with other students and with module tutors. Lecture material is provided in the form of on-demand videos accompanied by detailed notes. The scheduled classes are all aimed at problem-solving and practical application of the theoretical material. It is your responsibility to work through the online material according to the recommended schedule.While the topics covered in the module are applicable to any development environment and programming language, C# will be the primary language used. Some familiarity with C# and relevant development tools (e.g. Visual Studio, Rider, etc.) will be highly beneficial, but experience with a comparable object-oriented language such as Java and an advanced IDE such as Eclipse or IntelliJ will provide you with the appropriate transferable skills. If you are coming to C# from another programming environment, it is highly recommended that you follow some introductory tutorials provided before starting the coursework.To provide an appropriate collaborative environment for software development, the coursework will involve working with other students in small groups. However, it is not the combined work of the group that is being assessed; it is your personal contribution to the group effort. You will need to demonstrate the appropriate engagement with the coursework through code artefacts, documentary evidence and a final presentation. In the presentation, you will need to demonstrate an appropriate level of knowledge and understanding of the module content.

Learning Outcomes for module:

Upon completion of this module you will be able to

LO1: Design and create high-quality, maintainable code

LO2: Implement software development processes to optimise the quality of software systems

LO3: Evaluate and apply software quality assurance metrics and techniques

LO4: Demonstrate competent and ethical use of AI tools in software development

Full Details of Teaching and Assessment
2024/5, Trimester 1, In Person,
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: In Person
Location of delivery: MERCHISTON
Partner:
Member of staff responsible for delivering module: Zakwan Jaroucheh
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)NESH Description
Face To Face Lecture 20 LECTURE
Face To Face Practical classes and workshops 20 Practical classes and workshops
Online Guided independent study 160 Guided independent study
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words Description
Portfolio 60 1~2~3~4 Week 12 , WORDS= 3000 words Practical Skills Assessment
Oral Assessment 40 1~2~3~4 Week 13 HOURS= 15 min One-to-one interview on portfolio contents
Component 1 subtotal: 60
Component 2 subtotal: 40
Module subtotal: 100
2024/5, Trimester 2, In Person,
VIEW FULL DETAILS
Occurrence: 001
Primary mode of delivery: In Person
Location of delivery: MERCHISTON
Partner:
Member of staff responsible for delivering module: Brian Davison
Module Organiser:


Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)NESH Description
Independent Learning On-demand Webinar 25 The module provides extensive notes that you should work through on a weekly schedule. To help you, each set of notes is accompanied by a video presentation. Viewing the videos is the minimum requirement - you will get a more detailed understanding of the topic by using the notes and following up on the embedded links.
Face To Face Practical classes and workshops 20 Two hours each week are devoted to in-class hands-on work with C# programming. For the first half of the trimester, this will consist of structured exercises based on an example application. In the second half of the trimester, the practical session will focus on providing support while you are working on the coursework project.
Online GROUPIND_STUDY 20 You are expected to collaborate with the other students in your team outside of scheduled class time when working on the coursework project. This will involve code development and code review mediated by GitHub.
Face To Face Tutorial 10 Each week there will be a one-hour interactive tutorial aimed at expanding on the concepts covered in the notes and clarifying any points that you would like to raise. The content of the tutorial sessions may also relate to practical concerns related to the software tools used for the coursework. The content will be adapted depending on your priorities.
Online Guided independent study 125 Once classes, coursework and video presentations are accounted for, the remainder of the time allocation for the module (125 hours over the full trimester) is for you to use as independent study time. This might include for example additional work on the coursework project, practice with the tools and techniques discussed in the module or wider reading.
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words Description
Practical Skills Assessment 10 1 Week 3 HOURS= 1h The quiz will be based on the notes and recorded presentations for unit 1 which covers code quality. Only one attempt will be allowed.
Oral Assessment 40 1~2~3~4 Week 13 HOURS= 15 min Based on the development report, the presentation focuses on the best examples of 1) requirements elaboration and UML modelling, 2) high-quality coding, 3) unit testing and 4) code review. It should provide a clear analysis of the material using appropriate language and terminology. The tutor will also ask questions about the presentation content based on the concepts covered in the module notes. Note that this is an individual presentation that focuses on your personal contribution to the group project work.
Report 30 1~2~3~4 Week 13 , WORDS= 2400 words Collaborative software development is managed via GitHub using issues, pull requests and code reviews. The report summarises three issues and three code reviews that the student has completed. It should highlight the ways on which the selected issues and code reviews exemplify good practice and how they relate to the module learning outcomes.
Practical Skills Assessment 10 2 Week 6 HOURS= 1h The quiz will be based on the notes and recorded presentations for units 2, 3, 4 and 5 which cover workflow, project lifecycles, Agile development and testing. Only one attempt will be allowed.
Practical Skills Assessment 10 3~4 Week 9 HOURS= 1h The quiz will be based on the notes and recorded presentations for units 7 and 8 which cover quality metrics and the use of AI in software engineering. Only one attempt will be allowed.
Component 1 subtotal: 30
Component 2 subtotal: 70
Module subtotal: 100

Indicative References and Reading List - URL:
SET09102: Software Engineering