Fundamentals of Programming 2-IKV-105
This course teaches the students the basics of programming and algorithmic thinking using Python programming language. It focuses on fundamental concepts of programming like for example if statements, while cycle, for cycle, variables etc. This course also puts emphasis on concepts useful for students of cognitive science including numerical computations using NumPy, plotting with MatPlotLib and optionally with basics of machine learning at the end.
- Introduction: what is programming? Basic concepts
- Variables, basic types, console input/output, my first program
- Control flow: if, for, lists, strings and formatting
- Writing programs: functions and modules, values vs. references
- Collections (list, tuple, set, dictionary), working with files
- Exceptions, working with files and directories
- Object-oriented programming, trees, *recursion
- Numpy. and Matplotlib
- Machine Learning and ANN: basics and libraries
- Weekly homework (max. 20 points).
- Final project (max. 30 points).
- Bonus assignments.
- Overall grading: A (50-46), B (45-41), C (40-36), D (35-31), E (30-26), Fx (25-0).