Giter Club home page Giter Club logo

noc-s18's Introduction

The Nature of Code, Spring 2018

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. Much of the class time will be dedicated to in-class exercises and self-study as much of the course is available online through a video series and textbook.

Info

  • Daniel Shiffman, Tuesdays, 12:10pm-2:40pm
  • All class dates
    • note first class is rescheduled to Friday, Jan 26, 12:10-2:40pm
  • Office Hours

Mailing List

Schedule

Week 1 - Introduction: Make-Up Date: Friday, Jan 26, 12:10 - 2:40pm

Week 2 - Build a Physics Engine, Jan 30

Week 3 - Oscillating Motion, Feb 6

Week 4 - Particle Systems, Feb 13

Week 5 - Autonomous Agents, Feb 20

Week 6 - Physics Libraries, Feb 27

Week 7 - Simulation Project Presentations, March 6

No class Tuesday, March 20

Week 8 - Genetic Algorithms, March 27

Week 9 - Neural Networks, April 3

Week 10 - Neuro-evolution, April 10

Week 11/12 - Final Project Proposals

Week 13 - User Testing Workshop, April 24

Week 14 - Final Project Presentations, May 1

Requirements

  • 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 (25%)
    • Quality of assignments (50%)
    • Final Project (25%)

Resources

Related Reading and Watching

noc-s18's People

Contributors

meiamsome avatar shiffman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

noc-s18's Issues

func is not a function

I'tried to use the mutate function and that appeared :
TypeError: func is not a function matrix.js:102:23

Algorithm doesn't work when all scores are zero

In your version of flappy bird, the score is assigned based on the distance traveled. Hence, there's no way a bird has score = 0 in a generation. But, in my version, I have assigned points based on the number of pipes crossed. And there's a good chance none of the birds make it in the first generation. Hence, the total score of the generation = 0;

https://github.com/shiffman/NOC-S18/blob/95b801d6e0cefeb9b8d2ac1997d0b68bb46d95d7/week10/neuroevolution-flappybird/ga.js#L75-L79

In this algorithm, since r remains constant the loop runs forever until the index > birds.


https://github.com/shiffman/NOC-S18/blob/95b801d6e0cefeb9b8d2ac1997d0b68bb46d95d7/week10/neuroevolution-flappybird/ga.js#L56-L59

Likewise while calculating the fitness, the scores will be divided by zero resulting in NaN fitness for all birds

How can these issues be solved without changing the scoring system ?

Run best button not working / high score not resetting

#issue detected in week10 flappy bird

run best button

i was attempting to run this on my phone. And when i clicked on the run best button it launches the best neural network yet and then it launches the training immediately right after that.

high score

when running the "best so far" the high score never resets itself even after the agent lost the game

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.