COP 4530: Unix, C/C++, and Discrete Mathematics review topics

You should be familiar with the following. Please review relevant material, and also fill in gaps in your knowledge.

Unix and utilities

  1. You should be able to log in to your CS account on a Unix machine.
  2. You should be able to use common Unix commands, such as: cd, chmod, rm, mkdir, mkdir, exit, logout, ls, cp, ln, I/O redirection, and piping using |.
  3. You should be able to specify file name patterns using *, [], and ?.
  4. You should be able to utilities such as cat, more, tail, and grep.
  5. You should be able to set environment variables, and in particular, the DISPLAY variable.
  6. You should be able to use a text editor, such as emacs.
  7. You should be able to send and receive email, and use a web browser.
  8. You should be able to use make to build a project.
  9. You should be able to use g++ to compile C++ programs, including compiling multiple files, and linking to libraries.
  10. You should be able to use a debugger, such as ddd.


  1. Pointers, pointer arithmetic, arrays, relationship between arrays and pointers, passing pointer arguments to functions, and returning pointers from functions.
  2. Bitwise operators.
  3. Parameter passing.
  4. Defining classes and instantiating objects, private, protected, and public data and member functions.
  5. Overloading operators, including I/O operators, and the assignment operator (understanding the need for 'deep' copy).
  6. Overloading functions.
  7. Constructors, including copy constructors, and destructors.
  8. Dynamic memory allocation using new and deallocation using delete and delete [].
  9. The this pointer.
  10. Namespaces.
  11. Passing references to functions, and returning references from functions.
  12. Use of const in function and variable declarations and definitions.
  13. C++ I/O, including file I/O.

Discrete Mathematics

  1. Number representation, including decimal, binary, hexadecimal, and octal.
  2. Graph theory terminology, such as graph, digraph, tree, vertex, node, edge, and the standard traversals.
  3. Mathematical proof concepts, such as proof by induction.

Last modified: 25 Aug 2003