Introduction to Computer Science - ALG110006
|
|
Schedule Noticeboard
|
||
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 Last update: Verner Jonathan, Mgr., Ph.D. (08.10.2016)
|
|
||
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
2) Složitější techniky
3) Návrh programu
5) Základy objektově orientovaného programování
6) Algoritmy & Složitost
Literatura
Last update: Verner Jonathan, Mgr., Ph.D. (21.09.2011)
|