production
Skip to Content

CS3028: PRINCIPLES OF SOFTWARE ENGINEERING (2017-2018)

Last modified: 16 Nov 2016 18:26


Course Overview

Students will develop large commercial and industrial software systems as a team-based effort that puts technical quality at centre stage. The module will focus on the early stage of software development, encompassing team building, requirements specification, architectural and detailed design, and software construction. Groupwork (where each team of students will develop a system selected using a business planning exercise) will guide the software engineering learning process. Teams will be encouraged to have an active, agile approach to problem solving through the guided study, evaluation and integration of practically relevant software engineering concepts, methods, and tools.

Course Details

Study Type Undergraduate Level 3
Session First Sub Session Credit Points 15 credits (7.5 ECTS credits)
Campus Old Aberdeen Sustained Study No
Co-ordinators
  • Dr Ernesto Compatangelo

Qualification Prerequisites

  • Either Programme Level 3 or Programme Level 4

What courses & programmes must have been taken before this course?

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

None.

Are there a limited number of places available?

No

Course Description

Course Aims

Principles of software engineering aims at providing students with both an in-width and an in-depth understanding of disciplined approaches to the software development process, which facilitates the further in-depth understanding gained during the subsequent practice-based sibling course in term two.
Teamwork-based practicals focusing on the preliminary stage of a software development project chosen by students aims at complementing the learning process. 

Main Learning Outcomes
  • Operative knowledge of software development paradigms and of their role in the software development process.
  • Operative knowledge of project management concepts, methodologies, and tasks.
  • Operative knowledge of software requirements elicitation and analysis principles and techniques.
  • Operative knowledge of software design principles and pattern-based design techniques.
  • Operative knowledge of quality assurance principles and techniques, with particular emphasis on software testing methodologies and techniques.

Course Content

 

  • Introduction to software engineering: Software development paradigms, software lifecycle, the Unified Paradigm.
  • Project management issues: Team organisation, time and cost estimation, risk analysis.

  • Software analysis and design issues: Requirements elicitation, developing a system specification through use cases, architectural design, detailed design, design patterns.

  • Software implementation and quality issues: Testing strategies and methods; quality assurance and management; software verification and validation; software documentation and maintenance.

Degree Programmes for which this Course is Prescribed

  • BSc Computing Science
  • BSc Computing Science and Philosophy
  • BSc Computing Science and Physics
  • Bachelor Of Engineering In Engineering Electronic & Software
  • Bachelor Of Science In Business Mngmt & Information Systems
  • Computing Science Joint
  • Computing Science Minor
  • MA Computing
  • MA Information Systems and Management
  • MSci Computing Science w Ind'l Placement
  • MSci Computing with Industrial Placement
  • Master Of Engineering In Electronic & Software Engineering
  • Master of Engineering in Computing Science

Contact Teaching Time

33 hours

This is the total time spent in lectures, tutorials and other class teaching.

Teaching Breakdown


Assessment

1st Attempt

1 two hour written examination (75%);
continuous assessment (25%). 

Continuous assessment includes 1 teamwork project white paper (10 pages); 1  teamwork project initial technical report (10 pages); 1 proof-of concept software release.

Resit

1 two hour written examination (75%).
As it is not possible to resit the teamwork-based coursework, an alternative individual equivalent task will be assigned to the student in case of resit of the coursework component.

Formative Assessment

Collective verbal team discussion with groupwork project guides (every fortnights)  and with course organiser (every month or so). Individual MyAberdeen-based technical assignments(every two weeks)  with team leader reporting.

Feedback

Due to the groupwork-based nature of most assignments, feedback is provided by team guides (and by the course organiser) during the appropriate meetings (see above). Feedback for individual tasks is verbally provided as part of the team strength discussion between the course organiser and the team leaders.

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.