Course detail

Creative Programming 1

FaVU-KREAP1Acad. year: 2026/2027

The course introduces theoretically and practically the basic concepts of programming (data types, conditions, loops, functions, classes) and their form and specifics in the Python 3 programming language. The course will also touch on related areas of software development: working with the command line, editors, code management, documentation and forms of online collaboration.

Language of instruction

Czech

Number of ECTS credits

2

Assignment to study programme types

Bachelor's

Mode of study

Not applicable.

Entry knowledge

Basic user knowledge of Windows, Mac, or Linux.

Rules for evaluation and completion of the course

Credit is granted if the following conditions are met:

  • at least 60% active participation in lectures with exercises, or substitution by a programming assignment as individually arranged,
  • submission of the final programming project (a script of your choice, small to medium in scope) and its in-person presentation during the exam session.

Classes are held in the classrooms of the FFA BUT in the hours determined by the timetable. Higher number of absences can be compensated by submitting an alternative assignment after agreement with the lecturers.

Students with advanced programming skills may arrange with the instructor to pursue the course on an individualized basis through one-on-one consultations and by completing an expanded final project (even in a language other than Python), without being required to attend class.

Aims

The goal of this course is to familiarize students with the basic concepts of programming, both in theory and in practice. Students will acquire the ability to write scripts in the open-source programming language Python 3 at a basic yet practical level. Students will understand the concepts of variables, conditions, loops, collections, classes, and objects; they will have an overview of Python’s basic built-in functions and modules and will be able to use them. Students develop and run code in the default IDLE editor, but are also able* to run scripts from the command line. Students will thus gain competencies in data mining, data analysis, automation and scripting, interactive text-based programs, and file handling, which will expand the range of skills applicable to their creative work.

Study aids

Study materials available at: https://github.com/ffabut/kreap1.

Prerequisites and corequisites

Not applicable.

Basic literature

Začátečnický kurz. Nauč se Python [online]. Praha: pyvec.org, 2019 [cit. 2019-03-10]. Dostupné z: https://naucse.python.cz/course/pyladies/

Recommended reading

HARMS, Daryl D. a Kenneth MCDONALD. Začínáme programovat v jazyce Python. 2., opr. vyd. Přeložil Ivo FOŘT, přeložil Lubomír ŠKAPA. Brno: Computer Press, 2008. ISBN 978-80-251-2161-0.
MARTIN, Robert C. Clean code: a handbook of agile software craftsmanship. Upper Saddle River, NJ: Prentice Hall, c2009. ISBN 978-0-13-235088-4.

Classification of course in study plans

  • Programme DES_B Bachelor's 1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
  • Programme VUM_B Bachelor's 1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective
    1 year of study, winter semester, elective
    2 year of study, winter semester, elective
    3 year of study, winter semester, elective

Type of course unit

 

Lecture

13 hours, compulsory

Teacher / Lecturer

Exercise

13 hours, compulsory

Teacher / Lecturer

Syllabus

  1. Introduction to the course: installation and environment preparation: installation of Python IDLE, VS Code editor, introduction to the command line, Hello world!, Python interactive mode
  2. Introduction to Python programming: what is a program (input, output, run control, data storage), interpreted vs. compiled language, creating and running a Python script
  3. Variables and data types: variable vs. value, basic data types (int, float, str, bool, None), input() function, comparing values, logical operators: "or", "and", "not".
  4. Control structures: "if" condition, WHILE and FOR loops, "continue" and "break" keywords
  5. Functions, built-in functions, creating custom functions
  6. Collections: tuples, lists, sets
  7. Collections: dictionaries, some other operations with collections
  8. Importing a module, useful built-in modules, practicing
  9. Object-oriented programming: classes, methods
  10. References, copy module, shallow and deep copies, copy and deepcopy functions
  11. Absolute and relative paths, working with files - reading and writing
  12. Other built-in modules, debug mode in IDLE
  13. Final project