- a multiple choice test, and
- an innovation project.
Multiple choice test
This exam is scheduled to be held on January 26, 2024.The exam will be on topics from the first approximately 10 weeks, based on the announced curriculum of the course.
Some guides about the exam from me and from the faculty will be made available some time before the exam. It can of course not be exact, but the plan is to ask questions on the different topics in roughly the same proportion as the topics have been covered in lectures and exercises. The questions will attempt to check if you know the important algorithms from the different parts of the book, e.g., given a grammar, which of the following LR(1)-states will appear when producing a LR(1)-parser? Or they could check multiple things at the same time, e.g., given the following output, which command-line sequence could have produced it? Or they could check if you know the SCIL compiler by asking what should be changed or added if certain new features should be included. I do not make older exam sets available (see the FAQ), but here is a longer list of the forms questions can have:
- Consider this DFA. Which of the following strings does it accept?
- Consider this NFA. Which of the following DFAs are equivalent?
- Consider this DFA. This is the result of minimizing which of the following DFAs?
- Consider this DFA. Which of the following regular expressions define the same language?
- Consider this grammar. Which of the following strings are in the language?
- Consider this grammar. Which of the following tokens belong to the FIRST/FOLLOW sets of this nonterminal?
- Consider this grammar. Which of the following LR(1)-states are generated?
- Consider this flex file. Which of the following output is printed on this input?
- Consider this bison file. Which of the following output is printed on this input?
- Consider this precedence definition. Which of the following ASTs is the result on this input?
- Consider this extension to SCIL. Which of the following phases are involved when adding this extension?
- Consider this SCIL construction. Which of the following assembler templates could generate the correct code?
- Consider this search problem. Which of the following grep-expressions will have the desired effect?
- Consider this command-line sequence. Which of the following outputs can be the result of executing it?
- Consider this beautiful soup output. Which of the following tree navigations will give this result?
There could be many other types of questions. For instance, for many of them, questions/answers can be reversed. However, this should give you a pretty good idea of what kind of tasks you should be able to solve.
Remember that accessing the Internet is not permitted during the exam, so you should download all the material from the course home page that you might need.
If students ask me questions where I think the answer could be of interest to other students, I add it to the FAQ.
Innovation project
See all dates and deadlines on the innovation page.The exam is based on the project you will have made during the last 4 weeks of the course. As a part of the project, you are supposed to select and use techniques from the first part of the course. See the innovation page for more information about the material.