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.

Course schedule

Type Day Time Room Lecturer TA
Lecture tba tba tba Kristína Malinovská
Labs tba tba tba 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).