UP ONE LEVEL:
ENEL 315 Home Page
Winter 1996 Midterm Review
Class Handout for ENEL 315, Winter 1996
Author:
Steve Norman
Last modified:
Last modified: Mon Feb 12 09:27:01 MST 1996
Date of first publication: 14 February 1996
Contents
The Test
Location: EN E 243
Time: 6:30pm to 8:30pm on Tuesday, February 20
The text is closed-book.
You must not have any books or notes at your seat.
You are not allowed to use a calculator or computer
during the test.
Do not bring a calculator or a computer to the test.
[back to top of document]
Study advice
General advice:
The most important topics are the ones that were
heavily emphasized in lectures and lab assignments.
More specific advice:
-
Do enough work on Lab[5] to understand array-based and
linked-list-based implementations of stacks.
-
Review Labs 1 to 4.
Re-do the exercises related to memory diagrams and
re-write the code for functions you had difficulty with
the first time through.
-
Re-read the handout on memory diagrams.
-
Make sure you can draw memory diagrams showing the progress
of a sequence of recursive function calls.
Practice doing this for example function calls in
Lab[4] Exercises A and B.
-
Re-read the ``Read This First'' sections for
Lab Exercises 1D, 3B, 3D, 4A and 4B.
-
Review your lecture notes.
-
Read the textbook selectively;
look for passages that deal with concepts you find difficult.
[back to top of document]
Midterm test topics from the textbook
The first half of the course has covered most of the material
in Chapters 2-6 of Carrano.
The only major area we have skipped is
grammars, languages, and expressions
(pages 219-234 and pages 269-281).
This material is really interesting - it gives some hints
about how computers process expressions like
discrim = b * b - 4 * a * c
- but you won't be tested on it.
You should not try to memorize algorithms that
have nothing to do with lecture or lab assignment material.
For example, DON'T memorize algorithms for finding
the kth smallest element in an array (Chapter 2) or
placing eight non-attacking queens on a chessboard (Chapter 5).
However,
you may find it useful to read this material
to get more insight on recursion.
[back to top of document]
Midterm test topics not covered in the textbook
One important general
concept not covered in the text was introduced
in Lab[3]: iterator objects.
Several C++ language features not covered in Carrano have been
discussed in lectures and used in lab assignments.
In addition to the C++ features
introduced in Carrano in Chapters 3 and 4,
you should understand the following features:
[back to top of document]
Topics definitely NOT on the test
-
Details of cin, such as the rules for single-character
input, use of specialized member functions like
ignore,
fail,
eof,
good,
clear,
etc.
-
The Complex class.
-
Use of programming tools
such as gdb, Emacs, and make.
[back to top of document]
C++ syntax examples
You may have found that the syntax for functions
such as constructors, destructors and assignment operators
is not easy to remember.
For this reason, the class type declaration for the
Noisy class of Lab[3] will be printed on the
test paper, along with all of the member function definitions.
The code is printed at the end of the paper version
of this handout.
If you're using a Web browser to read this,
click on
Noisy.cc
and then
Noisy.hh
to view the code.
[back to top of document]