On the basis of
IMT1082 - Object-Oriented Programming
REA1101 - Mathematics for computer science
REAxxxx - Mathematics II - xxxxxxxxxxxxxxxxxxxxxxx
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
- Finite State Machines/Automata
- Pointers and dynamic allocation
- Graph (connectivity, weigted, 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.
All printed matters and hand written notes
Exercises (must have been approved by student assistant).
Sedgewick, Robert. (1992). Algorithms in C++. Boston, MA: Addison-Wesley.
Faglærer. Kompendium. Gjøvik: HiG.
Faglærer. Annet utdelt litteratur/artikler/notater. Gjøvik: HiG.
The textbook can be leased from the school (against a deposit). A copy of some of the pages will be sold in the book shop at the school.