Transcript review


200 Total Points
◦ 74 Points
◦ 60 Points
results
◦ 36 Points
◦ 30 Points


Writing Programs
Tracing Algorithms and determining
Short Answer
Multiple Choice
Will weigh more toward last third of course
Similar to previous exams, quizzes, and
programming assignments

Given the stack.h ADT, write a function that converts a
decimal number to a binary string.

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
cout
else if
cout
else
cout
> foo2)
<< "Hello!";
(foo < foo2)
<< foo2;
<< foo;
cout << endl;
cout << "foo2 is: " << fixed
<< setprecision(1) << foo2 << endl;

Of what order of magnitude is a Bubble Sort?

42 points
◦ One and two-dimensional arrays




Declaration of various types
traversing
Difference between physical and logical size
Dynamic allocation
◦ Parallel arrays
 The tsuPod program
◦ Passing arrays as parameters
◦ 2-D arrays
 Game of Life program
◦ Arrays of structures
 The tsuPod 2 program
◦ Arrays of Objects
 The tsuPod 3 program
◦ Relationship between arrays and pointers

24 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

12 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

0 Points
◦ Getting command line parameters
 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

10 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 4 program

0 Points
◦ Know the fundamental operations and how a
stack works
 Push
 Pop
 Size

50 Points
◦ Fundamentals of class and objects







Declaration
Constructors
Destructors
Instance variables
Instance methods
Class (static) variables
Class (static)methods
◦ Declaration
◦ The “.” operator
◦ Objects as parameters to functions

Overloading functions
◦ Constructors
◦ Operators
 Relational
 Other
◦ Using objects as data inside of linked lists

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

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

0 Points
◦ Given a problem, be able to provide example inputs
and outputs to test potential solutions
◦ Similar to tsuPod, but much smaller problem.

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 4 linked list program
◦
◦
◦
◦
◦




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.



Pencils and erasers
We will provide scratch paper
No calculators