Programkonstruktion och datastrukturer, 20.0 hp
Kurskod:1DL201,
Anmälningskod:DL201,
67%, DAG, NML,
vecka:
44 - 02
Termin:
HT 2017
vecka:
03 - 11
Termin:
VT 2018
Project DescriptionProjectTo gain practical experience in a slightly larger programming task, you will undertake a programming project during February-early March. The project shall be carried out in groups of three students. (In exceptional cases, groups of two or four students may be acceptable.) Each group will be assigned a teaching assistant who acts as their supervisor. You are free to make suggestions about the project's subject matter. Please send your proposal by e-mail to your supervisor. The supervisor will consider the proposal and give comments. When you are all in agreement, you can start working on the project! You will need to do this as quickly as possible after finalising your group, so that you will have started working by the time of the first tutorial (read about this below). EITHER pick your own group and register your group together OR put your name in a group on your own and we will group you with someone else. It is important that you register for a group You can get inspiration for the project's subject matter by looking at some of the projects that students carried out in previous years:
Other possibilities include:
GroupsPlease form your own groups. Groups must (usually) consist of three students. Please register yourself to a group on the Student Portal (see Gruppindelningar > Project Groups, to be opened in early 2018). If you do not have a group organised with some classmates, please register yourself with an existing group. The group list will show the group number and, some time after you have registered with a group, your supervisor. What the project will deliverThe project deliverables shall be:
DocumentationYou must write documentation for your program. In addition to the standard specifications for each function and data type to be included in the source code, you must write a separate document that describes how your program works and how to use it. This document must include :
It should be sufficient to read the documentation to understand your program! Documentation is as important as the program itself. Poor documentation will affect your grade even if your program is working well. Start working on the documentation in good time! For example, work out the general structure of your document, e.g., section headings or table of contents, that will show how you intend to organise the documentation, and show this to your supervisor. Your documentation will be made available to other students for feedback (see Opposition below). SubmissionYou must submit the project deliverables in writing no later than 18:00 on Monday, 26 February (week 9) and present the project orally in one of the presentation slots scheduled for 1, 2, and 5 March (shortly thereafter). The detailed presentation schedule will be made available once the project groups are finalized. The program, test cases, documentation and project diaries must be submitted via the Student Portal. The documentation and project diaries must be submitted as PDF files. Other formats, such as Microsoft Word (.doc) or OpenDocument (.odf) files, will not be accepted. Oral PresentationThe oral presentation must include:
After the presentation you will be asked questions about the project. The oral presentation will be 15 minutes, followed by time for questions. Each group member must participate in the presentation and should take approximately the same time. It is a good idea to practice the presentation beforehand to ensure that it will not be too long (or too short). Since many groups need to give their presentations, we will cut you off if you take too long. You are strongly encouraged to make good use of visual aids (i.e., slides or the blackboard). OppositionYou must act as an opponent at another group's presentation and provide constructive feedback on their report using the feedback form available in the assignment area Project Report - Feedback. How to work on the projectWhen you divide the work between your group, keep in mind that every group member should have a similar workload and get to try different kinds of tasks (programming, test case design, documentation, ...), and that everyone should understand what is being done. We will ask questions to each group member that can involve any part of the project. RepositoriesWe have private GitHub repositories available in case you wish to use them to develop your code. Please see the lecture slides on Version Control for further details. GradingGrades are in relation to the above requirements regarding what the project will deliver and how it is presented. Grading criteria:
A failed project can be redone next year. (In exceptional cases, we may allow a supplimentary project to be completed to obtain a pass.) When grading, we will, within reasonable limits, take into account whether the project is particularly difficult or easy. Each participant's grade is determined not just by how well the project is implemented; we also assess how well each participant contributed to the project. We do this with the help of the project diary, the supervisor's knowledge of the project, and the presentation. The aim is for "free riders" not to slip through and that people who take a heavier load than others are compensated. Thus, individual grades may differ from project grades. TutoringYou are always welcome to speak with your supervisor (primarily) or Johannes, Dave, NN (secondarily) for help. You should have two tutoring appointments (in weeks 7-8 ) with your supervisor. Please agree the date and time with your supervisor. During tutoring sessions you should give a brief description of how the project is progressing; then you should discuss how you want to proceed. It is mandatory (except in cases of illness etc.) for all participants in the group to come to tutoring sessions. Unexcused absence from a tutorial may impact your grade. By 18.00 on the day before each tutorial, you must submit your updated project diaries via the Student Portal. There you can also add any code and documentation that you wish to discuss during the tutorial, so that the supervisor has a chance to look at it beforehand. | ||