Module Catalogue 2023/24

CSC8005 : Software Engineering with Group Project (Inactive)

  • Inactive for Year: 2023/24
  • Module Leader(s): Dr Dan Nesbitt
  • Other Staff: Miss Laura Heels
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semester 1 Credit Value: 10
Semester 2 Credit Value: 10
ECTS Credits: 10.0
Pre Requisites
Pre Requisite Comment


Co Requisites
Code Title
CSC8001Programming and Data Structures
Co Requisite Comment



To equip students with the knowledge and experience to function as successful practitioner software engineers.

This module aims to equip students with the knowledge and experience to function as successful practitioner software engineers. The course begins with a discussion of the nature of Software and the Software Engineering Industry. It then introduces Software Development Activities & important Process Models. A model-based approach is then used to introduce various Software Engineering Tools & Techniques. UML (Unified Modeling Language) is introduced to capture system design. Finally, methods of managing the Software Development Process are taught. A Group Project runs as part of this course to give students experience in team working and management of a software project.

Outline Of Syllabus

Software and the Software Engineering Industry
1. The discrete character of software
2. Programs: machine code to high level languages
3. Software Qualities: code qualities (e.g. maintainability, complexity); emergent properties (e.g. reliability)
4. The Software Industry: software as part of a system; products (closed source, open source, training, maintenance, ad-hoc bespoke, COTS); software developers (companies, teams, individuals: software engineer vs. programmer); life as a software engineering professional

Software Development Activities & Process Models
1. Development activities: synthesis and V&V; analysis, design, implementation, test.
2. Development process models as ways of organising activities: waterfall, V, evolutionary, Boehm's spiral model. Choosing a development model.

Software Engineering Tools & Techniques: a model-based approach
1. Models: abstraction and rigour.
2. The idea of modelling: data, functionality, data flow, control, consistency of models
3. Basic Modelling Skills in UML: conceptual and specification level models using use cases, class diagrams and activity charts
4. Model-based techniques for Synthesis
5. Issues in Requirements Modelling
6. The Design Process
7. Implementation
8. Model-based techniques in Validation & Verification
9. The idea of correctness; difference between validation and verification
10. V&V by Inspection
11. V&V by Testing
12. V&V by automated analysis (static analysis, model checking and proof)
13. Deployment and Maintenance

Managing the Development Process
1. Cost Estimation
2. Planning Tools
3. Product Metrics
4. Process Improvement

Trends in Software Engineering
1. New architectural paradigms. An introduction to function orientation, compared with object orientation. Aspect-oriented programming
2. Open source development
3. New project paradigms: agility, extreme programming.
4. The Professional's Role: issues in ethics & conduct

Learning Outcomes

Intended Knowledge Outcomes

To be able to describe & discuss:
- the characteristics of software as an engineering medium,
- the main techniques for modelling and analysing software,
- the major software architectural paradigms,
- the major development process models,
- the role of software quality in influencing the development process,
- the basic techniques for planning and monitoring a software development project.

Intended Skill Outcomes

The ability to evaluate emerging software engineering technology critically.
The ability to choose, and justify the choice of, software engineering tools, techniques and processes within project constraints.
The ability to plan and manage software engineering projects.
The ability to contribute effectively to the work of a software development team.
The ability to reflect constructively on software development experience.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture441:0044:00Lectures
Guided Independent StudyAssessment preparation and completion480:3024:00Revision for end of Semester exam and exam duration
Guided Independent StudyAssessment preparation and completion441:0044:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesSmall group teaching221:0022:00Tutorials
Guided Independent StudyProject work441:0044:00Coursework
Guided Independent StudyStudent-led group activity151:0015:00Informal/formal group meetings
Guided Independent StudyIndependent study71:007:00Background reading
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.

Project meetings both formal and informal, will provide team members and the team monitor with the opportunity to follow progress and address team issues.

Students aiming for 1st class marks are expected to widen their knowledge beyond the content of lecture notes through background reading.

Students should set aside sufficient time to revise for the end of semester exam.

Reading Lists

Assessment Methods

The format of resits will be determined by the Board of Examiners

Description Length Semester When Set Percentage Comment
Digital Examination901A40N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report2M20Individual work
Practical/lab report2M40Group work
Formative Assessments
Description Semester When Set Comment
Report1MRequirements Specification: Group Work
Assessment Rationale And Relationship

The Individual Report is used to assess what the individual has learnt about the group project, and whether he/she is able to function independently as a software engineering professional.

The Group Report is used to demonstrate what has been achieved in the Group Project, and the contribution that each group member has made. The formative "Requirements Specification" deliverable is used to provide early feedback to the group.

The examination assesses fundamental knowledge and understanding of theory and application of fundamental software engineering principles.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.


Past Exam Papers

General Notes


Disclaimer: The information contained within the Module Catalogue relates to the 2023/24 academic year. In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described. Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2024/25 entry will be published here in early-April 2024. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.