Skip to content

thinh-tran/The-Nature-of-Code-JTerm-2015

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

The Nature of Code, NYUAD, JTerm 2015, London

Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world world help us to create digital worlds? This class focuses on the programming strategies and techniques behind computer simulations of natural systems. We explore topics ranging from basic mathematics and physics concepts to more advanced simulations of complex systems. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. No computer programming experience is required, the course will start with the basics of code using HTML, CSS, and JavaScript (with the p5js framework). In addition to learning technical skills and discussing scientific concepts, students will have the opportunity to visit science museums, art galleries, and artist studios in the London area.

Class 1 -- Introduction -- Mon, 1/5/15

  • Meets 2-5pm today (as to not conflict with morning orientation).
  • What is computational media?
    • What is programming?
    • How can I apply programming to my field of interest?
    • Example projects.
    • What is the potential for software within the visual arts?
    • As a ____________, why would I want or need to write software?
  • Programming language discussion
    • history of Processing and p5.js (and processing.js?)
  • Basics of web development
  • What is git and github?

Class 2 -- Drawing and Animation -- Tues, 1/6/15

Class 3 -- Interaction and Functions -- Wed, 1/7/15

Class 4 -- Objects and Reproduction -- Thurs, 1/8/15

  • Homework 3

Class 5 -- Day Trip to Bletchley Park -- Fri, 1/9/15

  • Bletchley Park
  • 8:55 am, meet at Guilford House
  • Estimated return: 4:30pm

Class 6 -- Images -- Mon, 1/12/15

  • Homework 4

Class 7 -- TBA -- Tues, 1/13/15

Class 8 - Data -- Wed, 1/14/15

Class 9 - Physics -- Thurs, 1/15/15

  • Homework 7
  • Guest speaker: Stefanie Posavec
  • Note class will meet in afternoon instead of morning

Class 10 - Agents / Complexity -- Fri, 1/16/15

  • Homework 8
  • Note class will meet in afternoon instead of morning

Class 11 - Fractals / CA -- Mon, 1/19/15

  • Final Project Proposal

Class 12 - Evolutionary Computing -- Tues, 1/20/15

  • Final Project Proposal

Class 13 - Final Project Workshop -- Wed, 1/21/12

Class 14 - Final Project Presentations - Thurs, 1/22/15

Expectations

  • Assignments will include readings, programming exercises, and written documentation of your work.
  • Each student will be required to post their homework to the class blog (instructions provided in class).
  • Over the course of the term, you should have completed ten blog posts (8 exercises, 1 final project proposal, 1 final project summary). In total this should amount to at least 7,000 words (equivalent to 18 double-spaced pages.) Each blog post should contain a written response to material presented in class (specific questions will be provided), a description of your homework assignment, and questions regarding the technical material.
  • For your final project proposal and summary, you will be required to write about your project concept and project development process.
  • Students will be expected to collaborate, to document their work, to make presentations and to discuss their ideas regularly in class.

Teaching Methodologies

  • Class time will be divided between technical lectures, independent project development, individual meetings with instructor, and project presentations / critique.
  • In addition to regular class meetings, the instructor will organize a series of field trips to visit artist studios, gallery shows, and museum exhibits in the London area.

Learning Outcomes

  • Define the fundamentals of computation.
  • Build creative software sketches that demonstrate knowledge of these fundamentals.
  • Critically examine interactive art in the context of screen, sculpture, and web.
  • Apply concepts from physics and mathematics to real-time software animation.
  • Develop methodologies for simulating nature using computational algorithms.
  • Propose and build a creative project made from computational methods.

Grading

  • Class Participation (attendance, discussions, project proposal and implementation presentations) : 25%
  • Writing Assignments: 25%
  • Programming Assignments: 35%
  • Final Project: 15%

Presenting in class

  • One liner – What did you do?
  • Content – Why did you do it? Who is the audience? How does it engage with the theoretical and technical concerns we have discussed in this class?
  • Demo
  • Comments/Critique

Books

  • The Nature of Code, Daniel Shiffman
  • The Computational Beauty of Nature, Gary Flake
  • Form + Code, Casey Reas / Chandler McWilliams
  • Learning Processing, Daniel Shiffman

About

Class repository for NYU JTerm 2015

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Processing 0.1%