Fundamentals of Programming 2-IKV-105

Course information sheet

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.

Course schedule

Type Day Time Room Lecturer
Lecture Monday 10:40 MS Teams Kristína Malinovská
Labs Monday 12:20 MS Teams Kristína Malinovská

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 (max. 5 points).
  • Overall grading: A (50-46), B (45-41), C (40-36), D (35-31), E (30-26), Fx (25-0).

Homework