Study-Unit Description

Study-Unit Description


CODE TEM5011

 
TITLE Creative Coding

 
UM LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
MQF LEVEL 7

 
ECTS CREDITS 5

 
DEPARTMENT Technology and Entrepreneurship Education

 
DESCRIPTION This study-unit introduces students to coding in a high-level, procedural, textual programming environment. For the purpose of this study-unit, programming is primarily viewed as a way of exploring an algorithmic solution space and of creatively tinkering with digital technology. Concerns of efficiency, safety and security, although mentioned incidentally, are of secondary importance to this study-unit. It is not intended for students to master any one particular programming language, but rather to explore a variety of languages which share semantic and paradigmatic similarities, but differ in their application. For this reason, the study-unit is divided into three parts, in each of which students are introduced to a different application domain.

In the first part, students will get to explore coding using Python, a high-level, general purpose programming language. In the second part, students will be introduced to physical computing, using a hardware-oriented, platform specific language such as Wiring (the Arduino variant of C++). In the third part of the study-unit, students will explore domain-specific features of languages such as Processing and Sonic-Pi.

Study-Unit Aims:

This study-unit aims to:

- Introduce students to coding solutions to simple computational problems using text-based procedural programming languages;
- Familiarise students with the use of an IDE, the program development cycle, and the code translation, linking and loading process;
- Introduce students to programming in a high-level programming language using Python;
- Introduce students to physical computing using the Arduino or similar prototyping boards;
- Introduce students to programming in a hardware-oriented programming environment such as the Arduino IDE;
- Demonstrate the difference between high-level, platform-independent programming languages and low-level, platform-specific programming languages;
- Promote good coding practice based on the literate programming paradigm;
- Introduce students to domain-specific languages in the arts, such as Processing and Sonic-Pi.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:

- Describe the program development cycle;
- Describe the sequence of operations which take place during the program compilations process;
- Explain how abstraction is used to hide low-level and platform-specific detail;
- Identify the domain-specific constructs of a programming/scripting language;
- Apply structured techniques to manage code complexity.

2. Skills:

By the end of the study-unit the student will be able to:

- Design an algorithmic solution to simple computational problems;
- Implement algorithmic solutions using the constructs supported by a given programming environment;
- Code, debug and deploy correct (although not necessarily optimal) software solutions;
- Document code using the literate programming paradigm;
- Use domain-specific programming and scripting languages to develop domain-specific software solutions.

Main Text/s and any supplementary readings:

Course notes and links to a variety of online (mostly Web) resources will be provided on the course VLE page.

Supplementary Readings:

Montfort, N.(2016). Exploratory programming for the arts and humanities. Cambridge: MIT Press. ISBN: 0262034204.

Demirov, I. (2015). Learn Python 3.0 Visually: An accelerated learning method which uses science and creativity. North Charleston, S.C.: CreateSpace. ISBN: 9781507727072.

Schmidt, M. (2015). Arduino: A Quick-Start Guide. O'Reilly Media. ISBN: 9781941222249.

Desai, P., In Ahmed, S., In Jones, J., In Nadar, J., & In Phadke, V. (2015). Python programming for Arduino: Develop practical Internet of Things prototypes and applications with Arduino and Python. ISBN: 9781783285938.

 
ADDITIONAL NOTES Pre-requisite Study-units: TEM5009 and TEM5010

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Assignment SEM2 Yes 100%

 
LECTURER/S

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2025/6. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit