Fergal Shevlin
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
- Trinity Scss: Siobhán Clarke
- Teaching: CS7GV2 – Mathematics of Light and Sound
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 |
On successful completion of this module, students will be able to:
- assess the theory of classic architecture principles and apply an appropriate architectural model in a team-based application under development;
- evaluate the quality of object-oriented code against standard principles;
- refactor object-oriented code to conform to standard OO principles;
- apply test-driven design principles;
- assess the theory of team-based software development, and of agile processes, and apply in a group project;
- analyse, specify, design, write and test a large-scale, team-based application solving a complex problem;
- select and apply appropriate structuring mechanisms, data placement strategies and code quality techniques for large-scale applications;
- document and demonstrate a large-scale, team-based application to assessors;
- investigate current state of the art in any software engineering topic.
- apply online group programming techniques
- 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 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 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 |
SUPPLEMENTAL ASSESSMENT: Examination (2 hours, 100%)
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 |
Students should be able to:
- write object-oriented code at an honours BSc level
- understand distributed systems concepts