Programming Essentials

B232 - Letní 23/24
Tento předmět se nenachází v Moodle. Na jeho domovskou stránku se můžete dostat pomocí tlačítka "Stránka kurzu (mimo Moodle)" vpravo (pokud existuje).

Programming Essentials - BE5B33PRG

Kredity 6
Semestry zimní
Zakončení zápočet a zkouška
Jazyk výuky angličtina
Rozsah výuky 2P+2C
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.
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.
Osnovy 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.

Osnovy 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
Literatura
Allen Downey. Think Python, How to Think Like a Computer Scientist. Green Tea Press, 2009
http://cw.fel.cvut.cz/wiki/courses/be5b33prg/literature
Požadavky
None. Only basic computer skills like editing ascii files.