Course Code | SENG3011 | ||||||||||||
Course Title | Software Engineering Workshop 3 | ||||||||||||
Convenor | Fethi Rabhi | ||||||||||||
Admin | Armin Chitizadeh | ||||||||||||
Lecture
|
Zoom Online
|
||||||||||||
First Week Tutorial |
|
||||||||||||
Units of Credit | 6 | ||||||||||||
Course Website | http://cse.unsw.edu.au/~se3011 | ||||||||||||
Handbook Entry | http://www.handbook.unsw.edu.au/undergraduate/courses/current/SENG3011.html | ||||||||||||
Student Reps | stureps@cse.unsw.edu.au to raise major issues about the course |
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. (Python, Java, C++, J2EE, .NET or hybrids) providing they meet the requirements of the stakeholder.
The application domain selected in this session is in the Web data gathering and 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.
The Course Learning Outcomes (CLOs) are:
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.
The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University’s values and guiding principles. A condition of enrolment is that students inform themselves of the University’s rules and policies affecting them, and conduct themselves accordingly.
In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another’s privacy or causing any person to fear for their personal safety, is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.
If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives .
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. In particular, you are also responsible for ensuring that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using one (in particular, do not put assignment code in a public GitHub repository). Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.
UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.
If you haven't done so yet, please take the time to read the full text of
The pages below describe the policies and procedures in more detail:
Zoom Link for Lectures:
https://unsw.zoom.us/j/82904799731?pwd=UHU4RzRYSmNYVWVoZzIyeDQ0Y2tHQT09
Password: 733902
Week | Time | Topics | Presenters | Resources | Rec |
1 | Monday 14 Feb 2-4pm (Online) |
Introductory lecture
(2-3pm)
EpiWatch (3-4pm) |
Professor Fethi Rabhi,
Professor Raina Maclntyre, Ines Sarmiento |
EpiWatch
|
Wk1Mon |
Thursday 17 Feb 4-6pm (Online) | Lessons in Software Engineering (4-5pm) | Rob Pike | Agile Project Management | Wk1Thu | |
2 | Monday 21 Feb 2-4pm (Online) | Modern Software Architectures (API, part1) (2-3pm) |
Professor Fethi Rabhi
|
Modern_
Software_ Architectures |
Wk2Mon |
Tuesday 22 Feb 12-1pm (It is not on
Zoom. It will be on MS Team Online ) |
REST API Design Overview (API, part2) (12-1pm) | Lawrence Yao | Rest_API_Design_Overview | Wk2Tue | |
Wednesday 23 Feb 3-4pm (Online) |
A Zoom Meeting so students can
pop by and ask about anything tooling related (Jira & Confluence) (3-4pm) |
Christopher Joy |
Slides
Video:
|
Wk2Wed | |
Thursday 24 Feb 4-6pm (Online) | API, part3 (4-5pm) | Armin Chitizadeh | Swagger | Wk2Thu | |
Friday 25 Feb 11-1pm
(It is not on Zoom. It will be on MS Team Online ) |
AWS Workshopo | Aarthi Natarajan from Amazon | |||
3 |
Wednesday 2 March 3-4pm (Online)
|
A Zoom Meeting so students can
pop by and ask about anything tooling related (Jira & Confluence) (3-4pm) |
Christopher Joy
|
||
4 |
|
||||
5 | Monday 14 March 2-4pm (Online) |
Optiver
(2-3pm)
Professional Australia (3-4pm) |
Videesha Saparamadu from Optiver
Maria Nguyen from PA |
The Professional Australia Form | Wk5Mon |
Wednesday 5-7pm (Online) (It is not on Zoom. It will be on MS Team Online ) |
Front-End Fundamentals (5-7pm)
|
Nick Patrikeos |
Frontend Fundamentals
Frontend Design |
Wk5Wed | |
Friday 18 March 11-12pm (Online)
(It is not on Zoom. It will be on MS Team Online ) |
Sequence Diagrams (11-12pm) |
Professor Fethi Rabhi |
System Diagram | Wk5Fri | |
6 | - | - | - | ||
7 | - | - | - | ||
8 | Friday 8 April 11-12 (Online) On MS Team Online | Team Dynamics & Team Theory | [TBA] | Team Dynamic& Team | Wk8Fri |
9 | - | - | - | ||
10 | - | - | - |
WEEK1 Group Formation (ONLINE)
Tutorial time | Tutors | Online Team Link |
---|---|---|
Tue 13-15 | Adi & Rue Ching | MS Team Meeting Online Tue13 |
Tue 17-19 | Sumeet & Nikhil | MS Team Meeting Online Tue17 |
Wed 14-16 | Armin & Jatin | MS Team Meeting Online wed14 |
All tutorials
Week | Tutorial (Online) | Assessment (Online) |
---|---|---|
1 | Group Formation | - |
2 | Mentoring | - |
3 | Mentoring | D1 due |
4 | Mentoring | - |
5 | Mentoring |
D2 API Implementation
and document due |
6 | - | - |
7 | Mentoring | - |
8 | First presentations D3 (Online) | First presentations D3 (Online) |
9 | Mentoring | - |
10 | Final demonstrations (Online) | Final demonstrations (Online) |
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. Domain experts will also be made available on-demand. Students 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 one 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 Thursday 20 January 2022, 06:21:32 PM, last modified Friday 20 May 2022, 11:18:45 AM.