CS 241 Final Exam Information - Fall 2017
Below is a list of useful information you should know about the CS241 final exam. I will add any new information (as it becomes available) to the bottom of this post.
1. The Prime Directive
In general we don't answer questions like "Do we need to know about XYZ for the final?" or "Do I have to memorize ABC?" You must use your judgment in deciding what to study. I will say, however, that the final focus is less on memorizing and more on understanding and applying the concepts you learn in the course.
2. Coverage and Excluded Material
Everything that has been covered in the course, including the material covered before the midterm, with emphasis on material since the midterm. All programming questions will be either course specific (MIPS, WLP4), in pseudo-code, or will allow a choice of Racket, Scala, or C++.
A copy of all K. Lanctot's slides needed for the final have been placed in one file and put in the Final Exam section of Learn.
3. When and Where
The exam is on Saturday, December 9, 2017 from 12:30 pm to 15:00 pm (150 minutes) in STC 0060, 1012.
You can find out where you will be sitting at this link.
4. AidsIf required, the following reference sheets will be provided with the examination:
Calculators and other aids are not permitted.
5. Review Sessions
We will be holding 2-hour review sessions on the following dates:
- Tuesday, December 5th 4-6:30 pm in EIT 1015
- Thursday, December 7th 12-2:30 pm in EIT 1015
We will cover most questions from Final Review during the review sessions with emphasis put on certain topics.
Solutions are available
6. Office Hours
We will be holding office hours during the week prior to the exam. Please check the calendar on the course homepage.
Students are welcome to email either the instructors or the ISA in order to schedule appointments outside of the scheduled office hours.
7. Ways to Study
- Reflect critically on your lecture notes. Understand the big picture and the low-level details.
- Look back at the assignments, your solutions and how you got to your solutions.
- Use the tutorial exercises and previous exams as practice.
- You can find a copy of the Fall 2009 exam here. Do not use it to predict the style and content of this term's exam. Use old exam questions only as inspiration for writing your own exam questions that fit in the context of the current offering of CS 241. Older exams are available on the web (for example, from MathSoc). You are cautioned that CS241 has been revised since those exams were given. The instructor and ISA will not answer questions regarding any previous exam, with the exception of Fall 2009.
- Also look at the other material listed on the course homepage such as Recommended Texts and various Additional Reference Material such as MIPS examples.
- Think about what kinds of questions might be on the final. Invent some of your own exam questions and share them with friends.
- Write and test actual MIPS code.
- Develop concrete examples of regular expressions, DFAs, and NFAs with and without epsilon transitions.
- The topics we cover in this course and also covered at other universities. Consider viewing YouTube videos and lecture notes from these sources. If they are solving a problem, freeze the video or don't look ahead in the notes and see if you can solve it yourself.
- Use the WLP4 grammar or a sample grammar (available through the lecture notes) to do parsing exercises.
- Implement a new language feature in WLP4 by extending the grammar and modifying the compiler components you built in assignments. You can use the Jslr tool to generate the LR(1) DFA for a modified WLP4 grammar. This exercise will test your understanding of much of the post-midterm material.
- Take advantage of office hours to ask your professors or ISA about course material!
8. Questions During the Exam
If you need some clarification during the exam, raise your hand and a proctor will bring you a question form to fill out. The form will be taken to an instructor, who will either answer your question or decline to answer if it is inappropriate. If you are unsure of something, it may be less time-consuming to simply state your assumptions about the question instead of asking an instructor to clarify.
To ensure that no student is unfairly advantaged, proctors will not answer questions individually during the exam. If you feel that a question contains an error, raise your hand. A proctor will bring the concern to the instructors and an announcement will made if necessary.