Rules for homework tasks and plagiarism
The homework tasks are meant to be solved alone. If you struggle with something you are welcomed to write to the Piazza forum, attend the consultations or ask directly from TA's. You are of course allowed to discuss the main ideas with other students, but you have to solve the tasks by yourself, it shouldn't be a team effort. This is necessary because of the format of the course, which is very strongly based on individual work so if you don't do it you will not acquire all the knowledge you need during the course.
Often you are asked to implement an algorithm. If a considerable part of your solution is based on some material you found online, you should definitely add a citation to that source, otherwise, it could also be called plagiarism.
So in principle:
- Do your work yourself.
- Do not share your work with others, if they need help, give them hints or guidelines.
- If you get a lot of help from some online source, cite it!
If you get caught with a clear case of plagiarism:
- If there are no previous problems depending on the situation you might get away with just getting 0 points for the task and get a warning from us.
- If the problem appears many times or we know that you have already warnings from other courses, an official warning follows. If you have already other official warnings, this can lead to expelling.
We will be using automatic plagiarism detection programs to avoid and detect these situations!
Homework format and grading
Your homework submission is always done in two parts:
- The report (HTML or pdf).
- The code (.py, .java, etc., or if you have many files, then .zip).
Each week you will have to submit a pdf or HTML report with the solved tasks. Other formats will not be accepted (e.g. doc, Matlab, excel etc.)
An example of a solution could be the following: Example solution.
Tools you could use to create a report:
- Word (e.g. Google docs, save as pdf);
- LaTeX, e.g. Overleaf for online editing, Texmaker for offline editing;
- If you use Python, Jupyter notebooks might be useful. You can write code in the notebook and then download the notebook as pdf/HTML. To save as PDF, you need to install some tex engine or if you find it troublesome use print option to save as pdf;
- You can also solve homework on paper and make photo snapshots to include in the final PDF report.
Your report should comprehensively answer the following questions:
- How did you approach and solve the problem (what did you do)?
- What were the results?
- What conclusions can you draw from the results?
Try to be concise, while still containing the important aspects to answer the above questions.
Explanations should be accompanied by and based on:
- graphs, plots, tables, numbers or other types of answers that were asked from you;
- code has to be provided for all coding tasks unless told otherwise. You can either include code snippets in the pdf if they are not long or refer to a file the solution is in.
Plots, graphs, and tables should be accompanied by an explanation of what is on them. At minimum plots should have axis descriptions and should be understandable. No need to make them too pretty if it is time consuming. For plotting in Python check https://realpython.com/python-matplotlib-guide/, it is useful to get acquainted with it anyways, as you will be most likely doing some plots sooner or later outside this course well.
Deadline for all groups is Monday midnight (midnight from Monday to Tuesday).
The main idea is that your explanation should be convincing enough for us to see that you did the work and that you have thought about the outcome. They should also be specific enough to help you later study for the exam or help you remind yourself about some topic in the future. This will be also the basis of grading. Even if you didn't get the correct outcome, if we see you have tried and worked on it, you will get the points. We will deduct points if you:
- are late with the submission;
- don't have both report and code;
- don't follow the submission rules (formats of files etc);
- don't answer all of the questions asked;
- don't explain what you did;
- don't explain the outcome;
- drawings and graphs are not accompanied by explanations or are not possible to follow
- you haven't included the important code parts in the report.
If you base your solution on some code you found online (in case we haven't specifically asked you to write it from scratch yourself), you have to provide a reference/link. Otherwise, it will be considered plagiarism. If we find solutions clearly too similar between students, it will be considered as plagiarism.
You are allowed to discuss the tasks among yourselves, but the solutions have to be made by everyone individually.
Presentation during the session
During the session, homework tasks will be presented and discussed. Each task will be presented by a student. You can volunteer to present or otherwise, you can be selected by the TA. Everyone will have to present during the course multiple times. If the report had some problems, you can increase your score for the task by presenting nicely.
During the presentation you must:
- explain the task
- explain your approach (often also explain the algorithm again etc)
- show and explain your results
- answer to questions from TA and audience
You will not have to be correct or be able to answer everything. You just have to try and think along. Don't be scared to answer incorrectly or be wrong.
Your presentation will not be graded (which doesn't mean that you shouldn't do it well) but this is an ideal environment where to practice presenting. So use this opportunity to practice your presenting skills in front of your co-students.
Some tips for presenting:
- speak loudly and calmly so everyone can hear and follow
- look at your audience, not the blackboard
- you will be presenting mostly to your co-students, not the TA, so try to "communicate" with them during the presentation
You do not have to do any extra work for this, if you know what you have done in the homework, then just explain it in a nice way and it's all good! :)
As a rule, there will be no individual feedback sent every week to every student. There will be a general feedback post made to Slack, that includes all the comments and common mistakes. So if you lost any points and you are not personally notified about the reason, the reason was either that you didn't follow the submission rules or there was a mistake that is mentioned in the feedback post. So it is in your best interest to read the weekly feedback post and think about if you made any of the mistakes pointed out. There are often also other interesting comments made in the feedback, so read it!
The second place where you will get feedback is during the session by listening to others and asking questions.
Of course, you can at any time ask for personal feedback, and we will comment some more! :)