The seamless integration of our senses with the physical world is the fabric of the experience we call to live in an environment. In The Matrix (1999), eating the red pill dissolves this integration, revealing to the protagonist Neo that he had been immersed in a virtual world up to the present day. A large computer network constructs an illusion to prevent the minds of most human beings from true sensual experiences while their bodies lie naked in isolated containers and serve as energy sources for the machines controlling the
The course enters the backstage area of the matrix, our seamless immersion in contemporary media and communication infrastructure. The complex mechanisms behind simple activities such as making a phone call or opening a webpage in a different continent are transparent (and invisible) to most of us. Discovering the technology behind communication networks and computing machines sets the stage for developing fundamental skills in programming and computational modelling.
The course is designed in such a way as to support programming newcomers in getting started with required skills. Nevertheless, a reasonable amount of technical understanding, as well as a certain level of motivation and fascination for dealing with machines and their logic will help enjoying the curriculum.
An agent-based simulation framework will facilitate an intuitive approach for beginners, while offering tools for more advanced projects. Students with little prior knowledge in IT-related fields will acquire programming fundamentals (e.g. calculation and data manipulation, conditionals, loops, functions, data structures). More advanced concepts comprise, object ori-ented programming techniques, message passing, functional programming, advanced data structures, IO handling etc. Models, simulation, com-putational architectures, graphs and networks, multi-agent frameworks, virtualisation provide higher order conceptualisations and, hence, link the machine-centred skills to a more comprehensive view.
During the second half of the course, students will realise their own projects based on the technologies of their choice. In principle, there is no restriction to any form of computing technology; a relation to computational modelling, simulation, and programming should, however, be discernible. Approaches and implementation should match the projects' objectives, individual prior knowledge and didactic value.