In this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.

Essentiele programmeerconcepten van Objectgeoriënteerd programmeren (OO) in Java , gericht op eenvoudig app development.

Generic Engineering course planned for Q3 in 2017-2018; trial in Q2