Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Programming Essentials

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BE5B33PRG Z,ZK 6 2P+2C anglicky

Podmínkou zápisu na předmět BE5B33PRG je, že student si nejpozději ve stejném semestru zapsal příslušný počet předmětů ze skupiny BEZBM

Garant předmětu:
Tomáš Svoboda
Přednášející:
Milan Němý
Cvičící:
Parakh Manoj Gupta, Akash Chaudhary, Milan Němý
Předmět zajišťuje:
katedra kybernetiky
Anotace:

The course focuses on understanding and mastering basic design principles of algorithms. It develops data abstraction coupled with the essential programming patterns. The emphasis is on creating readable and reusable programs.

Požadavky:

None. Only basic computer skills like editing ascii files.

Osnova přednášek:

Introduction and course organization, evolution of programming languages.

Algorithm design, the way of writing, flowcharts. Structure of a computer program. Problem decomposition.

Variables, expressions, basic data types and their representation. Type conversions.

Functions, pure and modifiers.

Branching and loops, if-then-else, case, for, while.

Data structures, arrays, strings. Pointers.

I/O operations, reading and writing text and binary files.

Programming styles, coding conventions, estimating complexity of the implementation, asymptotic notation.

Advanced data structures - structs, hash arrays.

Debugging and testing.

Making code human readable and programs reusable.

Overview of programming languages variety.

Osnova cvičení:

Computer Lab 01, first steps

Computer Lab 02, variables, conditionals

Computer Lab 03, Functions

Computer Lab 04, Iterables

Computer Lab 05, Non-trivial loops

Computer Lab 06, Modules and testing

Computer Lab 07, Files

Computer Lab 08, Automated testing

Computer Lab 09, Spam Filter I

Computer Lab 10, Spam Filter II

Computer Lab 11, Spam Filter III

Computer Lab 12, Spam Filter IV

Computer Lab 13, Spam Filter V

Cíle studia:

The course focuses on understanding and mastering basic design principles of algorithms. It develops data abstraction coupled with the essential programming patterns. The emphasis is on creating readable and reusable programs.

Studijní materiály:

Allen Downey. Think Python, How to Think Like a Computer Scientist. Green Tea Press, 2009

http://cw.fel.cvut.cz/wiki/courses/be5b33prg/literature

Poznámka:

http://cw.fel.cvut.cz/wiki/courses/be5b33prg/start

Další informace:
https://cw.fel.cvut.cz/wiki/courses/BE5B33PRG
Rozvrh na zimní semestr 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
St
Čt
místnost KN:E-132
Chaudhary A.
16:15–17:45
(přednášková par. 1
paralelka 102)

Karlovo nám.
Laboratoř PC

místnost KN:E-301
Němý M.
09:15–10:45
(přednášková par. 1)
Karlovo nám.
Šrámkova posluchárna K9
místnost KN:E-230
Gupta P.
11:00–12:30
(přednášková par. 1
paralelka 101)

Karlovo nám.
Laboratoř PC
Rozvrh na letní semestr 2023/2024:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 16. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4355706.html