CSC270 final exam study guide
Coverage
The final exam covers everything from the first week of classes up
to and including the last class. Generally speaking, you are
responsible for:
- everything covered in the lectures
- everything covered in the lecture notes
- everything covered in the tutorial notes
The following topics will be covered:
- basic C and C++ programming
- formatted input/output
- classes and structures
- pointers and references
- dynamic memory management
- functions
- floating point numbers
- general concept and representation
- numerical methods
- difference betwen analytical solutions and numerical solutions
- sources of error
- intermediate value theorem
- bisection, NewtonRaphson, secant methods
- numeric integration
- dynamic programming
- basic concept of dynamic programming, memoization, and
optimization problems
- know how to write a dynamic programming algorithm given
a word problem or a recurrence relation
- simulation and modelling
- be able to describe how you would model and simulate a
real-world situation
- know how to generate random numbers with various
distributions
- random numbers in ANSI/ISO C
- graph theory
- basic graph representations
- different kinds/characteristics of graphs
- graph algorithms
- maximum flow
- shortest paths
- graph traversals
There will be no questions on the IEEE floating-point format. You
will not be asked to write any C++ code. However, you should be
familiar with the syntax and semantics for classes, member functions,
constructors, destructors, references, freestore management with
new and delete, the this pointer, and I/O
using the <iostream> library. You will be asked to read and
interpret C and C++ code, and to write C code.
Format
The exam is three (3) hours long. You can find out where and when
it is written by consulting the Faculty's final exam
schedule. No examination aids are permitted. You
may not bring a calculator or a "cheat sheet".
There are 12 questions on 17 pages (including the cover page).
Some questions have multiple parts. The exam is marked out of 81, so
you need at least 27/81 to pass the course. About one third of the
questions deal with material covered before the midterm, and two
thirds with material covered after the midterm. There will be
definition questions, matching questions, write-an-algorithm
questions, execute-an-algorithm questions, short-answer questions, and
long-answer questions.
Tips for studying
- Learn all the algorithms and definitions for the terms we've
covered throughout the course. (The important terms are are
usually introduced with italic type in the online lecture
and tutorial notes.) Don't just memorize the definitions and
algorithms without understanding them, because many of the
questions are worded in such a way that you will need to
demonstrate or apply your comprehension.
- Try doing the midterm and assignment questions over again.
You can also look on the web for assignments and exercises from
previous offerings of this course.
- The Libraries website has an exam
collection which has finals from previous offerings of this
course. Some of the questions from some of the exams make good
exercises.
- Read through the course readings (green booklet), especially
if you're not sure of something in the lecture notes. The
readings present some concepts in a different way and give
different examples, so they may enhance your understanding of
the course material.
- Sometimes the best way to learn something is to explain it
to someone else. Consider studying in pairs or groups.
Tips for writing the exam
- Don't be misled by the brevity of the short-answer
questions. Many of them require careful thought.
- Read each question very carefully. There are no trick
questions, but many of them require attention to important
details.
- The questions can be done in any order. When you begin,
read over the whole exam. Then do the questions you're most
comfortable with first so that you don't waste time on ones that
stump you.
Tristan
Miller
Last modified: Tue Jul 30 14:43:20 EDT 2002