CSE 382 Algorithms and Data Structures

Barbara Nostrand, Ph.D.

Electrical Engineering and Computer Science


Welcome to Algorithms and Data Structures.  As with other engineering disciplines, problem solving is one of the principal activities of the software engineer.  This course will introduce you to a variety of data structures which are commonly used to construct programs.  Concurrently,  you will explore several different approaches to algorithm design.  In this course you will employ systematic design and analysis techniques to assure correct and efficient program execution.  In particular,  you will implement and employ data structures to simplify system design and implementation.  You will also employ a variety of algorithm design paradigms to simplify system design and implementation.  Finally,  you will be introduced to event-driven programming and fundamental graphics techniques. 


Design & Implementation Hints

  1. Design your user interface. List in order exactly each of the things that the computer displays and what the user types in.
  2. Use graph paper to design your graphics. You need to be careful about placing individual marks on the screen.
  3. Design your algorithm so that it proceeds in the order given in your description of the user interface.
  4. If some action or sequence of actions is performed in several different places in your algorithm, consider turning that action or sequence of actions into a function and invoking this function whenever you need to perform that action or action sequence.
  5. If some action or sequence of actions is performed several times all at once in the same place in your algorithm, then consider writing the action once and inclosing it in a loop structure.
  6. Remember that you can combine functions and loops.
  7. Define each of the functions and other objects using the same classes, names, and types as in the instructions.
  8. Copy the algorithm given in the instructions into your source code file, and turn the algorithm description into comments
  9. Fill in the code needed to do each part of the algorithm after its comment.
  10. Do not have more than twenty or fifty lines in a single function.

Last modified: 2007 JULY 17
bnostran@syr.edu