Course detail
Creative Programming 1
FaVU-KREAP1Acad. year: 2024/2025
The course introduces theoretically and practically the basic concepts of programming (data types, conditions, loops, 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
Number of ECTS credits
Mode of study
Guarantor
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,
- completion of the final programming assignment (correction of 2 broken scripts with explanation),
- submission of a final programming project (program of your choice).
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 to the basic concepts of programming both practically and theoretically. The learner will acquire the ability to create scripts in the open-source programming language Python 3 at a basic, but practically applicable level. Learners will understand the concepts of variables, conditions, loops, collections, classes, objects, have an understanding of and be able to use basic built-in Python functions and modules.
By completing the course, students will gain knowledge of basic programming concepts (variables, loops, conditions, functions, classes) and learn to use them practically, they will be able to write scripts in Python 3 at a basic but practically usable level, they will gain competences for automation, data-mining, data analysis, interactive text programs, working with files, which will expand the range of skills usable in creative authoring practice.
Study aids
Prerequisites and corequisites
Basic literature
Recommended reading
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 2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective - Programme VUM_B Bachelor's 2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
2 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
3 year of study, winter semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- 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
- Introduction to Python programming: what is a program (input, output, run control, data storage), interpreted vs. compiled language, creating and running a Python script
- Variables and data types: variable vs. value, basic data types (int, float, str, bool, None), input() function, comparing values, logical operators: "or", "and", "not".
- Control structures: "if" condition, WHILE and FOR loops, "continue" and "break" keywords
- Functions, built-in functions, creating custom functions
- Collections: tuples, lists, sets
- Collections: dictionaries, some other operations with collections
- Importing a module, useful built-in modules, practicing
- Object-oriented programming: classes, methods
- References, copy module, shallow and deep copies, copy and deepcopy functions
- Absolute and relative paths, working with files - reading and writing
- Other built-in modules, debug mode in IDLE
- Final project