Spring 2003 Final Exam Review Page
CSE1320 Sections 003 and 501 Dr. Tiernan’s sections
Topics to be covered on Final Exam with accompanying notes from Ch. 10. 3 - 10.7, 11 and 12 and Software Engineering Presentation. Topics from the entire semester will be covered on the Comprehensive Final. Please refer to the earlier review sheets in addition to this one.
The Final will be OPEN BOOK, OPEN NOTES.
File I/O section 003 time is 2:00 – 4:30
fopen and fclose errors that can occur section 501 time is 5:30 – 8:00
input/output from files using
getc, putc, ungetc
fgets, fputs
fread, fwrite
fscanf, fprintf
accessing files in random order with fseek and ftell
what the file pointer in a file keeps track of
Time.h
time(), ctime(), localtime()
how to use the three time functions together
Error Handling
errno
ferror(), clearerr()
perror()
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
create nodes for linked lists
three cases for inserting nodes in a linked list
navigating through a linked list
Preprocessor directives
Macros and macro substitution
Conditional compilation
Software Engineering Presentation
Phases of software lifecycle and what happens in each phase
Testing in all phases
Documentation
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 name overloading
how C++ decides which function to use
Operator overloading
operators that cannot be overloaded
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
Stacks and queues
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.