Software Engineering 1 - 2025 entry
MODULE TITLE | Software Engineering 1 | CREDIT VALUE | 30 |
---|---|---|---|
MODULE CODE | ECM3432DA | MODULE CONVENER | Jimmy Robinson (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 0 | 11 | 0 |
Number of Students Taking Module (anticipated) | 40 |
---|
***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.
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.
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
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
Scheduled Learning & Teaching Activities | 22 | Guided Independent Study | 128 | Placement / Study Abroad | 0 |
---|
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 |
Form of Assessment | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|
Contribution to class discussion | N/A | 1-30 | Verbal |
Coursework | 60 | Written Exams | 40 | Practical Exams | 0 |
---|
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 |
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 |
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%.
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.