Skip to main content

Study information

Software Engineering 1 - 2025 entry

MODULE TITLESoftware Engineering 1 CREDIT VALUE30
MODULE CODEECM3432DA MODULE CONVENER Jimmy Robinson (Coordinator)
DURATION: TERM 1 2 3
DURATION: WEEKS 0 11 0
Number of Students Taking Module (anticipated) 40
DESCRIPTION - summary of the module content

***DEGREE APPRENTICESHIP STUDENTS ONLY***

The primary role of a software engineer is to be able to design, build and test, high-quality software solutions following best practices and industry standards. You will typically be working as part of a larger collaborative team, in which you will have responsibility for significant elements of the overall project. The developer will need to be able to interpret requirements specification documentation and designs in order to develop and test software that meets its requirements, even when these requirements may change.

AIMS - intentions of the module

The aim of this module is to build your knowledge, understanding and skill in software development and the practice of software development in the business context. You should be able to create effective software solutions to deliver a range of requirements using contemporary software development languages and development approaches.

INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)

On successful completion of this module, you should be able to:

Module Specific Skills and Knowledge

1. Create effective software solutions using contemporary software development languages and development approaches to deliver a range of requirements..

2. Write use cases and user stories, and create UML class diagrams.

3. Produce good quality code with sound syntax in at least one programming language.

4. Debug and refactor code.

5. Interpret and implement a design, compliant with functional, non-functional and security requirements including principles and approaches to addressing legacy software development issues from a technical and socio-technical perspective.

6. Perform unit testing, integration testing.

7. Perform testing with automated tools.

8. Deliver software solutions using tools for configuration management, version control, and release management.

9. Determine, refine, adapt and use appropriate engineering methods, approaches and techniques in software engineering projects to deliver an outcome that meets requirements.

10. Implement software engineering projects using appropriate software engineering methods, approaches and techniques.

Discipline Specific Skills and Knowledge

11. Understand how to operate at all stages of the software development life cycle (such as requirements gathering and analysis, design, development, and testing) and how each stage is applied in a range of contexts.

12. Demonstrate understanding of the principles of a range of software design and development techniques for each stage of the software development cycle that produces artefacts.

13. Know how to deliver software solutions using software project management methods and approaches of Scrum, Extreme Programming, Waterfall, Prince2, Test-Driven Development.

14. Demonstrate knowledge of selecting and using a range of software tools in Software Engineering.

15. Recognise the factors affecting software product quality and demonstrate understanding of approaches to control product quality throughout the development process.

16. Demonstrate understanding of the business environment and business issues related to software development.

17. Know about approaches used for the interpretation and use of artefacts.

18. Demonstrate understanding of the importance of effective teamwork and the range of software development tools that support effective teamwork.

19. Provide recommendations as to the most appropriate software engineering solution.

20. Evaluate learning points arising from software engineering work undertaken on a project including use of methods, analysis undertaken, selection of approach and the outcome achieved, in order to identify both lessons learnt and recommendations for improvements to future projects.

21. Identify and define software engineering problems that are non-routine and incompletely specified.

22. Respond to changing priorities and problems arising within software engineering projects by making revised recommendations, and adapting plans as necessary, to fit the scenario being investigated.

23. Extend and update software development knowledge with evidence from professional and academic sources by undertaking appropriate research to inform best practice and lead improvements in the organisation.

Personal and Key Transferable / Employment Skills and Knowledge

24. Communicate orally and in writing

25. Solve problems creatively

26. Think analytically and critically

27. Organise your own work

28. Work to a deadline

29. Collaborate and negotiate

30. Demonstrate commitment to continuous professional development

 

SYLLABUS PLAN - summary of the structure and academic content of the module

Introduction and context (1 week)

•          The business environment and business issues related to software development

•          Cost of software development and maintenance

 

Analysis (2 weeks)

•          Meeting functional and non-functional requirements

•          Requirements analysis techniques; use cases; user stories; scenarios

•          UML; analysis and modelling tools

 

Design (2 weeks)

•          Design principles (transparency, separation of concerns, abstraction, modularity, incremental development)

•          User interface design

•          Program structure; UML class diagrams

•          Data structures

•          Design patterns; MVC

 

Development (3 weeks)

•          Agile development; Scrum

•          Development tools; IDEs; configuration management and version control

•          Secure Coding principals

•          Debugging

•          Refactoring

 

Testing (2 weeks)

•          Forms of testing; testing processes; verification and validation

•          Unit testing; integration testing

•          Automated testing tools

 

Advanced programming techniques (1 week)

•          Collections and generics; other types

•          Serialisation

•          Error handling

 

Deployment (1 week)

•          Processes and tools for software build, release and deployment

LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
Scheduled Learning & Teaching Activities 22 Guided Independent Study 128 Placement / Study Abroad 0
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
Category Hours of study time Description
Scheduled learning and teaching activities 18 Online learning activity, including virtual workshops, synchronous and asynchronous virtual lectures and other e-learning.
Scheduled learning and teaching activities 2 Lectures
Scheduled learning and teaching activities 2 Group workshops
Guided independent study 128 Coursework, exam preparation and self-study

 

ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
Form of Assessment Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Contribution to class discussion N/A 1-30 Verbal

 

SUMMATIVE ASSESSMENT (% of credit)
Coursework 60 Written Exams 40 Practical Exams 0
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment % of Credit Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Agile development exercise 60 3000 words 1-30 Written
Written exam 40 2 hours 1-6, 9, 11-19, 21, 22, 24-28 Written

 

DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment Form of Re-assessment ILOs Re-assessed Time Scale for Re-assessment
Agile development exercise (60%) Software engineering exercise 1-30 Completed over summer with a deadline in August
Written exam (40%) Written exam (2 hours) 1-6, 9, 11-19, 21, 22, 24-28 Referral/deferral period

 

RE-ASSESSMENT NOTES

Deferral – if you miss an assessment for certificated reasons judged acceptable by the Mitigation Committee, you will normally be deferred in the assessment. The mark given for a re-assessment taken as a result of deferral will not be capped and will be treated as it would be if it were your first attempt at the assessment.

Referral – if you have failed the module overall (i.e. a final overall module mark of less than 40%) you may be required to sit a referral. The mark given for a re-assessment taken as a result of referral will be capped at 40%.

RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener

Reading list for this module:

Type Author Title Edition Publisher Year ISBN
Set Horstmann, C. S. Big Java: Early Objects 6th Wiley 2015 978-1-119-05644-7
Set Sommerville, I. Software Engineering 10th Addison Wesley 2015 978978-0137053469
CREDIT VALUE 30 ECTS VALUE 15
PRE-REQUISITE MODULES None
CO-REQUISITE MODULES None
NQF LEVEL (FHEQ) 6 AVAILABLE AS DISTANCE LEARNING No
ORIGIN DATE Thursday 14th March 2024 LAST REVISION DATE Tuesday 25th March 2025
KEY WORDS SEARCH Software, Engineering

Please note that all modules are subject to change, please get in touch if you have any questions about this module.