• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    JavaScript
  • Created almost 5 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Syllabus for Nature of Code Spring 2020

The Nature of Code, Spring 2020

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 physics simulation, trigonometry, self-organization, genetic algorithms, and neural networks. Examples are demonstrated in JavaScript using p5.js.

Info

  • Daniel Shiffman, Tuesdays, 9:00am - 11:40am
  • Code of Conduct
  • All class dates
  • Office Hours (use NYU google calendar appts, link via class mailing list)

Schedule

Week 1 - Introduction, Jan 28

Week 2 - Build a Physics Engine, Feb 4

Week 3 - Oscillating Motion, Feb 11

Week 4 - Particle Systems, Feb 18

Week 5 - Autonomous Agents, Feb 25

Week 6 - Field Trip to Zero Space

Week 7 - Simulation Project Presentations, March 10

No class Tuesday, March 17

Session 8 (REMOTE) - Physics Libraries, Flocking, and Simulation project Catch-up, Mar 24

Session 9 (REMOTE) - Genetic Algorithms, Mar 31

Session 10 (REMOTE) - Neural Networks, April 14

Session 11 (REMOTE) - Neuro-evolution, Friday, April 17

Session 12 + 13 (REMOTE) - Final Project Development

Session 14 (REMOTE) - Final Project Presentations, May 5

Land Acknowledgement

This classroom, New York University and Brooklyn, NY is situated on the continuously inhabited land of the Lenni Lenape people. I am making a donation to the American Indian Community House for the use of this space.

Evaluation

  • Please read ITP's policy on pass/fail
  • You are required to attend all class meetings and submit all weekly assignments and a final project.
  • Grading (pass/fail) will be based on a combination of factors:
    • Attendance, participation in class discussion, and engagement in other students' projects (30%)
    • Quality of assignments (50%)
    • Final Project (20%)

Resources

Related Reading and Watching

Statement of Academic Integrity

Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else. Statement of Principle

The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members. It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice. Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards. For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook, which can be found online at: http://students.tisch.nyu.edu/page/home.html

Use of Free and Open Source Code from Examples

The following is adapted by permission from Golan Levin’s Interactivity and Computation Course (Fall 2018) at Carnegie Mellon University.

You must cite the source of any code you use. Please note the following expectations and guidelines:

Check the License. When using others' code, pay attention to the license under which it has been released, and be certain to fulfill the terms and requirements of those licenses. Descriptions of common licenses, and their requirements, can be found at choosealicense.com. Some licenses may require permission. If you are confused or aren’t sure how to credit code, ask one of the course instructors and make your best good faith effort. Not properly citing code sources is grounds for a 0 on an assignment.

Use Libraries. The use of general, repurposable libraries is strongly encouraged. The people who developed and contributed these components to the community worked hard, often for no pay; acknowledge them by citing their name and linking to their repository.

Be Careful. It sometimes happens that an artist places the entire source code for their sketch or artwork online, as a resource from which others can learn. Assignments given in new-media arts courses are often similar; you may also discover the work of a student in some other class or school, who has posted code for a project which responds to a similar assignment. You should probably avoid this code. At the very least, you should be careful about approaching such code for possible re-use. If it is necessary to do so, it is best to extract components that solve a specific technical problem, rather than those parts which operate to create a poetic experience. Your challenge, if and/or when you work with others' code, is to make it your own. It should be clear that downloading an artwork from someone's GitHub and simply changing the colors would be disgracefully lazy. And doing so without proper citation would be outright plagiarism.

Statement on Accessibility

Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you. Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information. Statement on Counseling and Wellness

Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources.

Statement on Title IX

Tisch School of the Arts to dedicated to providing its students with a learning environment that is rigorous, respectful, supportive and nurturing so that they can engage in the free exchange of ideas and commit themselves fully to the study of their discipline. To that end Tisch is committed to enforcing University policies prohibiting all forms of sexual misconduct as well as discrimination on the basis of sex and gender. Detailed information regarding these policies and the resources that are available to students through the Title IX office can be found by using the following link: Title IX at NYU.

More Repositories

1

noc-examples-processing

Repository for example code from The Nature of Code book
Processing
2,557
star
2

noc-book

The Nature of Code book (archived repo, see README for new repo / build system!)
JavaScript
1,937
star
3

noc-book-2

The 2024 edition of The Nature of Code with p5.js. Includes Notion workflow and build system.
HTML
1,094
star
4

noc-examples-p5.js-archived

Port to p5.js of Nature of Code examples
JavaScript
1,049
star
5

NOC-S17-2-Intelligence-Learning

Syllabus for Part 2 of Nature of Code: "Intelligence and Learning" at ITP Spring 2017 Edit
JavaScript
932
star
6

The-Nature-of-Code-archive

The very first build system for The Nature of Code
JavaScript
913
star
7

noc-book-2-archive

Repository for The Nature of Code book with p5.js
HTML
643
star
8

noc-examples-python

Python port (via processing.py) of The Nature of Code Examples
Python
197
star
9

The-Nature-of-Code-Cosmos-Edition

Repository for fall 2013 workshop at ITP on space data visualization
Processing
129
star
10

Nature-of-Code-Website-Archive

Repo for web files for nature of code
JavaScript
111
star
11

NOC-S18

Course repo and syllabus for Nature of Code Spring 2018 at ITP.
JavaScript
88
star
12

NOC-S17-1-Physics-Animation

Syllabus for Part 1 of Nature of Code: "Physics and Animation" at ITP Spring 2017
Processing
81
star
13

noc-syllabus-S23

Syllabus for IMA and ITP Spring 2023 The Nature of Code
59
star
14

noc-syllabus-S19

Course repo and syllabus for Nature of Code Spring 2019 at ITP.
JavaScript
47
star
15

noc-syllabus-S21

45
star
16

noc-kadenze

Code from Kadenze online course
JavaScript
44
star
17

The-Nature-of-Code-S14

Repository for ITP Spring 2014 Course
36
star
18

The-Nature-of-Code-Course

Syllabus and Course Materials for The Nature of Code. Book code examples are here: https://github.com/shiffman/The-Nature-of-Code-Examples
30
star
19

The-Nature-of-Code-JTerm-2015

Class repository for NYU JTerm 2015
JavaScript
16
star
20

noc-syllabus-s24

Spring 2024 Syllabus
15
star
21

noc-syllabus-modules

14
star
22

noc-discord-bot

JavaScript
12
star
23

fetch-notion

Github action that imports `nature-of-code` content on Notion as static HTMLs
JavaScript
10
star
24

The-Nature-of-Code-JTerm-2016

Repository for NYU JTerm class 2016
JavaScript
10
star
25

video.natureofcode.com

Site for nature of code videos
JavaScript
7
star
26

noc-blue-sky-bot

Making a Bot for Blue Sky with atproto
JavaScript
6
star