Homework format and grading
Your homework submission is always done in two parts:
- The report (html or pdf).
- The code (.py, .R or something else, or if you have many files, then .zip).
REPORT
An example of what a solution for a problem is included here.
Example submission
Report format
Each week you will have to submit a html or pdf report with the solved tasks. If you submit another format, we will ask you to convert it to html or pdf so don't submit other formats - easier for you!
The recommended and possibly the easiest way to generate reports depends on your choice of language and environment. If you use R then you can use R markdown and knitr (which are both included in RSTudio) to make nice reports. If you like to use Python then Jupyter allowes you to download the report as html or pdf (pdf needs to have LaTeX installed).
If you want, you can of course also use Word or whichever other tool to generate the reports. If you do that, then the nicest reports can be probably made with LaTeX, also writing formulas is also very easy with it. There are different tools like Texmaker which can help you with it. If you know other cool tools to work with LaTex, share them in our forum with others!
Report content
Your report should contain a separate section for each homework task. For each task you have to provide the following:
- explanation of the problem (if it is not too clear yet from the question)
- explanation of how you solved the problem (what did you do etc)
- explanation of what was the outcome
- comments and conclusions about the outcome
These don't have to be separable and should be as short and concise as possible while still containing the important aspects.
The explanatins 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 (we prefer if you include your code snippets in the pdf, since they should not be too long for these tasks)
All plots, graphs etc should be accompanied by an explanation what is on them. The plots don't have to look too nice so don't spend too much time on making them pretty, but others should be able to read them and understand what is on the plot. For example don't forget to add axis descriptions, title etc.
The code that is included in the report should contain only the essential parts for the particular problem. The longer and not so important preprocessing etc parts don't have to be in the report.
CODE
You also have to submit the code (as .py, .R or other code files, if you have more than one file, you can also submit .zip files).
The reason for asking the code files is because not all of the code has to be in the report and if we want to see more, we would have the chance. Also it is necessary to upload the code for plagiarism detection.
GRADING
The main idea is that from your explanation it should be convincing enough for us to see that you did the work and that you have thought about the outcome. It should also be specific enough to help you later study for the exam or help you remind 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 (names, formats of files etc)
- don't answer to 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
The explanations in the report should be reasonable (we do not want any long essays), but the essentials have to be there. For example if you use some machine learning algorithm as a black-box, you have to comment the main idea of the algorithm, your chosen parameters, the results.
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 (karma points for that!) or otherwise you can be selected by the TA. Everyone will have to present during the course multiple times. If you present nicely you can increase your score for the task if the report had some problems (for example lacking explanations).
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 (you will have to do it in the future a lot!). So use this opportunity to practice your presenting skills in front of your co-students before having to do it before other (more scary :)) people.
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! :)
Good that you are paying attention: to get points for ex 1 in HW1, write to your report a few sentences about what you need to do (or what you shouldn't do) to be able to get full points for the exercises.
FEEDBACK
As a rule there will be no individual feedback sent every week to every student. There will be a general feedback post made to Piazza forum, 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! :)