Writing a smallish program with non-trivial algorithms and data structures |
- Programmin skills
- Basic knowledge of data structures and the complexity of algorithms
|
- Uses literature to find out how an algorithm assigned by the instructor works, with the level of detail needed to implement it
- Completes the algorithm with parts possibly missing from the literature source
- Implements the algorithm as a computer program
|
- The implemented program satisfies the complexity bounds of the algorithm given in literature
- Chooses additional elements of the program so that it runs fast
- Writes the program so clearly that the used algorithms, data structures and the correctness of their implementation can easily be seen from the source code
- Reports the results of any required tests carefully
|
- Understands the significance of efficient algorithms and dazta structures in software
- Can find time-consuming parts of a program and improve them
|