Academic Handbook Course Descriptors and Programme Specifications
LCSCI6206 Fundamentals of Software Engineering Course Descriptor
Last modified on September 12th, 2024 at 4:26 pm
Course code | LCSCI6206 | Discipline | Computer & Data Science |
UK credit | 15 | US credit | 4 |
FHEQ level | 6 | Date approved | November 2022 |
Core attributes | Writing Intensive x 2 (WI) | ||
Pre-requisites | LCSCI5205 Object-Oriented Design or LDSCI5206 Advanced Programming with Data | ||
Co-requisites | None |
Course Overview
Building, delivering and maintaining successful software artefacts requires more than being good at programming. This course covers the fundamentals of software engineering, ranging from software development life cycle models, to design, to testing, to deployment. Development models that work well for a single developer do not scale to teams, and vice versa. The course explores these tradeoffs throughout the entire software development lifecycle, with a particular focus on how these decisions affect the quality of the resulting software.
Learning Outcomes
On successful completion of the course, students will be able to:
Knowledge and Understanding
K1c | Systematically understand fundamental aspects of the software development life cycle: development models, requirements analysis, user-centred design, software design principles and patterns; testing, code refactoring and debugging, software architecture and design, and integration and deployment. |
K2c | Systematically understand methods and techniques for developing highly efficient software. |
K3c | Identify appropriate design patterns and code organisation suitable for developing a well-tested software that solves a particular computing problem. |
Subject Specific Skills
S1c | Critically evaluate technical, social and management dimensions of software engineering, including familiarity with codes of ethics, codes of practice, and relevant industry standards. |
S2c | Design and develop original software of varying levels of complexity either individually or as part of a team. |
Transferable and Employability Skills
T1c | Undertake significant personal responsibility and leadership as part of a team when developing original software. |
T3c | Display an advanced level of technical proficiency in written English and competence in applying scholarly terminology, so as to be able to apply skills in critical evaluation, analysis and judgement effectively in a diverse range of contexts. |
T4c | Work in a proactive and effective manner as part of a team in a data-driven application project, exercising initiative and responsibility in the design and implementation of software for that project. |
Teaching and Learning
This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage students in their studies.
The scheduled teaching and learning activities for this course are:
Lectures/labs. 40 scheduled hours – typically including induction, consolidation or revision, and assessment activity hours:
- Version 1:All sessions in the same sized group, or
- Version 2: most of the sessions in larger groups; some of the sessions in smaller groups
Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.
Students are to attend and participate in all the scheduled teaching and learning activities for this course and to manage their directed learning and independent study.
Indicative total learning hours for this course: 150
Assessment
Both formative and summative assessment are used as part of this course, with purely formative opportunities typically embedded within interactive teaching sessions, office hours, and/or the VLE.
Summative Assessments
AE: | Assessment Activity | Weighting
(%) |
Duration | Length
(words) |
1 | Set Exercises | 70 | 24-32 hours | |
2 | Written Assignment – Group | 30 | 2,500 |
Further information about the assessments can be found in the Course Syllabus.
Feedback
Students will receive formative and summative feedback in a variety of ways, written (e.g. marked up on assignments, through email or the VLE) or oral (e.g. as part of interactive teaching sessions or in office hours).
Indicative Reading
Note: Comprehensive and current reading lists are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is for a general guide and part of the approval/modification process only.
- Titus Winters, Tom Manshreck, and Hyrum Wright. 2020. Software Engineering at Google. O’Reilly Media.
- Mauricio Aniche. 2022. Effective Software Testing: A Developer’s Guide. Manning.
- Mark Richards and Neal Ford. Fundamentals of Software Architecture. O’Reilly Media.
Indicative Topics
Note: Comprehensive and current topics for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative topics provided below are used as a general guide and part of the approval/modification process only.
- Software development life cycle models (e.g., waterfall, spiral, agile)
- Requirements gathering and analysis
- User-centred design
- Software design principles and patterns
- Testing (e.g., functional testing, structural testing)
- Code refactoring and debugging
- Software architecture and design
- Integration and deployment
Version History
Title: LCSCI6206 Fundamentals of Software Engineering
Approved by: Academic Board Location: academic-handbook/programme-specifications-and-handbooks/undergraduate-programmes |
|||||
Version number | Date approved | Date published | Owner | Proposed next review date | Modification (as per AQF4) & category number |
1.1 | July 2023 | September 2024 | Dr Alexandros Koliousis | November 2027 | Category 1:
Corrections/clarifications to documents which do not change approved content or learning outcomes |
1.0 | November 2022 | January 2023 | Dr Alexandros Koliousis | November 2027 |