Written exam: Closed book.

Time:1330 on Sat 19 December 2009.

Location: TBA



Practicum exam: Given during the last lab period

Final Exam Information

The exams in this course are cumulative in that topics from the 6 and 12 week marking periods (including types/expressions, control structures, file I/O, problem solving, functions, Strings, pointers, and arrays) are fair game on the final. The below is an outline of the main topics covered since the 12-week exam that may help you in organizing your studies for the final exam.

Structs: User-defined types of heterogeneous data(structs), arrays of user-defined types, sorting user-defined types, overloading operators for user-defined types,

Ethics:Copyright law regarding information found on the internet, permissible distribution of such information, recognizing when a scenario is in violation of copyright law.

Pointers. Pointers to pre-defined types such as ints and doubles.Memory allocation (new). Pointers to heterogeneous objects (structs), pointers to single objects. Deallocation of dynamically allocated memory (delete). NULL pointers.

Static arrays. Static vs dynamic array allocation

Multi-file programs. Header (.h) vs Implementation (.cpp) files. Conditional compilation.

Linked Lists.User-defined Node types for linked lists. Traversing linked lists. List creation, sorting and inserting into liked lists.

Problem Solving: You need to be able to reason about types, expressions, control structures, functions, strings, pointers, linked lists, and arrays and use them to solve problems.


Both the Written and Practicum exams will be multi-section exams and that in accordance with USNAINST 1531.53A you may NOT communicate anything about these exams with anyone using any medium until your instructor tells you that you can


Written Exam: You will not be asked to write complete programs on the Written Exam, but functions and fragments of code that accomplish certain tasks are fair game. You will be asked to write complete, compiling, programs on the Practicum exam.


Practicum Exam: The most important thing is to thoroughly review the lecture notes, homework and labs. You will be provided with a copy of the ASCII and operator precedence/associativity tables so don't worry about having to memorize them.

As per the course policy, you may only use your notes, the official class notes from the course webpage, and your textbook for the practicum, and you may not receive help from anyone.



The best way to prepare for the practicum (and de-stress yourself) is to have coded the homework by yourself. This is where your hard work plugging away at the homework all semester pays off in spades. Solving the homework helps you learn the syntax of C++ as well as how to handle the wide variety of compilation, linking and runtime errors that you may encounter in the heat of battle (here, the practicum). Some tips for maximizing your score on the practicum:


-         Keep in mind that the instructors actually want you to do well on the practicum (and the written for that matter); try to see the exams as a chance for you to strut your stuff regarding all that you have learned.


-         During the practicum: consider starting with a quick flowchart, and putting comments in your program showing your intended control flow logic. This will both help to keep you focused during the practicum and also clue the instructor in that you have a good idea of what you are trying to accomplish should a partial credit situation arise.

o       Write small portions of the program, and then compile and debug before you move on. Remember that a compiling, working, subset of the program is worth far more than a hodge-podge of uncommented ambling code that does not show much in the way of logical control flow, much less compile.

o       If you get stuck on one part of the problem, try to move to other parts if possible and return to the trouble spot later if there is time.


-         For preparation: You are encouraged to revisit, and perhaps even re-code (stop laughing), the homework and projects as needed to brush up on your programming skills.

o       Be comfortable with where information is on the course web page (note that the homework solutions are posted via the * after each homework assignment).

o       For example, the source code for selectionSort() is available from the course web page, so make sure you know how to find it and adapt it to suit a sorting situation that you might encounter on the practicum


Good luck on your preparation for the exams.Come in and see us for EI if you get stuck, thatís why we are here.


Here is a Sample Written Final Exam


Here is a Sample Practicum Final Exam