(11 intermediate revisions by the same user not shown)
Riadok 8: Riadok 8:
 
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).
 
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).
  
== Course schedule ==
+
== Basic info ==
 
{| class="alternative table-responsive"
 
{| class="alternative table-responsive"
 
!Type
 
!Type
Riadok 17: Riadok 17:
 
|-
 
|-
 
|Lecture
 
|Lecture
|Wednesday
+
|Tuesday
|14:00 - 15:30
+
|13:10 - 14:40
|I-9 or [[https://teams.microsoft.com/l/team/19%3anPeT3IYFHoQ2vhVx_n981yUDjwfhtSB_73ze--oy-F01%40thread.tacv2/conversations?groupId=c49dd56c-ddcf-4423-ba2c-7163988b39a2&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 | MS Teams 2-IKV-105 CogProg]]
+
|I-9 or [https://teams.microsoft.com/l/team/19%3aODd-33mI1reF0EH99s97CcyP8YswtsOtQvkYKKm79UA1%40thread.tacv2/conversations?groupId=d6e3f927-0bf5-437f-9775-b6d7afa1a1cb&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 MS Teams: 2-IKV-105 Fundamentals of Programming]
 
|[[Kristina Malinovska|Kristína Malinovská]]
 
|[[Kristina Malinovska|Kristína Malinovská]]
 
|-
 
|-
 
|Labs
 
|Labs
|tba
+
|Thursday
|tba
+
|14:00 - 15:30
|tba
+
|I-9 or [https://teams.microsoft.com/l/team/19%3aODd-33mI1reF0EH99s97CcyP8YswtsOtQvkYKKm79UA1%40thread.tacv2/conversations?groupId=d6e3f927-0bf5-437f-9775-b6d7afa1a1cb&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 MS Teams: 2-IKV-105 Fundamentals of Programming]
|[[Matej Fandl|Matej Fandl]]
+
|[[Matej Fandl|Matej Fandl]] and [[Kristina Malinovska|Kristína Malinovská]]
 
|}
 
|}
  
Riadok 42: Riadok 42:
 
== Course grading ==
 
== Course grading ==
  
* Weekly homework (max. 20 points).
+
* Weekly homework (max. 10 points).
* Final project (max. 30 points).
+
* Midterm (max 10 points)
 +
* Final project or Exam (max. 30 points).
 
* Bonus assignments.
 
* Bonus assignments.
 
* <b>Overall grading:</b> A (50-46), B (45-41), C (40-36), D (35-31), E (30-26), Fx (25-0).
 
* <b>Overall grading:</b> A (50-46), B (45-41), C (40-36), D (35-31), E (30-26), Fx (25-0).
 +
 +
== Indicative Course Schedule ==
 +
Example from 2021
 +
{| class="alternative table-responsive"
 +
!#
 +
!Date
 +
!Topic
 +
|-
 +
|1.
 +
|29.09.
 +
| Introduction: what is programming? Basic concepts
 +
|-
 +
|2.
 +
|06.10.
 +
| Variables, basic types, console input/output, my first program
 +
|-
 +
|3.
 +
|13.10.
 +
| Control flow: if, or, lists
 +
|-
 +
|4.
 +
|20.10.
 +
| Control flow: if, for, while, strings
 +
|-
 +
|5.
 +
|27.10.
 +
| Writing programs: functions, nesting, values vs. references
 +
|-
 +
|6.
 +
|03.11.
 +
|  Collections (list, tuple, set, dictionary), working with files
 +
|-
 +
|7.
 +
|10.11.
 +
| Exceptions, working with files and directories
 +
|-
 +
|8.
 +
|17.11.
 +
| *State holiday*
 +
|-
 +
|9.
 +
|24.11.
 +
| Object-oriented programming, trees, *recursion
 +
|-
 +
|10.
 +
|01.12.
 +
| Numpy. and Matplotlib
 +
|-
 +
|11.
 +
|08.12.
 +
| Machine Learning and ANN: basics and libraries
 +
|-
 +
|12.
 +
|15.12.
 +
| Project
 +
|}

Aktuálna revízia z 17:18, 9. október 2023

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 Tuesday 13:10 - 14:40 I-9 or MS Teams: 2-IKV-105 Fundamentals of Programming Kristína Malinovská
Labs Thursday 14:00 - 15:30 I-9 or MS Teams: 2-IKV-105 Fundamentals of Programming Matej Fandl and 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. 10 points).
  • Midterm (max 10 points)
  • Final project or Exam (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

Example from 2021

# Date Topic
1. 29.09. Introduction: what is programming? Basic concepts
2. 06.10. Variables, basic types, console input/output, my first program
3. 13.10. Control flow: if, or, lists
4. 20.10. Control flow: if, for, while, strings
5. 27.10. Writing programs: functions, nesting, values vs. references
6. 03.11. Collections (list, tuple, set, dictionary), working with files
7. 10.11. Exceptions, working with files and directories
8. 17.11. *State holiday*
9. 24.11. Object-oriented programming, trees, *recursion
10. 01.12. Numpy. and Matplotlib
11. 08.12. Machine Learning and ANN: basics and libraries
12. 15.12. Project