A basic course in computer science, that will give prerequisites for several advanced courses in computer science. The course will cover both theory on algorithms and data structures as well as practical software design.
Basic algorithm analysis:
- Simpler analysis with respect to the resource needs of algorithms in the form of time and memory.
Fundamental algorithms:
- simple numerical algorithms
- sequential and binary search algorithms
- Depth first search and Width first search.
- sorting algorithms: selection sorting, insertion sorting, Quicksort, heapsort, mergesort.
Fundamental data structures:
- linear lists, stacks, queues, hash tables, binary tree, heaps, binary search trees and problem trees.
Program Design:
- design and implementation of programmes that use basic algorithms and data structures to solve computer science problems.
https://www.kth.se/student/kurser/kurs/ID1021
- Basic programming model & Data Abstraction
- Bags, Queues, Stacks
- Analysis of Algorithms
- Elementary sorts
- Mergesort
- Quicksort
- Priority queues
- Symbol Tables and Binary Search Trees
- Hash tables and Applications
- Undirected graphs
- Directed graphs