Module Catalogue

CSC2033 : Software Engineering Team Project

  • Offered for Year: 2024/25
  • Available to incoming Study Abroad and Exchange students
  • Module Leader(s): Dr Christopher Bull
  • Lecturer: Dr John Colquhoun, Dr Laura Heels
  • Teaching Assistant: Mr Nicholas Smith
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters

Your programme is made up of credits, the total differs on programme to programme.

Semester 2 Credit Value: 30
ECTS Credits: 15.0
European Credit Transfer System

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 and consists of some career development activities as well as practical software engineering experience.

Career Development. A variety of employability-based activities will take place throughout the module, including CV and covering letter workshops which will be held to help students develop their CV writing skills.

Practical Software Engineering. Students will research relevant skills required for a software engineer (beyond coding, for example project management and collaborative development). All students are allocated into teams and given a project brief, alongside a course of lectures on software processes and lifecycles and techniques. This is supported by toolchain tutorials 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.

For the remainder of the module teams will work on the project, with guest talks from industry practitioners where possible. Progress will be checked regularly during practical labs or tutorials, whereby all team members are expected to be able to briefly explain their current work. Projects are assessed through reports, code submission, documentation, a demonstration at trade fair and peer assessment.

The class will be divided into a number of teams with between 5 and 10 students in each team. Team membership will be determined by the module leader – team will comprise of students with diverse backgrounds, abilities and skills. Students will need to make the most of the skills within their team and allocate tasks and roles accordingly.

Outline Of Syllabus

Professional skills:
- The software engineering skillset
- Employability techniques eg CVs.

Processes and Project Management:
- Life-cycle and process models.
- Team organisation, roles, and responsibilities.
- 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
Guided Independent StudyAssessment preparation and completion401:0040:00Team programming/submission for final code
Guided Independent StudyAssessment preparation and completion151:0015:00Team preparation for trade fair/technical demonstration
Guided Independent StudyAssessment preparation and completion201:0020:00Team preparation of design document
Guided Independent StudyAssessment preparation and completion15:005:00Preparation time for reflective report
Scheduled Learning And Teaching ActivitiesLecture221:0022:00Lectures on software processes, techniques, project management- PIP, recorded for those not present.
Guided Independent StudyAssessment preparation and completion151:0015:00Preparation for portfolio reflection
Scheduled Learning And Teaching ActivitiesPractical222:0044:00Team programming – present in person, in labs.
Guided Independent StudySkills practice151:0015:00Employability activities
Scheduled Learning And Teaching ActivitiesSmall group teaching101:0010:002 weekly group meetings (in person). Module leaders will visit teams for Q&A,mins for non-attendees
Scheduled Learning And Teaching ActivitiesSmall group teaching101:0010:002 weekly group meetings (online) Module leaders will 'visit' teams meetings for Q&A
Scheduled Learning And Teaching ActivitiesWorkshops13:003:00Technical demonstration (Teams given the option of pip or online)
Scheduled Learning And Teaching ActivitiesWorkshops92:0018:00Toolchain tutorials e.g. version control in a team, unit testing +continuous integration –PIP lab
Scheduled Learning And Teaching ActivitiesDrop-in/surgery51:005:00Weekly (Online and pip) – like office hours - 1 staff online, 2 staff in person
Guided Independent StudyIndependent study671:0067:00Background reading
Guided Independent StudyOnline Discussion111:0011:00Mini Lectures and demos (asynchronous)
Total300:00
Teaching Rationale And Relationship

This is a practical course with students learning and developing skills within a team environment. Lectures are used to introduce and explore the main topics. The tutorials provide 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 meetings are held with staff to check progress of the teamwork.

Assessment Methods

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

Other Assessment
Description Semester When Set Percentage Comment
Report2M35Formal Design Document (team).
Design/Creative proj2M55Code & Documentation: Final system’s code and related documentation for testing/using and future developers (team).
Prof skill assessmnt2M10Technical Demonstration (team).
Formative Assessments

Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.

Description Semester When Set Comment
Practical/lab report2Mpractical work is formative and students get face to face feedback during the session
Assessment Rationale And Relationship

Assessment is via team deliverables which require students to work together to produce software and its documentation and to demonstrate that they are able to work collectively to produce an end product. To simulate a real world environment, students will present their final system at a trade fair/workshop and receive feedback in discussion with employers. Peer assessment is used 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. Full details will be available at the beginning of the module through the University VLE.

Reading Lists

Timetable