Fundamentals of Programming 2-IKV-105
The course provides students with the basics of programming and algorithmic thinking using Python programming language. It focuses on elements of programming (variables, if-statement, for-loop, etc.) and writing simple programs. Additionally it introduces concepts from computer science useful for students of cognitive science. It puts emphasis on the ability to intrinsically understand existing source code and make use of Python libraries, including the famous scientific libraries such as NumPy for numerical computations on data matrices and MatPlotLib for plotting. If time allows, the finale of the course comprises very light introduction to machine learning including the well-known scientific libraries (SciKitLearn, Pytorch).
- 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).
Indicative Course Schedule 2021
|| Introduction: what is programming? Basic concepts
|| Variables, basic types, console input/output, my first program
|| Control flow: if, or, lists
|| Control flow: if, for, while, strings
|| Writing programs: functions, nesting, values vs. references
|| Collections (list, tuple, set, dictionary), working with files
|| Exceptions, working with files and directories
|| *State holiday*
|| Object-oriented programming, trees, *recursion
|| Numpy. and Matplotlib
|| Machine Learning and ANN: basics and libraries