Obligatory Problem Sets in INF4820
As a software engineering class, this course has a substantial practical component. Thus, a central element in the class will be hands-on problem sets throughout the semester. These assignments will typically consist of a programming task, implementing or refining (in terms of functionality and efficiency) the techniques taught in the class. Some problem sets may include a few theoretical questions, but if so these serve to lay the ground for other, hands-on parts of the assignment. Problem sets often build on each other, and we will provide model solutions as we go along. Thus, we will need to have to enforce a strict schedule: for each problem set, there will be a hard deadline; both for scheduling and fairness reasons, we will not be able to accept late submissions, i.e. only submissions received before the announced deadline will be counted against the assignment. Furthermore, there is no room for re-submission of incomplete or partially erroneous solutions. Each submission will be reviewed by at least one of the instructors and rated on a point scale from zero to one hundred (corresponding to how many per cent of the problem set were successfully solved). Through interaction with instructors in the laboratory (gruppe) sessions and, where required, individual consultation outside of class hours, students will have the opportunity to gauge the quality of their solutions prior to submission.
There will be a total of five problem sets, of which the first three (i.e. sets (1a), (1b), and (1c)) and the last two (i.e. problem sets (2a) and (2b)) constitute groups. Each such group constitutes one obligatory exercise, i.e. formally there are two obligatory exercises in this class, but for your and our convenience we break up each obligatory exercise into multiple parts, require submission of each part by a fixed deadline, and give feedback on earlier parts (typically) before the submission deadline of the next part. To qualify for the final exam, students will be required to pass both groups of problem sets, where passing requires that one accumulates at least half of the points available, i.e. a minimum of 50 points (or more) from each of the two groups of submissions. In this scheme, failing to deliver a problem set by its deadline will be counted as zero points. However, it will typically be possible to make up for that in the following problem set, as long as the sum of points over each group of problem sets exceeds the minimum threshold.
Problem sets will typically have at least two weeks between the date they are released and the submission deadline. Typically, we will release a fresh exercise for the laboratory session and then use that session on working towards the solution already. Submission deadlines will tend to be 12:00 noon on Mondays, i.e. at the start of a new week. Thus, students will have the opportunity to work through a problem set during the first laboratory session, possibly bring further questions and discussion into the lecture session, and if need be continue work on the current exercise in at least another laboratory session (although in some cases, a new exercise may have been released already). In addition to the two laboratory hours of joint work with instructors on each assignment, each problem set will be designed to require another few hours of individual work outside of class, typically around four extra hours per week, on average, for the average student. We cannot accept group submissions, and each student is expected to produce their solution in independent, individual work. Copying of solutions or group submission cannot be accepted.
Finally, the most important bit. Problem set submission deadlines and maximum points available per problem set will be as follows:
(1a) | Lisp Essentials | Monday, September 12 | 20 |
(1b) | FSA Operations | Sunday, October 2 | 30 |
(1c) | HMM Training & Decoding | Monday, October 24 | 50 |
(2a) | CFG Parsing | Thursday, November 17 | 50 |
(2b) | Large-Scale PCFG Parsing | Thursday, December 1 | 50 |