Fall 2002 Final Exam Review Page
CSE1320 Sections 003 and 501 Dr. Tiernan’s sections
Topics to be covered on Test #3 with accompanying notes from Ch. 11 and 12 and Software Engineering Presentation
Remember the final is comprehensive so review the earlier review pages as well.
Time.h section 003 time is 2:00 – 4:30
time() section 501 time is 5:30 – 8:00
ctime(), localtime()
how to use the three time functions together
Library functions
math.h functions
ctype.h functions
Dynamic memory allocation
malloc, calloc, free
Linked lists
identify tasks being performed with and on linked lists
implementing other data structures – stacks and queues – with linked lists
Macros and macro substitution
Software Engineering
Be able to discuss:
phases of software engineering as discussed in class
role of testing in software engineering phases
characteristics of software quality
C++
Be able to use:
C++ stream I/O
cout,cin
<<,>>
<iostream.h>
bool
inline
Default parameters
Reference parameters
C++ dynamic memory management
new, delete
Be able to describe:
Data abstraction
Data encapsulation
Information hiding
Classes and object
Polymorphism
Function overloading
Operator overloading
Templates
Inheritance – base class and derived classes
Container class
Be able to recognize and understand:
scope resolution operator ::
invoking object
constructors and destructor
derived public or private classes
this
member initialization list
Pointers
Recursion
Arrays and structures
Function declaration and definition
Storage class and scope
Error handling
library functions – perror, clearerr, ferror, errno
with input and output
Conditional compilation
C++ I/O functions and flags
Style
commenting whitespace
module size visually useful indenting
meaningful identifiers consistent use of braces
Program Development
sending data to a program from the operating system
breaking code into modules
breaking programs into separate files
Test will have some or all of the following characteristics:
multiple choice questions (not more than 10) – typically 1 to 4 points each
short answer questions
coding questions which require either
writing code or
interpreting code or
debugging code
( “code” includes declarations, preprocessor directives, function definitions and
general coding of statements and control structures and I/O commands)
matching questions
fill-in-the-blank questions
Questions generally have their point value listed in braces at the end/side of the question
Every test will have at least 10 points worth of extra credit available
Test grades are assigned on a curve based on the range of actual scores on the test, i.e. the highest score on the test (for example, an 89) will be the top of the curve so all scores will be assigned based on where they fall (100 – 90 A, 89 – 80 B, etc.) AFTER the actual score has been divided by the curve. For example, a high score of 89 would give that student an A because 89/89 100 = 100. On the same test then, a score of 68 would be curved as 68/89*100 = 76 so that student would get a C (rather than a D for the original 68). The curve on a set of test grades will NOT be the curve used for class grades.
The test will be hard. I write very challenging questions that require you to think all the way through them. A few of the questions will be memory type questions because some rules must be memorized to make a student an efficient programmer in a language. Most however will require lots of mental effort. Do not get too upset about it – remember EVERYONE is suffering through the same test you are and that everyone’s grade will be curved. Check out my website for a few example test questions from last semester’s tests. They will give you a sense of how my tests are written.