CS 2308 Final Exam Review
Exam Format 200 Total Points 75 Points Writing Programs 60 Points Tracing Algorithms and determining results 35 Points Short Answer 30 Points Multiple Choice Will weigh more toward last third of course Similar to previous exams, quizzes, and programming assignments
Example Programming Problem Given the stack.h ADT, write a function that converts a decimal number to a binary string.
Example Tracing Problem What will the EXACT output of the following program be? int foo = 9; int *ptr = &foo; float foo2 = 5.7; *ptr = 2; foo2 = foo - foo2; if (foo > foo2) cout << "Hello!"; else if (foo < foo2) cout << foo2; else cout << foo; cout << endl; cout << "foo2 is: " << fixed << setprecision(1) << foo2 << endl;
Example Short Answer Of what order of magnitude is a Bubble Sort?
Arrays 40 points Relationship between arrays and pointers One and two-dimensional arrays Declaration of various types traversing Difference between physical and logical size Dynamic allocation Parallel arrays Passing arrays as parameters 2-D arrays Game of Life program Arrays of structures The tsuPod 1 program Arrays of Objects The tsuPod 2 program Relationship between arrays and pointers
Analysis of Algorithms 20 Points Be able to look at code or algorithm and make an educated guess at the order of magnitude Look to see if the statement that is executed the most is a function of the size of the data set Know which orders are faster and slower than the others Constant time algorithms are denoted as O(1) O(log2n), O(n), O(n2), O(2n) There are more
Searching and Sorting 15 Points May have to write sequential search, but not the others. Know the algorithms and the order of magnitude of each Sequential search Binary search Bubble sort Selection sort
Structures 15 Points Declaration Use of the “.” operator Arrays of structures tsuPod 2 Pointers to structures (*ptr).field ptr->field Use of structure as nodes in linked lists tsuPod 3 program
Classes and Objects 50 Points Fundamentals of class and objects Declaration Constructors Destructors Instance variables Instance methods Class (static) variables Class (static)methods The “.” operator Objects as parameters to functions
Classes and Objects (cont.) Overloading functions Constructors Operators Relational Other Using objects as data inside of linked lists Understand the Exam Grader 2 and the TsuPod projects that used classes.
Pointers 25 Points A pointer is a variable that holds the address of a memory location Declaration int *ptr; Assignment ptr = &foo; //& is the address function Dereferencing *ptr = 54; //same as foo=54; You can point to any kind of data type Using pointers to create linked lists
Linux 0 Points Know the basic commands you needed to complete the last program Know how to compile and run a C and C++ program in Linux Know how to create and move around the Linux file system Simple makefiles
Testing 0 Points Given a problem, be able to provide example inputs and outputs to test potential solutions Similar to tsuPod, but much smaller problem.
Linked Lists 50 Points Declaring a linked list Adding a node to a linked list Removing a node from a linked list Traversing a linked list What is the order of magnitude of each of the above operations? (Big O) Understand the tsuPod 3 linked list program
Stacks 10 Points Know the fundamental operations and how a stack works Push Pop isFull isEmpty A Last in First Out (LIFO) structure Will not have to code a stack Understand the Equation Checker program
Queues 5 points Understand the fundamental operations enQueue deQueue isFull isEmpty A First in First Out (FIFO) structure Will not have to code
C programming 10 Points Getting command line parameters Header files Equation Checker Header files I/O libraries printf and scanf No const No string data type Know how to manipulate arrays of characters Know how C string functions work No pass by reference No bool data type
How to Study Rewrite all the programs. Redo labs. Learn by doing and recognizing patterns. Don’t stay up late!! Get some sleep and eat a good breakfast.
What to bring Pencils and erasers We will provide scratch paper No calculators
Questions