The course is an introduction to the key concepts in
computational thinking such as algorithmic thinking,
abstraction and decomposition. The students will also
gain basic programming skills in order to apply
computational thinking concepts in practice.
Through the lectures, homeworks, and interactive
recitations specific to different disciplines, the students
will learn how to design algorithms, how to divide a
problem into subproblems, and how to build a
solution by means of compositions. Evaluation of the
solutions in terms of correctness and
efficiency will also be covered.
In order to enable students apply computational thinking
skills in practice, basic programming concepts, such
as variables, statements, conditionals, iteration, and
functions will be introduced by using a simple
programming language such as Python.