Instructors: Mehdi Jazayeri
Workload: 6 ECTS
This is a first course in programming. We define programming as applying computational solutions in problem solving. The course is aimed at students with little or no prior programming experience. We use the Python programming language. The course introduces fundamental approaches to problem solving using a computer: problem analysis, decomposition and composition, and presents techniques like data abstraction, recursion, and iterative refinement. It teaches basic programming constructs: variables, expressions, functions, conditionals and loops, data structures, and algorithms. Upon completion of the course, students should be able to explain and apply the basic methods from programming languages to analyze problems, and to create computational solutions to abstract problems.