Undergraduate

modules

Modules

CSC2033 : Software Engineering Team Project (Inactive)

Semesters
Semester 1 Credit Value: 30
ECTS Credits: 15.0

Aims

To provide practical experience of real-world software development and team working.
To develop employability skills and provide experience of working with appropriate industrial-strength tool-chains

This module gives students the opportunity to work within a team situation that simulates a real-world environment. The module takes place over an intensive period of 8 weeks and consists of some career development activities as well as practical software engineering experience.

Career Development. Before the start of the module, you will submit a CV and covering letter to apply for a position with one of a number of participating employers. Mock interviews with these employers will take place in the first three weeks of the module.

Practical Software Engineering. In the first week, you will research into relevant skills required for a software engineer (beyond coding). Following this, all students are allocated into teams and given a project brief, alongside an intensive course of lectures on software processes, lifecycles and techniques, and a team half-day workshop to begin planning their approach to the problem. This is followed by a one-week "toolchain bootcamp" where experience will be gained with a variety of tools for collaborative planning, building, verification and release of software systems by working on small-scale tutorial examples and brownfield code.

For the remainder of the module teams will work on the project, with guest lectures from industry practitioners. Progress will be checked regularly with a weekly "standup" attended by a team monitor, in which all team members are expected to briefly explain their current work. Project work will continue into the normal semester 1 exam period with a final trade fair and demonstration and submission of final reports, peer assessment and self-reflection.

The class will be divided into a number of teams with around ten students in each team. Team membership will be determined by the module leader - expect to find in your team students with diverse backgrounds, abilities and skills. communication etc. You will need to make the most of the skills within your team and allocate tasks and roles accordingly.

Outline Of Syllabus

Professional skills:
-       The software engineering skillset
-       Reflective writing and self assessment
-       Interview techniques
Processes and Project Management:
-       Life-cycle and process models
-       Cost estimation
-       Team organisation, roles and responsibilities
-       Risk assessment
-       Configuration management principles
Software Engineering Techniques and Tools
-       Requirements Engineering, UML design, Principles of verification
-       Tools for collaborative planning, building, verification and release of software systems

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture151:0015:00Lectures on software processes, techniques, project management
Guided Independent StudyAssessment preparation and completion11:001:00Professional behaviour –assessed based on behaviour throughout module
Guided Independent StudyAssessment preparation and completion130:0030:00Team preparation/submission for final code and team report
Guided Independent StudyAssessment preparation and completion15:005:00Team preparation for trade fair/demonstration
Guided Independent StudyAssessment preparation and completion112:0012:00Team preparation of design document
Guided Independent StudyAssessment preparation and completion101:0010:00Portfolio reflection
Guided Independent StudyAssessment preparation and completion15:005:00CV and covering letter preparation (formative)
Guided Independent StudyAssessment preparation and completion10:400:40Preparation for Mock interview
Scheduled Learning And Teaching ActivitiesSmall group teaching10:200:20Mock interview
Scheduled Learning And Teaching ActivitiesWorkshops13:003:00Trade fair
Scheduled Learning And Teaching ActivitiesWorkshops102:0020:00Toolchain bootcamp
Guided Independent StudyStudent-led group activity401:0040:00Group meetings
Guided Independent StudyIndependent study1501:00150:00Background reading
Scheduled Learning And Teaching ActivitiesDissertation/project related supervision81:008:00Weekly standup meeting with team monitor
Total300:00
Teaching Rationale And Relationship

This is a practically-oriented course with students learning and developing skills within a team environment. Lectures are used to introduce and explore the main topics. The week-long bootcamp with tutorials provides background in the range of software development tools. Students are expected to work together and individually to develop a large piece of software and provide appropriate documentation. Regular stand-up meetings are held with staff to check progress of the team work.

Assessment Methods

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

Other Assessment
Description Semester When Set Percentage Comment
Prof skill assessmnt1M5Mock Interview
Reflective log1M15Portfolio reflection (2000 words)
Report1M20Formal design document (team) (1000 words)
Prof skill assessmnt1M15Trade fair/technical demonstration (team)
Prof skill assessmnt1M5Professional Behaviour (assessed based on attendance and conduct over whole project; no formal submission)
Practical/lab report1M40Final system and team report (team) (submitted code with 3000 word report)
Formative Assessments
Description Semester When Set Comment
Prof skill assessmnt1MCV (2 pages) and cover letter (1 page) to apply for mock interview advertised role
Assessment Rationale And Relationship

Assessment is through a number of individual deliverables and team deliverables emphasising the practical nature of the module. Individual deliverables are designed to allow students to demonstrate
their understanding of the problem to be solved, what their role within the group will be to provide a reflection on what they have learnt from the module. Team deliverables require students to work together to produce software and its documentation and to demonstrate that students are able to work collectively to produce an end product. To simulate the real world environment, students will present their final system at a trade fair and receive feedback in discussion with employers. Peer assessment is employed to identify each individual's contribution to the team. Details of the deliverables may vary from year to year depending on the involvement of an industrial consultant and students from other universities. Full details will be available at the beginning of the year on the year-specific module web page.

Reading Lists

Timetable