CSCI 112 ICE C++ EXAM
The knowledge and skills required to pass the exam include the imperative and object-oriented aspects of C++, and the
skill to use these concepts in a programming application.
The topics covered include:
1. C++ terminology
2. C++ syntax
3. Classes, including get/set, constructors, copy constructors, and destructors
4. Recursive functions
5. Random number usage
6. The vector class
7. Pointers and dynamic memory allocation
8. Friends, this
9. Operator overloading
10. Inheritance
11. Polymorphism (overloading and virtual functions)
12. Template classes and functions
13. Exception handling
14. Basic search and sort algorithms
Knowledge assumed from CSCI 111 includes:
1. Data types (including the string class), declarations, assignments, expressions
2. Selection and iteration constructs
3. Stream input-output for keyboard, display, and files
4. Switch statement
5. Scope and lifetime
6. Preprocessor usage (specifically the #include statements)
7. Binary to hex, hex to binary, decimal to binary, binary to decimal number conversions
8. Using namespace
9. Functions, function prototypes, and parameter passing
a. Value versus reference parameters
10. Static arrays (one and two-dimensional)
11. structs
12. typedef
13. Enumerations
The exam consists of two parts: a written component focusing on the topics listed above, and a coding assignment
requiring the writing of a program in C++ typical of the “end of semester” projects in CSCI 112. The written exam
consists of fill-in-the-blank, True/False, Multiple Choice, and questions requiring the reading of code segments and
explaining their output, or writing of code segments to perform a specific task (e.g., creating a simple class). The coding
assignment must be completed in two days. The written exam contains approximately 35 questions.
A study resource is the course text: C++ How to Program, Paul Deitel and Harvey Deitel, 8th edition, 2010, Prentice Hall.
ISBN: 978-0-13-866836-9. In addition, other helpful online tutorials are:
http://www.youtube.com/watch?v=WYbeLBVG34I&playnext=1&list=PLA68C1F33757B4A38
http://www.cplusplus.com/doc/tutorial/
http://www.cprogramming.com/tutorial.html