- Clarification: (2:50pm, Sunday) On the original version of the exam, 1b has a slight wording error in it. The problem should ask to find a list of abelian groups of order p^3 such that every abelian group of order p^3 is isomorphic to one of the groups on the list. In the original version the wording is a bit mangled, although the intent was still clear. The updated version is available now.
- Slight edit on the final exam: for problem 5, the test data will only go to size 10^6, not 10^8. The problem is still the same, though.
- The exam has been released; see the section below.
- Project papers will be due on Wednesday, December 7, at 3pm, instead of Tuesday, December 6. However, because of this shift in due date, final letter grades for the class will not be available until Thursday afternoon, at the earliest.
- Solutions for HW 6, 7 will be posted by early Saturday evening.

Carefully read the instructions below before downloading the exam or the template file. The exam was written for the average student to take about 2-3 hours to complete, although you are free to spend as much or as little time on the test as you like.

- Final Exam
- Template file, for programming part
- Dropbox for programming part submissions. Only upload your file after you are 100% sure you are finished!

The final exam will be a take-home exam, which will be released on this page at about 3:00pm on Saturday, Dec 3 2011. It will be due on Tuesday, Dec 6 2011, at 1:00pm. There will be no time limit, but you should read the rules below (or on the cover of the exam) before starting.

The exam will have six questions: four will be written, and two will be programming. You should print out the exam, solve the four written problems on your copy, and then turn in the printed version, stapled together, at Kemeny 316 before 1:00pm on Tuesday. In particular, you should not email your answers to the instructor.

The programming questions will be submitted at the usual place. You should name your file [your lastname]5.py, without the braces. Your file must run without any modification, so you should use the template for the programming questions (which will also be released at the same time as the final) and make sure that your questions can pass some of the test cases (hopefully all).

The exam has no time limit, so you can start as soon as the exam is released, and work until you turn it in. You can take as many breaks as you want, and you can spend as little or as much time on it as you want. However, there are certain rules you must follow; some of these rules restrict what you are allowed to do after you open the exam.

The exam is open book, but you are only allowed to consult the following resources: the course textbook (and NO OTHER book), the class notes, your homework sets, your previous exams, the provided homework solutions, and the online Python documentation. All other materials are not allowed at any point. In particular, you are not allowed to consult the Internet for any assistance, on either the written or the programming parts, as soon as you open the exam, unless you are consulting the offical online Python documentation. The prohibition on these materials is in effect from the moment you open the exam (that is, the moment you open the pdf file containing the exam) until you physically hand it in - in particular, you are not allowed to consult forbidden materials in between work sessions on the exam.

You are not to discuss the exam with anybody else at any point until after 1:00pm on Tuesday. This is still true even if you have finished the test and want to talk about it with another student that has also finished the exam - no discussion until after 1:00pm on Tuesday is allowed.

Regarding computational aides, you are allowed to use any of the programs you have written earlier in this class and can use the Python interpreter and any packaged Python modules as a calculator. Any code you write on your own is also allowed (although you are not allowed to consult the Internet for assistance during the time you work on the exam). However, you cannot use other computational tools, including Wolfram Alpha, extensions for Python that are not part of the Python Standard Library (including NumPy and matplotlib), or other computational programs (such as Mathematica, Maple, Sage, Pari/gp, etc.).