Vrije Universiteit Amsterdam

Course Description

  • Course Name


  • Host University

    Vrije Universiteit Amsterdam

  • Location

    Amsterdam, The Netherlands

  • Area of Study

    Computer Programming, Mathematics

  • Language Level

    Taught In English

  • Course Level Recommendations


    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • ECTS Credits

  • Recommended U.S. Semester Credits
  • Recommended U.S. Quarter Units
  • Overview

    The overall objective of the course is to expose students to a "real life" problem solving situation, where the supervisor gives no hints about suitable algorithmic approaches to solve a given problem. Students will learn to understand the problem requirements and invent or find an appropriate algorithm to solve it. Bottom-line is: anything goes, as long as it works. Specific objectives include: identifying an algorithm for solving a given problem, implementing and testing this algorithm, summarising the results and self-assessing the whole approach.

    Students have to form teams of three and choose one of the four predefined problems to solve. The problems range from combinatorial optimisation (airline scheduling) to game playing (free cell). The course offers software support for each problem, including user interface and quality assessment procedures for candidate solutions. The "only" missing part is the problem solving algorithm. These must be implemented and tested in Java or Python.

    Working groups The course combines a free setup with intensive coaching. After two introductory lectures about heuristics and experimental methodology, the student teams are completely free to choose their algorithmic approach as was their working hours. Twice a week we have COMPULSORY coaching sessions (a.k.a. "brainstorming workshops") where teams discuss their ideas and progress. Reflecting on other teams' work is an important element during these sessions. The course is concluded by a one day symposium where each team presents its solution.

    The final grade depends on the quality of the solutions found by the team, the written report, the oral presentation, and the level of activity / involvement during the coaching sessions.

    Java or Pyhton programming skills are necessary to implement and test the algorithms students use.

Course Disclaimer

Courses and course hours of instruction are subject to change.

Some courses may require additional fees.