Your browser does not support JavaScript, or its support is disabled. Some features may not be available.
Introduction to Computer Science - ALG119000
Title:
Základy programování a algoritmů
Form of teaching:
lecture+practicals
Guaranteed by:
Department of Logic (21-KLOG)
Faculty:
Faculty of Arts
Actual:
from 2023 to 2023
Duration in semesters:
1
Semester:
summer
Points:
0
E-Credits:
5
Examination process:
summer s.:
Hours per week, examination:
summer s.:2/1, Ex [HT]
Capacity:
20 / unlimited (unknown)
Maximum number of enrolled students:
unlimited
Min. number of students:
unlimited
4EU+:
no
Virtual mobility / capacity:
no
Key competences:
State of the course:
taught
Language:
Czech
Teaching methods:
full-time
Level:
Repeated enrollment:
1 / 1 / 1 / 1
Note:
course can be enrolled in outside the study plan enabled for web enrollment
Cílem kurzu je seznámit studenta se základními "praktickými" pojmy programování (datový typ, proměnná,
procedura, algoritmus aj.) a naznačit způsoby, jakými lze tyto pojmy teoreticky zkoumat (složitost, Turingův stroj...).
Student by po absolvování kurzu měl být schopný samostatně navrhnout, napsat a "odladit" plně funkční
jednoduchý program v jazyce Python. Měl by mít povědomí o standardních algoritmech a rozumět pojmu
složitosti. Součástí kurzu jsou i praktická cvičení na počítači.
Last update: Verner Jonathan, Mgr., Ph.D. (04.04.2019)
Downey, A.: Think Python (How to think like a computer scientist) , Green Tea Press; Needham, MA 2008 [www.thinkpython.com ]
Wirth, N.: Algorithms + Data Structures = Programs , Prentice Hall Englewood Cliffs; New Jersey 1975
Töpfer, P.: Algoritmy a programovací techniky , Prometheus; Praha 1995
Last update: Švarný Petr, Mgr., Ph.D. (10.09.2020)
0) Úvod, historie
1) Jednoduché programy
Práce s čísly
Práce s řetězci
Použití objektů
2) Složitější techniky
funkce (procedury)
if/elif/else; výjimky
použití cyklů
3) Návrh programu
návrh programu (top-down design)
simulace
základy návrhu tříd (objektů)
složitější datové typy (pole, asociativní pole)
5) Základy objektově orientovaného programování
data encapsulation
polymorphism
inheritance
6) Algoritmy & Složitost
Linear a Binary search
Rekurze
Třídící algoritmy
Backtracking
Halting problém & diagonalizace
Last update: Švarný Petr, Mgr., Ph.D. (02.09.2020)