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
Design your user interface. List in order exactly each of the things that the computer
displays and what the user types in.
Use graph paper to design your graphics. You need to be careful about placing
individual marks on the screen.
Design your algorithm so that it proceeds in the order given in your description of
the user interface.
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.
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.
Remember that you can combine functions and loops.
Define each of the functions and other objects using the same classes, names, and types
as in the instructions.
Copy the algorithm given in the instructions into your source code file, and
turn the algorithm description into comments
Fill in the code needed to do each part of the algorithm after its comment.
Do not have more than twenty or fifty lines in a single function.