Course detail

Creative Programming 2

FaVU-KREAP2Acad. 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. This course is open to absolute beginners* in programming.

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

Basic literature

MANOVICH, Lev. Software takes command: extending the language of new media. London: Bloomsbury, 2013. ISBN 9781623568177.

Recommended reading

FULLER, Matthew a Andrew GOFFEY. Evil media. Cambridge, Mass.: MIT Press, c2012. ISBN 9780262017855.
KLEINER, Dmitry. The Telekommunist Manifesto. Amsterdam: Institute of Network Cultures, 2010. ISBN 978-90-816021-2-9.
RAYMOND, Eric S. The cathedral and the bazaar: musings on Linux and Open Source by an accidental revolutionary. Rev. ed. Cambridge, Mass.: O'Reilly, 2001. ISBN 0596001088.

Classification of course in study plans

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

Type of course unit

 

Lecture

13 hours, compulsory

Teacher / Lecturer

Exercise

13 hours, compulsory

Teacher / Lecturer

Syllabus

1. Introduction to the course 

    2. Data-mining. 

    3. Regular expressions: regular expressions in general, regular expressions in python - re module 

    4. Database: SQL language, simple database in Python using SQLite 

    5. Pygame: basics pygame modules 

    6. PyInstaller: creating executables, possibly Codon 

    7. tkinter: creating a graphical user interface (GUI) in a window 

    8. tkinter: the second part of tkinter 

    9. Web application 1: creating dynamic web – Serverless, or Tornado module 

    10. Web application 2: creating a dynamic web – Serverless or Tornado module 

    11. System automation: working with folders, launching programs, mouse and keyboard clicks 

    12. Collaboration: version control and collaboration via Git and Github 

    13. Browser automation and bot creation – Selenium module