Subject description - BE5B33PRG

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
BE5B33PRG Programming Essentials
Roles:P Extent of teaching:2P+2C
Department:13133 Language of teaching:EN
Guarantors:Svoboda T. Completion:Z,ZK
Lecturers:Jeníček T. Credits:6
Tutors:Němý M. Semester:Z

Anotation:

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.

Study targets:

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.

Course outlines:

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.

Exercises outline:

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

Literature:

Allen Downey. Think Python, How to Think Like a Computer Scientist. Green Tea Press, 2009 http://cw.fel.cvut.cz/wiki/courses/be5b33prg/literature

Requirements:

None. Only basic computer skills like editing ascii files.

Note:

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

Webpage:

https://cw.fel.cvut.cz/wiki/courses/BE5B33PRG

Keywords:

Basic programming, Python

Subject is included into these academic programs:

Program Branch Role Recommended semester
BEECS Common courses P 1
BPEECS_2018 Common courses P 1


Page updated 5.3.2021 17:52:09, semester: Z/2020-1, L/2021-2, L/2020-1, Z/2021-2, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)