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).

Basic info

Type Day Time Room Lecturer
Lecture Wednesday 14:00 - 15:30 I-9 or MS Teams: 2-IKV-105 CogProg Kristína Malinovská
Labs Wednesday 15:40 - 17:10 I-9 or MS Teams: 2-IKV-105 CogProg Matej Fandl

Syllabus

  • 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

Course grading

  • 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).