On the basis of
IMT1082 - Object-Oriented Programming
REA1101 - Mathematics for computer science
REA2091 - Mathematics 2 for computer science
Expected learning outcomes
- Become familiar with, explain, apply and to some extent be able to rewrite some standard algorithms such as sorting, searching and graph handling.
- Describe and explain various data structures (arrays/tables, linked lists, queues, stacks, trees and graphs).
- Analyze advanced and complex (non-trivial) issues, and finding the algorithm to solve these.
- Apply recursive approach/method of problem solving and programming.
- Using abstraction in the construction of programs.
- Writing reliable and efficient / fast computer programs.
- Write the program code that addresses advanced and complicated issues.
- Manage and handle advanced data structures (with particular emphasis on trees and graphs).
- Had developed the ability to think and solve sophisticated and complex problems.
- Finding other/newer knowledge (here: algorithms), results and research in the field.
Techniques and algorithms:
- Object orientation
- Abstract datatypes
- Pointers and dynamic allocation
- Graph (connectivity, weighted, directed)
- Network Flow
- Complexity and O-notation
- Use of time and space
Form(s) of Assessment
Written exam, 5 hours
Alphabetical Scale, A(best) – F (fail)
Graded by course instructor and examiner.
Re-sit August 2016
All printed matters and hand written notes
Algorithms in C++, Robert Sedgewick, Addison-Wesley Publishing Company
Faglærer. Kompendium. Gjøvik: HiG.
Faglærer. Annet utdelt litteratur/artikler/notater. Gjøvik: HiG.