|Course Title||Software Engineering Workshop 3|
|Units of Credit||6|
The purpose of the 3rd year software engineering workshop is to give students experience with a group-based large-scale software development project involving a realistic application in a real-life domain (data analytics).
In this session, teams will be developing a complex software application and the focus is to learn about a new application domain, study the requirements, manage the project, liaise with the stakeholder and deliver high quality working solutions. Another aspect of the workshop is to reinforce skills in software design, testing, reporting and the use of support tools around these activities.
The course timetable is available here .
This third year workshop focuses on the issues of designing and implementing a quality software system that conforms to the requirements of a stakeholder. Besides sharpening their design and coding skills, students will have to get immersed in a complex application domain, learn the basic concepts to be able to understand the requirements and continuously communicate with the stakeholder to discuss issues arising from the project such as design trade-offs, additional functionalities, new interface features etc. In addition, students will develop interpersonal communication skills by preparing correctly formatted and structured reports, negotiating technical, management and interpersonal issues within their teams and resolving problems within their development teams using effective conflict resolution techniques.
Unlike previous projects with rigid requirements, groups are encouraged to be creative in their implementation by focusing on delivering the best quality product in consultation with the stakeholder. Consequently, they have the complete freedom in choosing the implementation technologies of their choice e.g. (Java, C++, J2EE, .NET or hybrids) providing they meet the requirements of the stakeholder.
The application domain selected in this session is in the data analytics area. In this workshop, students will be issued with an initial requirements document outlining the essential features of a product. Additional information will be given on a needs basis throughout the workshop in a variety of ways (emails, regular meetings, class lecture). Many guest lectures will be organised with industry speakers and access to relevant data for the project will be facilitated.
After completing this course, students will:
This course contributes to the development of the following graduate attributes:
|Graduate Attribute||Where Acquired|
|the skills involved in scholarly enquiry||yes|
|an in-depth engagement with relevant disciplinary knowledge in its interdisciplinary context||yes|
|the capacity for analytical and critical thinking and for creative problem solving||yes|
|the ability to engage in independent and reflective learning||yes|
|the skills to locate, evaluate and use relevant information (Information Literacy)||yes|
|the capacity for enterprise, initiative and creativity||yes|
|an appreciation of and respect for, diversity||no|
|a capacity to contribute to, and work within, the international community||no|
|the skills required for collaborative and multidisciplinary work||yes|
|an appreciation of, and a responsiveness to, change||yes|
|a respect for ethical practice and social responsibility||no|
|the skills of effective communication||yes|
Before commencing this course, students should have:
These are assumed to have been acquired in the previous software engineering courses and workshops
This course adopts a project-based approach to Learning and Teaching where students learn through applying their knowledge in situations inspired from real-life. Software development in a group situation is encouraged with the lecturer and other external evaluators guiding and providing continuous feedback to each group.
In this workshop, a set of intermediate deliverables leading to a product are specified by the stakeholder, a role assumed by the lecturer in charge. Some weekly lecture slots will be used to elaborate on the deliverables and answer general questions. During these meetings, teams are encouraged to discuss their progress and demonstrate work-in-progress. Teams can also arrange additional meetings with the stakeholder if required. A tutor will be available to assist with technical matters and answer queries related to the case study. Assistance can also given over email by the lecturer in charge.
There are four assessable components for the course with respective deliverables. Details of the deliverables are described in GitHub repository specifications.
Plagiarism is defined as using the words or ideas of others and presenting them as your own . UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.
Additional details and changes will be posted on the course's noticeboard.
For domain knowledge, students are encouraged to research appropriate sources of information depending on their needs. They are also expected to learn about the basic concepts using Web sources (more information will be given).
This course is evaluated each session using the CATEI system.
In the previous offering of this course, feedback was generally positive mainly because of the industry nature of the project and the involvement of industry partners. The course sponsor (optiver) gave at the end of the workshop a very clear message that this course supports software development skills being put into practice and provides a great foundation for working with industry.
Most suggestions for improvements relate to how deliverables were assessed. In response, every effort will be made at explaining the criteria used for marking in the documentation and during mentoring sessions with students.
Having said that, students must also appreciate that workshop projects are not programming assignments. They deliberately have some ambiguities in the requirements and whenever unsure, students should seek advice during mentoring sessions. In industry, it is rare that all requirements are clearly written down in advance for every project and workshops are designed to teach students to cope with uncertainty in business environments.
Here is the message that Optiver (the course sponsor) has sent us after the last offering. Optiver is the proud sponsor of SENG3011. Software Developers at Optiver are fully responsible for the entire development process, working closely with Traders as end users, designing and testing their own systems and making appropriate technology choices. This course supports these skills being put into practice and provides a great foundation for working with us. We also believe an interest and passion for the domain of Finance makes people successful at Optiver and helps them enjoy their work, so the relevant project this year would help students determine if it's something they enjoy and provided them with the opportunity to consider whether they would like to start their career with us. Having been heavily involved in the course this year we were extremely impressed with the calibre of projects presented to us. The amount of work that went into this project is evident in the high quality of work they produced, and is a credit to the students involved. Due to the outstanding effort, and quality of projects we decided to offer an additional prize to the runners up. We wish to congratulate the winning group and the runners up and commend the other groups for getting involved.
Resource created Wednesday 23 January 2019, 02:52:42 PM, last modified Sunday 10 February 2019, 09:05:25 PM.