Algorithmic Methods
2015-2016
-
IMT2021
- 10 ECTS
On the basis of
IMT1082 - Object-Oriented Programming
REA1101 - Mathematics for computer science
or
REA2091 - Mathematics 2 for computer science
Expected learning outcomes
Knowledge:
- 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.
Skills:
- 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).
General competence:
- Had developed the ability to think and solve sophisticated and complex problems.
- Finding other/newer knowledge (here: algorithms), results and research in the field.
Topic(s)
Techniques and algorithms:
- Object orientation
- Abstract datatypes
- Recursion
- Searching
- Sorting
- Hashing
- Compression
Data Structures:
- Arrays
- Queues
- Stacks
- Pointers and dynamic allocation
- Lists
- Trees
- Graph (connectivity, weighted, directed)
- Network Flow
Efficiency:
- Complexity and O-notation
- Use of time and space
Teaching Methods
Lectures
Exercises
Tutoring
Form(s) of Assessment
Written exam, 5 hours
Grading Scale
Alphabetical Scale, A(best) – F (fail)
External/internal examiner
Graded by course instructor and examiner.
Re-sit examination
Re-sit August 2016
Examination support
All printed matters and hand written notes
Teaching Materials
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.