Interactive Media Arts (IMA) at NYU Shanghai
“How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds?” – Daniel Shiffman
The Nature of Code is an intermediate course designed based on Daniel Shiffman’s The Nature of Code course at NYU ITP and was adjusted for students of undergraduate studies. This course explores fundamentals of programming, such as Object-Oriented Programming, and application of simple principles of mathematics and physics in order to recreate natural behaviors in a digital environment.
This course will address the fundamentals of programming, such as Object-Oriented Programming. Students will be able to learn programming in a fun and interesting way by creating particles(Objects) and manipulating their behaviors. The programming concept and its application will be presented in a relatively easy way, as opposed to the conventional theoretical approach, through observation of immediate visual feedback.
Throughout the course, students will also learn to add layers of physical complexity to make programmed behaviors of Objects more realistic and systematic. They will integrate their programming skills with diverse topics in Computer Science, Mathematics and Physics, and expand them by utilizing new and interdisciplinary media.
Upon completion of this course, students will be able to:
- practice and produce the fundamentals of programming;
- demonstrate Object-Oriented Programming and integrate why/how to use the concept into practical applications;
- apply mathematics and physics in their software environment to create an artifact;
- utilize comprehensively visual programming techniques for algorithmic animations;
- visualize and simulate systematic shapes, movement and/or behaviors in natural phenomenon; and
- create generative art by utilizing a combination of concepts discussed over the course.