Charles Explorer logo
🇨🇿

Úvod do programovaní

Předmět na Filozofická fakulta |
ALG110028

Sylabus

Poslední úprava: Mgr. Jonathan Verner, Ph.D. (21.09.2011)     0) Úvod, historie 1) Jednoduché programy a) Práce s čísly b) Práce s řetězci c) Použití objektů 2) Složitější techniky a) funkce (procedury) b) if/elif/else; výjimky c) použití cyklů 3) Návrh programu a) návrh programu (top-down desigh) b) simulace c) základy návrhu tříd (objektů) d) složitější datové typy (pole, asociativní pole) 5) Základy objektově orientovaného programování a) data encapsulation b) polymorphism c) inheritance 6) Algoritmy & Složitost a) Linear a Binary search b) Rekurze c) Třídící algoritmy d) Backtracking d) Halting problém & diagonalizace

Literatura:

Zeele, J.: Python programming (An introduction to computer science), Franklin, Beedle & Associates; Oregon 2004

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

Anotace

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.