COMP20050 Software Engineering Project 2

Academic Year 2020/2021

The emphasis of this module is on working in teams to design, develop and test a working software application. The course focuses on evolving a student's knowledge of the core concepts and current tools used in software engineering in teams. As well as covering the principals in lectures, the students work in teams to develop a software application over the course of the trimester. The teams are supported by coaching during the lab sessions. The module is entirely continuous assessment.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students are expected to:
• understand how to build and test a software application
• understand how to, and be effective in, working in software development teams
• understand, and be able to work within, an Agile software development methodology
• be able to use a version control system
• have developed a deeper knowledge of the programming language used in the course
• understand the key role of design and innovation in software engineering

Indicative Module Content:

Lecture 1 & 14: Project Challenge
Presents and discusses the software engineering team challenge.

Lectures 2: Java Case Study
Recap on Java concepts.

Lectures 3-5: Software Development
Principles of code quality, with reference to Java. Principals of version control, with reference to GitHub.

Lectures 6-8: Agile Software Development
Principles of Agile software development methodology and the practicalities of work in teams, with reference to Scrum.

Lectures 9-13: Workshops
Review and discussion of assignment solutions with examples.

Practicals:
Five assignments, each requirement design, development and test of components that are integrated to form a complete Java application. The assignments are conducted in teams of three students. There are two hours of lab sessions supported by demonstrators per week. In addition, teams are expected to complete the assignments in their own time. Teams are marked on software functionality, code quality, design documentation, participation in code review and use of online software development tools.
For example, in most years, the project challenge focuses on development of a board game and game playing bot, e.g. backgammon, scrabble. On the final day, the class bots play a tournament against each other with a small prize given to the winning team.

Student Effort Hours: 
Student Effort Type Hours
Lectures

12

Practical

24

Specified Learning Activities

70

Autonomous Student Learning

15

Total

121

Approaches to Teaching and Learning:
Lecture-based content delivery.
Workshops.
Practical-based group work. 
Requirements, Exclusions and Recommendations
Learning Requirements:

Students must be about to program in Java. Students who have no previous experience of Java programming must obtain the permission of the lecturer to attend this module.

Learning Recommendations:

It is strongly recommended that students take and pass Programming 1 and 2 and Software Engineering 1 in the first year before taking this module.
It is strongly recommended that students take and pass Introduction to Java before taking this module.


Module Requisites and Incompatibles
Pre-requisite:
COMP20250 - Introduction to Java


 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Attendance: Lab attendance Throughout the Trimester n/a Alternative linear conversion grade scale 40% No

5

Class Test: The is a class test on the lecture material Varies over the Trimester n/a Alternative linear conversion grade scale 40% No

20

Group Project: Students work in small teams on group projects. The group work is broken into a number of assignments which are submitted over the course of the semester. Throughout the Trimester n/a Alternative linear conversion grade scale 40% No

75


Carry forward of passed components
No
 
Resit In Terminal Exam
Summer No
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Marks and written feedback are provided online for submitted assignments.

Cay Horstmann, Big Java: Early Objects, Wiley.
Robert Martin, Clean Code, Prentice Hall.
Kenneth Rubin, Essential Scrum, Addison-Wesley.