Fundamentals of Programming - AM143015
Title: Fundamentals of Programming
Guaranteed by: Department of Informatics and Chemistry (143)
Faculty: Faculty of Chemical Technology
Actual: from 2024
Semester: winter
Points: winter s.:5
E-Credits: winter s.:5
Examination process: winter s.:
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unknown / unknown (unknown)
Min. number of students: unlimited
State of the course: taught
Language: English
Teaching methods: full-time
Teaching methods: full-time
Level:  
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: Znamenáček Jiří Ing.
Examination dates   
Annotation -
In this introductional course students will gain knowledge of basic programming problems and principles. The main programming language of the course is Python.
Last update: Cibulková Jana (03.12.2023)
Aim of the course -

Students will be able to:

Understand the basics of digital technology and its programming.

Describe algorithm solution in natural language and implement it in the selected programming language.

Understand the term recursion and detect appropriate places for its use.

Know basic datatypes system and programming constructs of Python programming language.

Know basic methods for textual files processing, especially in Python programming language.

Last update: Cibulková Jana (03.12.2023)
Literature -

R: Töpfer, Pavel: "Algoritmy a programovací techniky". Prometheus, Praha 2010 (1995). ISBN 978-80-7196-350-9

R: Necaise, Rance D.: "Data Structures and Algorithms Using Python". John Wiley & Sons, 2011. ISBN 978-0-470-61829-5

A: Turzík, Daniel; Pavlíková, Pavla: "Diskrétní matematika". VŠCHT, Praha 2007. ISBN 978-80-7080-667-8

Last update: Znamenáček Jiří (14.12.2023)
Requirements to the exam - Czech

Zápočet -- teoretický test na jednoduché aplikace probrané látky (základy Pythonu, rozbor předložených programových kódů…)

Zkouška -- teoretický test (Karel+Python) plus praktická část (Python; typicky zpracování textových dat)

Při praktické části je povoleno používat libovolné zdroje.

Last update: Cibulková Jana (03.12.2023)
Syllabus -

1. introduction to programming

2. algoritmization in natural language - loops and conditions

3. algoritmization in natural language - recursion

4. algoritmization in programming language

5. numerical types, Boolean

6. strings, output to terminal and file

7. lists, comprehensions

8. tuples, mutable and immutable data types

9. functions, their parameters and return values

10. dictionaries, sets

11. exceptions, program testing and debugging

12. binary data, text files and their encoding

13. practical applications I

14. practical applications II

Last update: Znamenáček Jiří (14.12.2023)
Learning resources -

http://Python.org

http://DiveIntoPython3.net (Czech translation at http://DiveIntoPython3.py.cz)

Last update: Cibulková Jana (03.12.2023)
Registration requirements -

No prior knowledge of programming required.

Last update: Znamenáček Jiří (14.12.2023)