Course detail

Creative Programming 2

FaVU-KREAP2Acad. year: 2024/2025

The course will practically introduce students to selected advanced techniques and topics in programming, creative use and software development in the Python 3 environment.  It will help learners to realize their own project in the field of software art through collective and individual consultations and practical exercises. 

 

Language of instruction

Czech

Number of ECTS credits

2

Mode of study

Not applicable.

Entry knowledge

Creative Coding 1, or basic programming knowledge. 

 

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 according to individual agreement, 

- submission of a semester project: an original software artwork or a larger program. 

 


Classes are held in the classrooms of the BUT FaVU in the hours determined by the timetable. Attendance is compulsory (5 unexcused absences allowed). Higher number of absences can be compensated by submitting an alternative assignment after agreement with the lecturers. 

 

Aims

The aim of the course is to introduce students practically and theoretically to selected advanced programming concepts in the Python 3 environment and related topics necessary in the development of creative applications: databases, file downloading, web server, etc. Learners will deepen their knowledge of built-in modules in Python 3 and become familiar with a number of external open-source modules used. They will be able to use the knowledge practically and apply it in a semester project. 

 


By completing the course, students will gain knowledge of more advanced concepts in programming (use of external libraries, inheritance, project structure, version control), get acquainted with related areas (databases, API, data-mining, serverless, web) and learn to use them practically. They will acquire enhanced competences in automation, data-mining, data analysis, interactive text programs, file handling, web server development, which will broaden the range of skills applicable in creative authoring practice. 

 

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

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 2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
  • Programme VUM_B Bachelor's 2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    2 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective
    3 year of study, summer semester, elective

Type of course unit

 

Lecture

13 hod., 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 


Exercise

13 hod., compulsory

Teacher / Lecturer