CNS 1400 Final Exam Study Guide

Note: This exam is comprehensive. You must pass the final exam with a score of 60% or better in order to receive a grade of C or better.

The objective of this examination is to provide both you and me with some measure of the learning that you have accomplished up to this point in the semester. Learning to program is much more than just being able to regurgitate facts about a particular programming language, and the mechanics of getting a program to compile and execute. This exam will test your understanding of basic programming principles and your ability to apply those principles correctly to solve difficult computing problems. Although this exam will focus on the material most recently covered, you should consider it comprehensive. The exam contains multiple choice, short answer, and coding problems.

This exam is OPEN BOOK. You may bring your textbook to class to use as a reference for C# syntax. However, you may not use class notes, copies of slides presented in class, or crib notes of any kind. Foreign students may bring a foreign language-English dictionary to the testing center.

You will be responsible for the material discussed in class as well as the textbook reading assignments and all of the labs and programming assignments.

Topic Study Material
All previous material 
Parameters and method Overloading
  • Show that you know the difference between passing parameters by value and passing parameters by reference. Show that you know when and how to use each.
  • Demonstrate that you know what a side effect is, and how to avoid side effects.
  • Be able to discuss the idea of method overloading. Show that you know how to overload a method.
  • Be able to explain how type conversions can affect method overloading.
  • Show that you can write methods that use default arguments.
  • Be able to explain the notion of a driver and a stub. Be able to demonstrate how you would use them in a program.
  • Slides on Parameters and Overloading
  • Chapter 11 in the Course Notes book
  • Labs 21 and 22
  • Project #8
Arrays
  • Demonstrate that you know how to declare and use arrays.
  • Be able to explain what an out of bounds error is and how to avoid them.
  • Show that you can correctly write loops to manipulate arrays.
  • Show that you know how to pass an array to a function.
  • Be able to describe a two dimensional array as an array of arrays.
  • Demonstrate that you understand how to do a linear search in an array.
  • Show that you can write the code to do a binary search in an array.
  • Be able to describe the advantages and disadvantages of a linear search and of a binary search.
  • Show that you can correctly write the code to sort the elements in an array, using a bubble sort.
  • Be able to describe the disadvantages of a bubble sort.
  • Slides on Arrays and on Searching and Sorting

  • Chapter 12 in the Course Notes book

  • Labs 23, 24, and 25
  • Projects 9 and 10
Streams and File I/O
  • Show that you understand the concept of a stream. Demonstrate that you can use streams to do file I/O in a C# program. Know the basic stream operations discussed in class.
  • Show that you understand how to read and write text data to a file.
  • Show that you understand how to determine an end of file condition.
  • Slides on Streams and File I/O
  • Chapter 13 in the Course Notes book
  • Lab 26 and 27
  • Project 11