Skip to content

Latest commit

 

History

History
95 lines (68 loc) · 7 KB

CS7CS3 – Advanced Software Engineering.md

File metadata and controls

95 lines (68 loc) · 7 KB

CS7CS3 – Advanced Software Engineering

About Lecturer

Fergal Shevlin

img

Her research focus is on software systems that enable the provision of smart and dynamic software services to urban stakeholders, addressing research challenges in the engineering of dynamic software in large-scale, ad hoc, mobile environments.

  • Email: [email protected]
  • Telephone: ext. 2224, External: +353-1-8962224
  • Fax: +353-1-6772204
  • Location: Lloyd Building, room L2.15

About Lecture

Module Describe

Module Code CS7CS2
Module Name Advanced Software Engineering
ECTS Weighting[**1]** 10 ECTS
Semester taught Semester 1 & 2
Module Coordinator/s Professor Siobhán Clarke https://eu.bbcollab.com/guest/fede7a5542ff45ca95c30c43db26ae2a

Module Learning Outcomes

On successful completion of this module, students will be able to:

  1. assess the theory of classic architecture principles and apply an appropriate architectural model in a team-based application under development;
  2. evaluate the quality of object-oriented code against standard principles;
  3. refactor object-oriented code to conform to standard OO principles;
  4. apply test-driven design principles;
  5. assess the theory of team-based software development, and of agile processes, and apply in a group project;
  6. analyse, specify, design, write and test a large-scale, team-based application solving a complex problem;
  7. select and apply appropriate structuring mechanisms, data placement strategies and code quality techniques for large-scale applications;
  8. document and demonstrate a large-scale, team-based application to assessors;
  9. investigate current state of the art in any software engineering topic.
  10. apply online group programming techniques

Module Content

  • The purpose of this course is to expose students to the advanced theory and practice of contemporary software engineering techniques and team-based software development; and to the current state of the art in software engineering research. A core aim of this course is to provide students with experience of developing a large-scale application.
  • Upon completion of the course students will have gained experience of analysing, specifying, designing and implementing a large-scale application, as part of a team.
  • The projects will be strand specific. In addition to addressing debugging and testing challenges, they will also have been exposed to the challenges posed by communicating with team members and other stakeholders (e.g.potential funders), project management, code integration and demonstrating such an application.

Each year there may be more emphasis on some of these topics than others.

Teaching and Learning Methods

Teaching and learning methods will include a combination of lectures with the whole class, and group conversations on learning outcomes with each project group during their practice sessions.

Assessment Details

Assessment Component Brief Description Learning Outcomes Addressed % of total Week set Week Due
Group project requirements specification Analyse and document the requirements for the group project LO6 10% for group 8 12
Group project architecture Application of an appropriate architectural model in a team-based application under development LO1 10% for group 8 12
Group project architecture Implementation of a thin slice of project functionality across all architectural components. LO1 10% for group 12 14
Group development project Evaluation is based on the end-of-year project documentation, a demonstration to the course lecturer and, where relevant, other stakeholders, an oral examination within teams, and peer assessment. 35% of the marks are group-wide, and 35% is individual.
Criteria for evaluation are: Application of agile process to group project Application of appropriate systems’ algorithms in group project; Code quality within group project codebase; Individualised assessment, against the three evaluation criteria, is based on teammembers’ peer reviews, combined with lecturer/TA observation throughout the semester, and Q&A on software engineering theory.
Individual mark must be passed–i.e., 17.5%–in order to pass the module.
LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9. 35% for group; 35% for individual (Individual mark must be passed–i.e., 17.5%–in order to pass the module) 6 24

Reassessment Details

SUPPLEMENTAL ASSESSMENT: Examination (2 hours, 100%)

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by: 98 hours
Lecture 18 hours
Laboratory 80 hours
Tutorial or seminar 0 hours
Other 0 hours
Independent study (outside scheduled contact hours), broken down by: 122 hours
Working in project groups 122 hours
Total Hours 220 hours

Module Pre-requisites

Students should be able to:

  • write object-oriented code at an honours BSc level
  • understand distributed systems concepts