CSCE A211 Midterm Exam Topics
The exam is open book and open notes. However,
they are not open-neighbor. You can use a computer to access any notes you may have taken, programs you wrote, handouts or programs I have provided, or to read your book (if you have an electronic version). However, you are not allowed to use the computer to compile and run programs or to do anything online. You will have a variety of questions on the exam. There may
be a small number of short-answer and multiple choice questions. There will be more
questions where you will be asked to write some code, or you will be
given some code and asked to trace through it when executed. The coverage is based on the lecture material. Material in the book that was not covered in lecture won't be on the exam. The topics that will be covered are listed
below:
Pointers
- Pointers to existing variables (using &)
- Creating dynamic variables, including arrays, delete to free memory
- Idea that arrays are pointers and are mostly interchangeable
- Pointer arithmetic
Structs and Classes
- Defining a struct, how it is typically used
- Defining a class
- Creating functions/methods/constructors
- Public and Private variables, Why not public all the time? Idea of information hiding
- Using assigment with a class; differences with C++ and Java
- Creating instances of objects in C++; Pointers to objects in C++
- Arrays of classes; space allocated for object, unless using pointers
Misc
- Separate compilation; #ifndef or #pragma once
- File I/O: Read from a text or binary file, write to a text or binary file
- Common bugs with pointers, arrays, classes
- Searching arrays
- Friend functions, what it does, when it is useful or needed
- Various uses of const
- Operator overloading; why friends are sometimes used
- Graphics basics (be able to read graphics code)
- Maze generation algorithm (understand how it works, possible variations)
- Other recursive problem