Subjects(version: 837)
Introduction to Computer Science - ALG110006
Title in English: Úvod do programování Department of Logic (21-KLOG) Faculty of Arts from 2017 winter 0 7 winter s.: summer s.: winter s.:2/1 C [hours/week] summer s.:1/1 Ex [hours/week] winter:unknown / unknown (unknown) summer:unknown / unknown (unknown) unlimited not taught Czech full-time http://jonathanverner.appspot.com/ALG110006
Guarantor: Mgr. Jonathan Verner, Ph.D.
 Annotation - ---CzechEnglish
Last update: Mgr. Jonathan Verner, Ph.D. (08.10.2016)
The main goal of this course is to introduce the student to basic "practical" concepts of computer science (data
type, variable, loop, procedure, algorithm, etc.) and methods which can be used to study these concepts
theoreticaly (complexity,Turing machines...)

After attending this course, the student should be able to design, implement and "debug" a fully functional simple
program in the Python programming language. He should know about standard algorithms and have a basic
understanding of the idea of algorithmic complexity
 Syllabus - Czech
Last update: 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
d) složitější datové typy (pole, asociativní pole)
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
• složitější datové typy (pole, asociativní pole)

• data encapsulation
• polymorphism
• inheritance

6) Algoritmy & Složitost

• Linear a Binary search
• Rekurze
• Třídící algoritmy
• Backtracking
• 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

Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html