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:
Computer Programming Overview
- Difference and pro's/con's between a compiler, an interpreter, and an
assembler; where Java and C++ fall on this continuum
- Know how to enter, compile, and execute your program in an IDE and in a Unix environment
Variables, Identifiers, Control Structures in C++
- How to input variables, define variables of different data types, perform calculations, output data
- Be aware of newline problem using getline with cin >>
- Generating random numbers
- If statements, loops, boolean expressions, relational operators
- true and false in C++ and Java
Strings in C++
- Using the C++ string class and difference with C-Strings
- Generating random numbers
Functions/Methods in C++
- Defining functions/methods
- Role of the stack in calling functions and passing parameters; how you can get stack overflow
- Passing parameters by reference or by value
- Defining recursive functions and recursive algorithms
Arrays
- How to define; differences in memory organization vs. Java (where they are allocated, accessed).
- How to pass arrays to functions/methods
- Reference behavior for arrays
- Out of bounds or off-by-one problem with arrays
- Manipulating and searching arrays
Sorting Algorithms
- Bubblesort
- Selection sort
- Insertion sort
- Count sort
Misc
-
Common bugs (=, off by one, getline, ; in wrong place, etc.)
- Debugging and using a debugger
- Unix commands
- Using 2D array