Information on the mini-course

1. Learning outcomes

Starting from a specification of a problem, students should be able to design and write (parts of) a Python program that solve the problem, by choosing the most appropriate algorithmic techniques reviewed in the mini-course and the most appropriate data structures available in Python.

Problem solving abilities include the ability to ask questions to resolve ambiguities in the description of the problem, to analyze the tradeoffs among possible solutions, and to choose a solution based on some reasonable criteria.