Bachelor
Informatica
Informatiekunde
Kunstmatige intelligentie
Master
Computing Science
Game&Media Technology
Artifical Intelligence
Human Computer Interaction
Business Informatics

Website: | website met extra informatie | |||||||||||||||||||||||||||||||||||

Vakcode: | INFOB3TC | |||||||||||||||||||||||||||||||||||

Studiepunten: | 7.5 ECTS | |||||||||||||||||||||||||||||||||||

Historie: | Dit vak is de opvolger van Grammatica's en ontleden (INFOGONT). Je kunt maar een van beide vakken voor je examen opvoeren | |||||||||||||||||||||||||||||||||||

Periode: | periode 2 (week 46 t/m 5, d.w.z. 9-11-2020 t/m 5-2-2021; herkansing week 16)
| |||||||||||||||||||||||||||||||||||

Timeslot: | B | |||||||||||||||||||||||||||||||||||

Deelnemers: | tot nu toe 134 inschrijvingen | |||||||||||||||||||||||||||||||||||

Rooster: | De officiële roosters staan in MyTimetable | |||||||||||||||||||||||||||||||||||

Docenten: |
| |||||||||||||||||||||||||||||||||||

Inhoud: | Many programs take a sequence of symbols as input. These sequences almost always have some structure. Examples of such sequences of symbols are: programs in any programming language; a packet of information sent over the Internet; or information written into a file by a program (with the intention of that information being later re-read). The structure of those sequences is described with the help of Grammars play a central role in Computer Science, thus this course provides an important conceptual support for the rest of your studies. In this course you learn to design grammars, how to build parsers from those, and how to further use the result of those parser. You will see how to generate code for a subset of the C# programming language. More precisely, after successful completion of this course you will be able to: - describe structures (formulas, terms, ...) using context-free and regular grammars
- recognize or parse sequences of symbols into structures
- analyze grammars to see whether several properties hold
- put together different components such as parsers, analyzers, and code generators
- apply these techniques in the construction of different kinds of programs
- relate grammar formalisms to different sorts of automata
- understand why some programs may or may not be described using context-free and regular grammars
In this course we use Haskell to describe the different components. Knowledge of this language at the level of the | |||||||||||||||||||||||||||||||||||

Literatuur: | - Slides from the lectures
- Lecture Notes
| |||||||||||||||||||||||||||||||||||

Werkvorm: | The load per week is:
- 2 × 2 h. lectures, on Tuesdays and Thursdays
- 1 × 2 h. practicals, on Tuesdays
- 1 × 2 h. practicals, on Thursdays
You are expected to do exercises from the lecture notes, listed on the website, by yourself. In case of questions, address yourself to the lecturer of the course. We may deviate from the above due to Corona. | |||||||||||||||||||||||||||||||||||

Toetsvorm: | The final grade depends on the two exams and three practical assignments.
Let's call your grade for the midterm M1 and the final exam grade M2 (both are zero if you did not take them at all).
- The theory grade is T = 0.2 × M1 + 0.8 × M2 if M1 > M2, and T = M2 otherwise. You need T >= 5.0 to pass the course.
- The practical grade is P = 0.2 × first practical + 0.3 × second practical + 0.5 × third practical. You need P >= 5.0 to pass the course.
- Passed with grade F (rounded to one decimal) if F >= 5.5, T >= 5.0, and P >= 5.0.
- Not passed with grade 5.0 if F >= 5.5, but T < 5.0 or P < 5.0
- Not passed with grade F otherwise.
not submitted one of the practical assignments, or have not taken the final exam, then the final result is:
- AANV if F >= 4.0
- NVD otherwise
not transported to this year. | |||||||||||||||||||||||||||||||||||

Inspanningsverplichting voor aanvullende toets: | To be able to do the aanvullende toets, your score for the course should be at least 4.0 and less than 5.5, or it should be AANV. |