Studiegids

nl en

Creative Programming

Vak
2024-2025

Admission requirements

Bachelor degree (completed). This course requires some experience of coding as a prior requirement.

Description

In this course we will explore programming as a medium for creative expression. We will explore the use of multiple programming languages (e.g. P5js, Processing, Pure Data) applied across various domains (e.g. visual, audio) to produce dynamic, generative, and interactive experiences.

Students will create programs every week to explore different approaches to programming as a creative medium. Students will produce dynamic generators and animations, as well as, interactive experiences and tools. This course trains students to think algorithmically to express their ideas.

The course recognises the importance of being familiar with different programming languages and coding styles to best support different creative goals. In addition, the course will explore how systems can be constructed by combining components developed using different programming languages and tools.

Teaching materials will be distributed through Brightspace. Students will need access to a laptop, which they will need to bring to each class, and Internet access at home.

The course is part of the Media Technology MSc core curriculum. Students with significant knowledge and experience across multiple programming languages are encouraged to substitute this course with a different, advanced computer science course. The study advisor of the Media Technology MSc. can provide further information on request.

Students requiring assistance to participate in this course should contact the lecturers as soon as possible.

Course objectives

This course will provide an overview of creative programming. After the successful completion of this course, you will be able to:

  • Apply algorithmic thinking to problem-solving related to achieving creative outputs

  • Analyse existing programs to identify opportunities for changing or adapting for desired creative outputs

  • Analyse the requirements for desired creative outputs to inform implementation decisions, including the selection and combination of different programming languages to take advantages of their strengths and overcome limitations

  • Evaluate alternative approaches to implementing computer programs to achieve desired creative outputs

  • Create substantial computer programs as creative outputs (e.g. image/sound generators, dynamic animations, interactive artworks, toys/games, etc.) or creative support tools (e.g. sketches, editors, instruments, etc.)

Timetable

In MyTimetable, you can find all course and programme schedules, allowing you to create your personal timetable. Activities for which you have enrolled via MyStudyMap will automatically appear in your timetable.

Additionally, you can easily link MyTimetable to a calendar app on your phone, and schedule changes will be automatically updated in your calendar. You can also choose to receive email notifications about schedule changes. You can enable notifications in Settings after logging in.

Questions? Watch the video, read the instructions, or contact the ISSC helpdesk.

Note: Joint Degree students from Leiden/Delft need to combine information from both the Leiden and Delft MyTimetables to see a complete schedule. This video explains how to do it.

Mode of instruction

Lecture, Seminar

Assessment method

The final grade for the course is established by determination of a weighted average of partial grades for two components: homework assignments (50%) and programming projects (50%). Each of the two component grades may is turn be made up from multiple partial assignments. Uncompleted partial assignments/projects are graded with 0.

Retake rules: If and only if the final course grade is lower than 5.5, then a retake possibility exists for homework assignments or programming projects. Retake assignments may take place in the form of an oral exam.

Reading list

Study materials will be provided by the lecturers during the course.

Registration

As a student, you are responsible for enrolling on time through MyStudyMap.

In this short video, you can see step-by-step how to enrol for courses in MyStudyMap.
Extensive information about the operation of MyStudyMap can be found here.

There are two enrolment periods per year:

  • Enrolment for the fall opens in July

  • Enrolment for the spring opens in December

See this page for more information about deadlines and enrolling for courses and exams.

Note:

  • It is mandatory to enrol for all activities of a course that you are going to follow.

  • Your enrolment is only complete when you submit your course planning in the ‘Ready for enrolment’ tab by clicking ‘Send’.

  • Not being enrolled for an exam/resit means that you are not allowed to participate in the exam/resit.

Contact

Contact the lecturer(s) for course specific questions and the programme coordinator for questions regarding the programme, admission and/or registration.

Remarks

Elective, external and exchange students (other than Media Technology and Computer Science students) need to contact the programme's coordinator due to limited capacity.

This course is not available to students who completed Introduction to Programming (Level 400, 4 EC) before 1 September 2020.

Software
Starting from the 2024/2025 academic year, the Faculty of Science will use the software distribution platform Academic Software. Through this platform, you can access the software needed for specific courses in your studies. For some software, your laptop must meet certain system requirements, which will be specified with the software. It is important to install the software before the start of the course. More information about the laptop requirements can be found on the student website.