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
Number of ECTS credits
Mode of study
Guarantor
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
Prerequisites and corequisites
Basic literature
Recommended reading
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
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