CSC2021 : Software Engineering
- Offered for Year: 2019/20
- Module Leader(s): Dr John Colquhoun
- Lecturer: Dr Leo Freitas
- Owning School: Computing
- Teaching Location: Newcastle City Campus
|Semester 1 Credit Value:||10|
|Semester 2 Credit Value:||10|
To teach students the principle tools and techniques of software engineering and how to apply them to the development of large scale software systems.
Outline Of Syllabus
1.1. The nature of software; SW Engineering Principles (rigour, separation of concerns, modularity, abstraction, anticipating change, generality, incrementality)
1.2. Cost of defects and rework, role of modelling
1.3. Project Management: Risk, cost prediction, monitoring
2. Modelling and Specification
2.1. Eliciting and Analysing Requirements
2.2. Software Modelling and Design: architecture, modularisation, rationale, design patterns, architectural styles
2.3. Foundations of modelling technology: propositional and predicate logic, data and invariants; contracts; state-based and state-transition models
3. Verification & Validation
3.1. Testing: fundamentals (test plan, test case, black box, white box, unit/integration/system testing)
3.2. Test coverage; Test case generation; Testing for o-o, concurrent, real-time systems
3.3. Model checking; static analysis; correctness proofs; automated support
3.4. Metrics for complexity, reliability, performance
4. Case studies
4.1. Modelling & Verification in a range of application domains such as cyber-physical, ambient, security-critical and network-enabled systems.
|Scheduled Learning And Teaching Activities||Lecture||44||1:00||44:00||Lectures and revision lectures|
|Guided Independent Study||Assessment preparation and completion||44||0:30||22:00||Revision for end of semester exam|
|Guided Independent Study||Assessment preparation and completion||44||1:00||44:00||Lecture follow-up|
|Scheduled Learning And Teaching Activities||Lecture||22||1:00||22:00||Practicals|
|Guided Independent Study||Project work||22||1:00||22:00||Coursework|
|Guided Independent Study||Independent study||46||1:00||46:00||Background reading|
Teaching Rationale And Relationship
Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Software Engineering is by nature a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes.
The format of resits will be determined by the Board of Examiners
|PC Examination||60||2||A||30||Blackboard on line assessment|
|Prob solv exercises||1||M||20||A number of short exercises|
|Case study||2||M||20||A software engineering project|
Assessment Rationale And Relationship
The module is examined with a written examination (end of semester 1) and an online examination (end of semester 2). The examinations will each consist of a number of questions with parts which test the students' broad knowledge of software engineering and parts based on a scenario which require students to show greater depth of understanding of key concepts. The heavy weighting of coursework (40%) in this module reflects the importance of practical aspects of this module.
Study abroad students considering this module should contact the School to discuss availability and assessment.
N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.