Obligatory Exercises in INF2820

The group sessions, exercises and obligatory exercices will vary somewhat through the semester with a larger emphasis on theory in the first half and a more practical component in the second half.

The following applies to all obligatory exercices:

Each submission will be reviewed by the teaching assistant and rated on a point scale from zero to ten (corresponding to how many per cent of the exercise 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 three obligatory exercises in this class, each broken up into two parts.  Hence there will be six problem sets (1a and 1b, 2a and 2b, and 3a and 3b), each worth ten points.  To qualify for the final exam, students will be required have passed all three obligatory exercies, which means accumulating a minimum of ten points each, from each pair of problem sets.  In other words, at least half of the total points available in each third of the semester.  In this scheme, failing to deliver a problem set by its deadline will be counted as zero points.  However, it may be possible to make up for that in the following problem set, as long as the sum of points over both submissions meets the ten point minimum threshold for each pair of problem sets.

Each problem set will have at least ten days between the date it is released and its submission deadline.  We cannot accept group submissions, and each student is expected to produce their solution in independent, individual work.  Copying of solutions by others or group submission cannot be accepted.

Første del av semestret

I første halvdel av semesteret vil vi bruke tre redskaper i oppgavene: (a) JFLAP som lar oss tegne endelige automater, (b) NLTK – the ”Natural Language Toolkit” – en samling  av Python-programer for å utføre og lære forskjellige datalingvistiske teknikker, (c) Python – et  programmerinsgsspråk velegnet  for å skrive datalingvistiske programmer med stor lesbarhet.  Oppgavene vil være av litt varierende art: (i) bruk av JFLAP og NLTK for å forstå og lære, (ii) utvikling av egne grammatikker og automater supplert med litt enkel programmering, (iii) teoretiske oppgaver, mer lik de opgavene dere får til eksamen. I tillegg til innleveringssettene, hvor innleveringen er obligatorisk, vil det bli gitt flere oppgaver som vil gjøres eller gjennomgås på gruppene. Disse vil særlig være av typene (i) og (iii), og de vil være like viktige for eksamen som innleveringsoppgavene.

For the second half of the semester the work will take the following form:

A bit like software engineering classes, this part has a substantial practical component.  Thus, a central element in the class will be hands-on work, solving problem sets that we provide.  Each such problem set will typically consist of either a small theoretical or practical assignment, or step-wise instructions on engineering an ever-increasing computational grammar (using the LKB grammar development platform).  Where problem sets include theoretical questions, these typically serve to lay the ground for other, hands-on parts of the assignment.  Problem sets 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 assignment, 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.

Typically, we will release a fresh problem set for the laboratory session in a give week, and then use that session on working towards the solution already.  The submission deadline will typically be a few days after the following laboratory session, i.e. students will have the opportunity to work through an assignment during the first laboratory session, possibly bring further questions and discussion into the lecture session, and if need be continue work on the current problem set in another laboratory session (although at times it may be the case that a new problem set may have been released already).  In addition to the two laboratory hours of joint work with instructors on each assignment, each exercise 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. 

Finally, the most important bit.  Submission deadlines for problem sets will be as follows:

1a Regular Expressions and FSAs 10. februar
1b Context Free Grammars for Natural Languages 24. februar
2a Parsing CFGs for Natural Languages 12. mars (justert)
2b Unification-Based Grammar 4. apri (justert)
3a Morphology and Lexical Rules 29. april
3b Semantics and Generation 21. mai