Practical information

The group project is only open to students who have passed the two obligatory assignments.

Forming groups

Groups should have 3-4 members. For those who have already formed a group with co-students, please fill this form with the user name of each group member (fill the form once per group).

Piazza has functionality for forming groups, both if you are a student looking for a group to join, and if you are a group looking for additional members.

Those who have not submitted a group by Wednesday October 18 will be put in random groups. Note: depending on how the numbers add up, groups might be assigned an additional member.

Using the Wiki

Each group should create and maintain a Wiki page for the project. On this Wiki, you should document the following key elements:

Group members. List members of the group.

Product descriptions requirements. A description of the product you are developing, including features/requirements being implemented and mockups/screenshots. Also specify which assignment you have chosen.

Architecture. Describe the technical architecture of the product, including what frameworks you will be using (e.g. react, angular, others) and /why/ you have chosen these.

Licensing. Discuss the implications (if any) on the product you are development from the software licenses of the frameworks and libraries you are using.

Division of labour. Describe how tasks are divided within the group.

Link to project repository. Include a link to the project repository, even though the repository should be private and only visible to group members and group teachers/lecturers.

Source code

Use the UiO GitHub for source code. Create an organisation named after the group, and add the group members and teachers. Make sure the repository your create is private.

There should be a README in the repository describing how to build/run app.

Assignments

Timeline and deliverables

Keep both the project Wiki and the GitHub repository updated during the whole project period. Group teachers will check these from time to time.

Milestone - November 1

The project has one milestones before the final delivery. By this milestone, the group should have created a wiki covering the key areas described above, including:

The assignment you have chosen and an overview of the product to be developed, including features (i.e. your interpretation of the assignment).

Proposed architecture of the app (including key frameworks to be used).

Broad timeline for development.

Link to project repository.

Final presentation

Exact dates for the final presentation will be announced later, but will be in the 2 weeks following the exam. Due to the number of groups, presentations will be over several days.

Each group will be given 20 minute to present their project to a panel of evaluators. The presentation should include:

Group and student names.

The assignment you have chosen, and how you decided to approach it.

An overview of the development process, including key challenges.

An overview of the key frameworks and libraries used, including /why/ you have chosen them and the implication on your product of how they are licensed.

The contribution of each group member.

A demo of the final product.

All points should be covered, but make sure to give enough time for the demo of the final product.

Due to the number of projects to be presented, the 20 minutes is a strict time limit, so plan your presentation accordingly.

Evaluation

The group projects will be graded based on:

the product itself (source code)

the project documentation (wiki)

the final presentation by the group.

The groups will as a general rule be graded as a whole, however, if it is clear from the documentation, presentation and/or commit logs that certain group members have not contributed fully to the group, their grade might be adjusted.

The grade for the group project makes up 60% of the overall grade in the course.