title
I.0: Introduction - The Nature of Code

description
Book: The nature of code Chapter: I Official book website: http://natureofcode.com/ Twitter: https://twitter.com/shiffman Help us caption & translate this video! http://amara.org/v/QbwQ/ 📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

detail
{'title': 'I.0: Introduction - The Nature of Code', 'heatmap': [{'end': 215.92, 'start': 198.215, 'weight': 0.721}, {'end': 373.852, 'start': 321.961, 'weight': 0.719}, {'end': 401.074, 'start': 383.497, 'weight': 0.791}, {'end': 531.627, 'start': 498.656, 'weight': 0.737}, {'end': 671.775, 'start': 655.449, 'weight': 0.893}, {'end': 1105.573, 'start': 1085.319, 'weight': 0.793}, {'end': 1271.058, 'start': 1238.398, 'weight': 0.966}, {'end': 1358.837, 'start': 1339.878, 'weight': 1}], 'summary': "Dan schiffman's video introduces his experience, preference to be called by name. ittp's plan to teach the nature of code, emphasizing creating, sharing videos, discussing course topics, and using processing for programming simulations. it covers programming basics, formalization of motion using vectors, forces, and modeling particle systems. it also introduces box2d physics engine, steering behaviors, and discusses autonomous agent interactions, genetic algorithms, and neural networks for evolving entities with the plan to create an hour-long class consisting of seven videos of five to ten minutes each.", 'chapters': [{'end': 51.622, 'segs': [{'end': 51.622, 'src': 'embed', 'start': 27.803, 'weight': 0, 'content': [{'end': 34.908, 'text': "but I haven't done it in a while and I certainly haven't done it with this new fangled setup that makes where I'm sort of floating in this strange white space.", 'start': 27.803, 'duration': 7.105}, {'end': 39.132, 'text': 'So, but babbling is probably not what I should do.', 'start': 36.63, 'duration': 2.502}, {'end': 41.994, 'text': "It's a little, it's not the best way to start.", 'start': 39.212, 'duration': 2.782}, {'end': 43.635, 'text': 'Okay, so my name is Daniel.', 'start': 42.194, 'duration': 1.441}, {'end': 45.357, 'text': 'Nobody ever calls me that, no.', 'start': 44.096, 'duration': 1.261}, {'end': 51.622, 'text': 'You could call me Dan Schiffman, Dan Schiffman, any variation of those.', 'start': 46.538, 'duration': 5.084}], 'summary': 'Daniel, also known as dan schiffman, introduces himself in a new setup.', 'duration': 23.819, 'max_score': 27.803, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G79827803.jpg'}], 'start': 8.433, 'title': "Dan schiffman's video", 'summary': "Introduces dan schiffman's video where he discusses his experience in a strange place, his unfamiliarity with the setup, and his preference to be called dan schiffman.", 'chapters': [{'end': 51.622, 'start': 8.433, 'title': "Introduction to dan schiffman's video", 'summary': 'Introduces a video by dan schiffman, where he talks about being in a strange place, his unfamiliarity with the setup and his name being daniel, but prefers to be called dan schiffman.', 'duration': 43.189, 'highlights': ['Dan Schiffman introduces himself as Daniel but prefers to be called Dan Schiffman.', 'He mentions being in a strange place and unfamiliar with the new setup.', "Dan Schiffman acknowledges that viewers may have found their way to the video and he hasn't done this in a while."]}], 'duration': 43.189, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7988433.jpg', 'highlights': ['Dan Schiffman introduces himself as Daniel but prefers to be called Dan Schiffman.', 'He mentions being in a strange place and unfamiliar with the new setup.', "Dan Schiffman acknowledges that viewers may have found their way to the video and he hasn't done this in a while."]}, {'end': 302.154, 'segs': [{'end': 76.356, 'src': 'embed', 'start': 51.642, 'weight': 0, 'content': [{'end': 60.19, 'text': "I teach at a place called ITP and I'm teaching a class in two days called The Nature of Code,", 'start': 51.642, 'duration': 8.548}, {'end': 66.057, 'text': 'where we look at programming simulations of natural systems and we use this thing called processing to do so.', 'start': 60.19, 'duration': 5.867}, {'end': 76.356, 'text': "So, for this year, for this semester, I'm planning, hoping And really,", 'start': 66.517, 'duration': 9.839}], 'summary': 'Teaching the nature of code at itp, using processing for programming simulations.', 'duration': 24.714, 'max_score': 51.642, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G79851642.jpg'}, {'end': 145.063, 'src': 'embed', 'start': 113.672, 'weight': 1, 'content': [{'end': 114.673, 'text': 'This one will be a little bit longer.', 'start': 113.672, 'duration': 1.001}, {'end': 116.995, 'text': 'I want my videos to be only about five to seven minutes each.', 'start': 114.693, 'duration': 2.302}, {'end': 121.699, 'text': 'This one might be more like 10 to 15 minutes, although I might just shut it off at any moment.', 'start': 117.315, 'duration': 4.384}, {'end': 124.582, 'text': 'I want to introduce the entire course.', 'start': 122.66, 'duration': 1.922}, {'end': 131.989, 'text': "So I want to kind of talk about what are all the topics we're going to look at, go through them quickly, and look at a few examples.", 'start': 124.842, 'duration': 7.147}, {'end': 137.955, 'text': "So if you're wondering, though, let's say you came to this video and you have never seen it.", 'start': 132.31, 'duration': 5.645}, {'end': 139.897, 'text': "you have no idea why you're here and what's going on.", 'start': 137.955, 'duration': 1.942}, {'end': 141.999, 'text': "I'm going to give you even a little bit more of an introduction.", 'start': 139.897, 'duration': 2.102}, {'end': 145.063, 'text': "I'm going to demonstrate, first of all, I have this cup of tea.", 'start': 142.039, 'duration': 3.024}], 'summary': 'Introduction to the course with a video duration of 10-15 minutes, aiming for 5-7 minutes per video.', 'duration': 31.391, 'max_score': 113.672, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798113672.jpg'}, {'end': 228.949, 'src': 'heatmap', 'start': 198.215, 'weight': 2, 'content': [{'end': 200.595, 'text': "If you're interested in ITP, it's a two-year graduate program.", 'start': 198.215, 'duration': 2.38}, {'end': 203.076, 'text': 'We do all sorts of stuff here.', 'start': 201.175, 'duration': 1.901}, {'end': 206.557, 'text': 'You can take a look at the website, itp.nyu.edu.', 'start': 203.776, 'duration': 2.781}, {'end': 208.738, 'text': 'I also want to show you Processing.', 'start': 207.117, 'duration': 1.621}, {'end': 210.838, 'text': 'Processing is the open source.', 'start': 209.098, 'duration': 1.74}, {'end': 215.92, 'text': "like I'm reading, this is the open source programming, language and environment for people who want to create, et cetera, et cetera, et cetera.", 'start': 210.838, 'duration': 5.082}, {'end': 218.681, 'text': "It's what I'm going to use to demonstrate all these examples.", 'start': 216, 'duration': 2.681}, {'end': 222.802, 'text': 'This, however, is not a beginner video series.', 'start': 219.759, 'duration': 3.043}, {'end': 228.949, 'text': "If you've never programmed before, you should watch my other video series called, I don't know, Learning Processing, which doesn't actually exist.", 'start': 222.902, 'duration': 6.047}], 'summary': 'Itp offers a two-year graduate program. processing is used for demonstrating examples.', 'duration': 30.734, 'max_score': 198.215, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798198215.jpg'}, {'end': 270.591, 'src': 'embed', 'start': 239.5, 'weight': 4, 'content': [{'end': 241.601, 'text': 'Anyway, so you should download Processing.', 'start': 239.5, 'duration': 2.101}, {'end': 242.342, 'text': 'You should take a look.', 'start': 241.621, 'duration': 0.721}, {'end': 246.644, 'text': "There are all sorts of great, if you're, you know, there's a bunch of tutorials here.", 'start': 242.622, 'duration': 4.022}, {'end': 248.665, 'text': 'You can find a bunch of great books.', 'start': 247.244, 'duration': 1.421}, {'end': 252.087, 'text': "This is a really, I'm going to duck down underneath this one over here.", 'start': 248.705, 'duration': 3.382}, {'end': 255.869, 'text': "It's a really great one to get started with because it's called Getting Started with Processing.", 'start': 252.107, 'duration': 3.762}, {'end': 256.95, 'text': "Hopefully I didn't mess up the audio.", 'start': 255.889, 'duration': 1.061}, {'end': 258.25, 'text': 'I would recommend it.', 'start': 257.57, 'duration': 0.68}, {'end': 260.332, 'text': "There's lots of places you can get started with Processing.", 'start': 258.351, 'duration': 1.981}, {'end': 270.591, 'text': "Now, if you're looking for more material, text-based material to follow along these videos with, you could go to thenatureofcode.com.", 'start': 260.732, 'duration': 9.859}], 'summary': "Processing offers tutorials, books, and resources to get started with, including 'getting started with processing' and thenatureofcode.com.", 'duration': 31.091, 'max_score': 239.5, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798239500.jpg'}], 'start': 51.642, 'title': 'Teaching the nature of code at itp', 'summary': 'Introduces the plan of teaching the nature of code at itp, focusing on creating and sharing videos, discussing the course topics, and demonstrating programming simulations using processing. it also introduces processing as an open-source programming language and environment for creating examples, emphasizing the availability of free resources like tutorials, books, and online material, and recommends accessing itp.nyu.edu and thenatureofcode.com.', 'chapters': [{'end': 203.076, 'start': 51.642, 'title': 'Teaching the nature of code at itp', 'summary': 'Introduces the plan of teaching the nature of code at itp, focusing on creating and sharing videos, discussing the course topics, and demonstrating programming simulations using processing.', 'duration': 151.434, 'highlights': ['Teaching a class called The Nature of Code at ITP, focusing on programming simulations of natural systems using processing. The speaker teaches a class at ITP called The Nature of Code, where they focus on programming simulations of natural systems using a tool called processing.', 'Planning to record a series of videos about the topics in the course for students to watch. The speaker plans to record a series of videos about the topics in the course for students to watch, potentially ranging from 5 to 15 minutes each.', 'Introducing the entire course and demonstrating programming simulations using processing. The speaker aims to introduce the entire course, briefly discussing the topics and demonstrating programming simulations using processing.']}, {'end': 302.154, 'start': 203.776, 'title': 'Introduction to processing and resources', 'summary': 'Introduces processing as an open-source programming language and environment for creating examples, emphasizes the availability of free resources like tutorials, books, and online material, and recommends accessing itp.nyu.edu and thenatureofcode.com.', 'duration': 98.378, 'highlights': ['Processing is an open source programming language and environment for creating examples.', 'The chapter recommends downloading Processing and accessing resources like tutorials and books for free.', 'The chapter suggests visiting itp.nyu.edu and thenatureofcode.com for additional resources.']}], 'duration': 250.512, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G79851642.jpg', 'highlights': ['Teaching a class called The Nature of Code at ITP, focusing on programming simulations of natural systems using processing.', 'Planning to record a series of videos about the topics in the course for students to watch, potentially ranging from 5 to 15 minutes each.', 'Introducing the entire course and demonstrating programming simulations using processing.', 'Processing is an open source programming language and environment for creating examples.', 'The chapter recommends downloading Processing and accessing resources like tutorials and books for free.', 'The chapter suggests visiting itp.nyu.edu and thenatureofcode.com for additional resources.']}, {'end': 799.981, 'segs': [{'end': 346.898, 'src': 'embed', 'start': 321.961, 'weight': 1, 'content': [{'end': 328.986, 'text': 'Well, one of the things you first do when programming in processing is one of the things you first learn how to do is move a circle across the screen.', 'start': 321.961, 'duration': 7.025}, {'end': 334.17, 'text': 'If I had prepared for this, I would have an example of a circle moving across the screen to show you right now.', 'start': 329.086, 'duration': 5.084}, {'end': 335.33, 'text': "But I'm just winging it.", 'start': 334.49, 'duration': 0.84}, {'end': 337.512, 'text': 'And you can imagine what that would be.', 'start': 335.671, 'duration': 1.841}, {'end': 339.353, 'text': "So let's talk about what that is.", 'start': 338.112, 'duration': 1.241}, {'end': 346.898, 'text': 'So one of the first things you learn to do is, say this, x equals x plus 1.', 'start': 339.673, 'duration': 7.225}], 'summary': 'In processing, beginners learn to move a circle across the screen using x equals x plus 1.', 'duration': 24.937, 'max_score': 321.961, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798321961.jpg'}, {'end': 373.852, 'src': 'heatmap', 'start': 321.961, 'weight': 0.719, 'content': [{'end': 328.986, 'text': 'Well, one of the things you first do when programming in processing is one of the things you first learn how to do is move a circle across the screen.', 'start': 321.961, 'duration': 7.025}, {'end': 334.17, 'text': 'If I had prepared for this, I would have an example of a circle moving across the screen to show you right now.', 'start': 329.086, 'duration': 5.084}, {'end': 335.33, 'text': "But I'm just winging it.", 'start': 334.49, 'duration': 0.84}, {'end': 337.512, 'text': 'And you can imagine what that would be.', 'start': 335.671, 'duration': 1.841}, {'end': 339.353, 'text': "So let's talk about what that is.", 'start': 338.112, 'duration': 1.241}, {'end': 346.898, 'text': 'So one of the first things you learn to do is, say this, x equals x plus 1.', 'start': 339.673, 'duration': 7.225}, {'end': 348.719, 'text': 'You have some circle.', 'start': 346.898, 'duration': 1.821}, {'end': 350.86, 'text': "Circle you're drawing on the screen.", 'start': 349.579, 'duration': 1.281}, {'end': 351.941, 'text': "That's what everybody does.", 'start': 350.9, 'duration': 1.041}, {'end': 353.141, 'text': 'They make circles on the screen.', 'start': 351.961, 'duration': 1.18}, {'end': 355.623, 'text': 'And it has an xy location.', 'start': 353.562, 'duration': 2.061}, {'end': 359.865, 'text': "And when you say x equals x plus 1, if you put that in processing, it's draw a loop right?", 'start': 356.163, 'duration': 3.702}, {'end': 362.606, 'text': 'Draw over and over and over again, looping, looping, looping.', 'start': 359.905, 'duration': 2.701}, {'end': 363.527, 'text': 'It goes up by one.', 'start': 362.887, 'duration': 0.64}, {'end': 364.147, 'text': 'It goes up by one.', 'start': 363.547, 'duration': 0.6}, {'end': 364.788, 'text': 'It goes up by one.', 'start': 364.207, 'duration': 0.581}, {'end': 365.768, 'text': 'We see it here.', 'start': 365.188, 'duration': 0.58}, {'end': 366.469, 'text': 'We see it here.', 'start': 365.788, 'duration': 0.681}, {'end': 366.949, 'text': 'We see it here.', 'start': 366.489, 'duration': 0.46}, {'end': 368.71, 'text': 'The illusion of motion is created.', 'start': 367.149, 'duration': 1.561}, {'end': 373.852, 'text': "That's one of the things you learn maybe if you took an intro processing class, if you read one of those books, if you looked at the website.", 'start': 369.19, 'duration': 4.662}], 'summary': 'In processing, one of the first things learned is moving a circle across the screen by incrementing x position, creating an illusion of motion.', 'duration': 51.891, 'max_score': 321.961, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798321961.jpg'}, {'end': 392.682, 'src': 'embed', 'start': 362.887, 'weight': 6, 'content': [{'end': 363.527, 'text': 'It goes up by one.', 'start': 362.887, 'duration': 0.64}, {'end': 364.147, 'text': 'It goes up by one.', 'start': 363.547, 'duration': 0.6}, {'end': 364.788, 'text': 'It goes up by one.', 'start': 364.207, 'duration': 0.581}, {'end': 365.768, 'text': 'We see it here.', 'start': 365.188, 'duration': 0.58}, {'end': 366.469, 'text': 'We see it here.', 'start': 365.788, 'duration': 0.681}, {'end': 366.949, 'text': 'We see it here.', 'start': 366.489, 'duration': 0.46}, {'end': 368.71, 'text': 'The illusion of motion is created.', 'start': 367.149, 'duration': 1.561}, {'end': 373.852, 'text': "That's one of the things you learn maybe if you took an intro processing class, if you read one of those books, if you looked at the website.", 'start': 369.19, 'duration': 4.662}, {'end': 382.937, 'text': "One of the first topics we're going to do in this, I don't know what to call this, video series? This television set program show? I don't know.", 'start': 374.333, 'duration': 8.604}, {'end': 388.38, 'text': 'Anyway Is learn to formalize that.', 'start': 383.497, 'duration': 4.883}, {'end': 391.301, 'text': 'And learn to formalize it using.', 'start': 388.52, 'duration': 2.781}, {'end': 392.062, 'text': "Everything's okay.", 'start': 391.301, 'duration': 0.761}, {'end': 392.682, 'text': 'Just drop the cap.', 'start': 392.142, 'duration': 0.54}], 'summary': 'Illusion of motion created by iterative increase; formalize using intro processing class or books.', 'duration': 29.795, 'max_score': 362.887, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798362887.jpg'}, {'end': 408.64, 'src': 'heatmap', 'start': 383.497, 'weight': 0.791, 'content': [{'end': 388.38, 'text': 'Anyway Is learn to formalize that.', 'start': 383.497, 'duration': 4.883}, {'end': 391.301, 'text': 'And learn to formalize it using.', 'start': 388.52, 'duration': 2.781}, {'end': 392.062, 'text': "Everything's okay.", 'start': 391.301, 'duration': 0.761}, {'end': 392.682, 'text': 'Just drop the cap.', 'start': 392.142, 'duration': 0.54}, {'end': 393.603, 'text': 'Oops, I did it again.', 'start': 392.742, 'duration': 0.861}, {'end': 394.463, 'text': 'I did it again.', 'start': 393.623, 'duration': 0.84}, {'end': 397.204, 'text': 'Okay Is using vectors.', 'start': 395.544, 'duration': 1.66}, {'end': 401.074, 'text': 'Okay Topic number one, vectors.', 'start': 397.565, 'duration': 3.509}, {'end': 403.856, 'text': "Vectors is nothing other than what you've been doing already.", 'start': 401.394, 'duration': 2.462}, {'end': 405.077, 'text': 'You have an arrow.', 'start': 404.076, 'duration': 1.001}, {'end': 406.919, 'text': 'It sort of says, move this from here.', 'start': 405.137, 'duration': 1.782}, {'end': 408.64, 'text': "What is a vector? We're going to look at all that.", 'start': 406.979, 'duration': 1.661}], 'summary': 'Learning about formalizing using vectors, discussing topic number one: vectors.', 'duration': 25.143, 'max_score': 383.497, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798383497.jpg'}, {'end': 429.166, 'src': 'embed', 'start': 401.394, 'weight': 2, 'content': [{'end': 403.856, 'text': "Vectors is nothing other than what you've been doing already.", 'start': 401.394, 'duration': 2.462}, {'end': 405.077, 'text': 'You have an arrow.', 'start': 404.076, 'duration': 1.001}, {'end': 406.919, 'text': 'It sort of says, move this from here.', 'start': 405.137, 'duration': 1.782}, {'end': 408.64, 'text': "What is a vector? We're going to look at all that.", 'start': 406.979, 'duration': 1.661}, {'end': 416.207, 'text': "We're going to formalize our understanding of motion into vectors, which is allow us to understand an object's location on the screen as a position.", 'start': 408.66, 'duration': 7.547}, {'end': 421.174, 'text': 'which has velocity and perhaps even acceleration, which is going to be very exciting.', 'start': 417.088, 'duration': 4.086}, {'end': 424.459, 'text': 'Right there, I said this word acceleration.', 'start': 422.856, 'duration': 1.603}, {'end': 426.161, 'text': 'Acceleration is a vector you can think of.', 'start': 424.499, 'duration': 1.662}, {'end': 427.303, 'text': 'I accelerate a car.', 'start': 426.161, 'duration': 1.142}, {'end': 428.525, 'text': "it's going faster, it's going slower.", 'start': 427.303, 'duration': 1.222}, {'end': 429.166, 'text': 'am I turning it??', 'start': 428.525, 'duration': 0.641}], 'summary': 'Vectors help understand motion, position, velocity, and acceleration.', 'duration': 27.772, 'max_score': 401.394, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798401394.jpg'}, {'end': 484.538, 'src': 'embed', 'start': 452.31, 'weight': 3, 'content': [{'end': 454.914, 'text': "Well, you can see there's a relationship between acceleration and force.", 'start': 452.31, 'duration': 2.604}, {'end': 458.638, 'text': 'And one of the things we want to do is look at modeling forces.', 'start': 455.234, 'duration': 3.404}, {'end': 461.963, 'text': "We're going to look at modeling forces.", 'start': 459.179, 'duration': 2.784}, {'end': 466.208, 'text': 'This is our sort of first simulation of the natural world.', 'start': 462.343, 'duration': 3.865}, {'end': 470.433, 'text': 'Does that even make sense, right? There is physics in our world.', 'start': 467.332, 'duration': 3.101}, {'end': 476.975, 'text': "So we're going to begin our simulations of natural systems by looking at essentially custom building our own physics engine.", 'start': 470.773, 'duration': 6.202}, {'end': 484.538, 'text': "We're not going to build a fully fledged, super awesome, amazing bells and whistles collision detection crazy physics engine.", 'start': 477.495, 'duration': 7.043}], 'summary': 'Relationship between acceleration and force, modeling forces, building own physics engine.', 'duration': 32.228, 'max_score': 452.31, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798452310.jpg'}, {'end': 531.627, 'src': 'heatmap', 'start': 498.656, 'weight': 0.737, 'content': [{'end': 500.137, 'text': 'And just see what I mean by that.', 'start': 498.656, 'duration': 1.481}, {'end': 504.321, 'text': "I'm going to just look at a couple examples as we're doing this.", 'start': 500.177, 'duration': 4.144}, {'end': 509.825, 'text': "So if we want to think about forces, one thing, here's a nice little demonstration.", 'start': 505.141, 'duration': 4.684}, {'end': 512.886, 'text': 'I should have run some of these beforehand.', 'start': 509.845, 'duration': 3.041}, {'end': 515.509, 'text': "But I'd like to make the size of this bigger.", 'start': 513.248, 'duration': 2.261}, {'end': 520.78, 'text': 'You can see here that we have some objects falling.', 'start': 518.24, 'duration': 2.54}, {'end': 522.922, 'text': 'they experience gravity, they hit this liquid.', 'start': 520.78, 'duration': 2.142}, {'end': 530.646, 'text': 'they experience some sort of resistance drag liquid, resistance air resistance, friction-like thing, viscosity.', 'start': 522.922, 'duration': 7.724}, {'end': 531.627, 'text': "there's all sorts of words there.", 'start': 530.646, 'duration': 0.981}], 'summary': 'Reviewing examples of forces and resistance in demonstrations.', 'duration': 32.971, 'max_score': 498.656, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798498656.jpg'}, {'end': 583.128, 'src': 'embed', 'start': 555.342, 'weight': 4, 'content': [{'end': 558.765, 'text': 'all sorts of other types of motion related to trigonometry.', 'start': 555.342, 'duration': 3.423}, {'end': 566.651, 'text': "So we're going to spend a few videos looking at oscillating, Oscillation, oscillating motion, angular motion,", 'start': 558.825, 'duration': 7.826}, {'end': 568.993, 'text': 'anything really that has to do with angles and trigonometry.', 'start': 566.651, 'duration': 2.342}, {'end': 574.599, 'text': 'If you wanted to know about sine cosine tangent, review those topics, see how they apply in code.', 'start': 569.434, 'duration': 5.165}, {'end': 578.343, 'text': 'see how you can make things spin, move, back and forth.', 'start': 574.599, 'duration': 3.744}, {'end': 579.444, 'text': 'think of a guitar string.', 'start': 578.343, 'duration': 1.101}, {'end': 581.647, 'text': 'plucking, plucking.', 'start': 579.444, 'duration': 2.203}, {'end': 583.128, 'text': 'think of plucking a guitar string.', 'start': 581.647, 'duration': 1.481}], 'summary': 'Exploring oscillating and angular motion related to trigonometry, including making things spin and move back and forth.', 'duration': 27.786, 'max_score': 555.342, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798555342.jpg'}, {'end': 684.602, 'src': 'heatmap', 'start': 655.449, 'weight': 0.893, 'content': [{'end': 657.35, 'text': "And there's lots of topics that will go with that.", 'start': 655.449, 'duration': 1.901}, {'end': 661.071, 'text': "We're going to spend time really diving into the ArrayList,", 'start': 657.61, 'duration': 3.461}, {'end': 665.253, 'text': "which is a Java class that we'll want to use in processing to manage large numbers of objects.", 'start': 661.071, 'duration': 4.182}, {'end': 671.775, 'text': "We're going to spend time looking at advanced object-oriented programming, inheritance, and polymorphism.", 'start': 665.673, 'duration': 6.102}, {'end': 675.137, 'text': 'Polymorphism meaning many forms.', 'start': 673.236, 'duration': 1.901}, {'end': 683.121, 'text': "I really need to write this down here because Can you even see that? You can't see that, right? Because it doesn't exist over here.", 'start': 676.277, 'duration': 6.844}, {'end': 684.602, 'text': "I just move over here and I'm gone.", 'start': 683.142, 'duration': 1.46}], 'summary': 'Exploring arraylist in java for managing large numbers of objects, along with advanced object-oriented programming concepts.', 'duration': 29.153, 'max_score': 655.449, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798655449.jpg'}, {'end': 749.693, 'src': 'embed', 'start': 718.231, 'weight': 0, 'content': [{'end': 721.852, 'text': 'But you might be aware, physics engines exist already.', 'start': 718.231, 'duration': 3.621}, {'end': 723.353, 'text': 'There are plenty of examples.', 'start': 722.072, 'duration': 1.281}, {'end': 725.333, 'text': "We're going to look at two.", 'start': 724.393, 'duration': 0.94}, {'end': 727.714, 'text': "We're going to look at something called Box2D.", 'start': 725.713, 'duration': 2.001}, {'end': 731.735, 'text': "And we're going to also look at something called ToxicLibs.", 'start': 729.134, 'duration': 2.601}, {'end': 739.583, 'text': 'And in particular, the Verlet physics package of toxic libs.', 'start': 732.355, 'duration': 7.228}, {'end': 749.693, 'text': 'And both of these libraries, there are times in life where you just want to make your circle, move around the screen and change some pretty colors.', 'start': 739.983, 'duration': 9.71}], 'summary': 'Physics engines like box2d and toxiclibs exist with examples and verlet physics package for circle manipulation.', 'duration': 31.462, 'max_score': 718.231, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798718231.jpg'}], 'start': 303.975, 'title': 'Programming in processing and physics engine', 'summary': 'Covers programming basics in processing, such as moving objects, and formalization of motion using vectors, forces, and modeling particle systems. it includes topics like vectors, forces, oscillating motion, and existing physics libraries box2d and toxiclibs.', 'chapters': [{'end': 373.852, 'start': 303.975, 'title': 'Programming natural systems in processing', 'summary': 'Discusses the basics of programming in processing, including the concept of moving a circle across the screen using the x equals x plus 1 method, which creates the illusion of motion.', 'duration': 69.877, 'highlights': ['The illusion of motion is created by using the x equals x plus 1 method in Processing, which is one of the basic concepts learned in an intro Processing class or from related resources.', "In Processing, one of the initial tasks is to learn how to move a circle across the screen, achieved by continuously increasing the x-coordinate of the circle's position.", 'The process of creating motion in Processing involves using a draw loop to continuously update the position of the circle on the screen, demonstrating the fundamental concept of animation.']}, {'end': 799.981, 'start': 374.333, 'title': 'Physics engine and particle systems', 'summary': 'Covers the formalization of motion using vectors, understanding forces and modeling particle systems, with topics including vectors, forces, oscillating motion, particle systems, and existing physics libraries box2d and toxiclibs.', 'duration': 425.648, 'highlights': ['Understanding forces and modeling particle systems The chapter covers the formalization of motion using vectors, understanding forces and modeling particle systems.', 'Introduction to vectors and their application in formalizing motion The chapter introduces the concept of vectors and their application in formalizing motion.', 'Exploring topics related to oscillating motion and trigonometry The chapter delves into various types of motion related to trigonometry, including oscillating motion and angular motion.', 'Overview of existing physics libraries Box2D and ToxicLibs The chapter introduces existing physics libraries Box2D and ToxicLibs, highlighting their applications in dynamic animations and complex simulations.']}], 'duration': 496.006, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798303975.jpg', 'highlights': ['The chapter introduces existing physics libraries Box2D and ToxicLibs, highlighting their applications in dynamic animations and complex simulations.', 'The process of creating motion in Processing involves using a draw loop to continuously update the position of the circle on the screen, demonstrating the fundamental concept of animation.', 'Introduction to vectors and their application in formalizing motion The chapter introduces the concept of vectors and their application in formalizing motion.', 'Understanding forces and modeling particle systems The chapter covers the formalization of motion using vectors, understanding forces and modeling particle systems.', 'Exploring topics related to oscillating motion and trigonometry The chapter delves into various types of motion related to trigonometry, including oscillating motion and angular motion.', "In Processing, one of the initial tasks is to learn how to move a circle across the screen, achieved by continuously increasing the x-coordinate of the circle's position.", 'The illusion of motion is created by using the x equals x plus 1 method in Processing, which is one of the basic concepts learned in an intro Processing class or from related resources.']}, {'end': 1154.997, 'segs': [{'end': 868.354, 'src': 'embed', 'start': 838.053, 'weight': 2, 'content': [{'end': 844.581, 'text': 'because the first half nature of code, part one, so to speak is really dedicated to this idea of modeling physics,', 'start': 838.053, 'duration': 6.528}, {'end': 849.368, 'text': 'Because we need a core set of building blocks to start with.', 'start': 846.547, 'duration': 2.821}, {'end': 855.19, 'text': "If what we're ultimately looking to do is think about complex systems,", 'start': 849.808, 'duration': 5.382}, {'end': 861.512, 'text': 'systems of many elements that have intelligence or limited intelligence or perception of their environment, that, when they come together,', 'start': 855.19, 'duration': 6.322}, {'end': 868.354, 'text': 'achieve some sort of goal or exhibit the property of emergence, or evolve or have the brain with connections.', 'start': 861.512, 'duration': 6.842}], 'summary': "First half of 'nature of code' is about modeling physics and building core elements for complex systems.", 'duration': 30.301, 'max_score': 838.053, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798838053.jpg'}, {'end': 917.462, 'src': 'embed', 'start': 876.338, 'weight': 0, 'content': [{'end': 888.366, 'text': "When we look at all these other topics, which I'm about to just rattle off and list, We're going to use these examples of modeling motion to use them.", 'start': 876.338, 'duration': 12.028}, {'end': 889.607, 'text': "There's another one here.", 'start': 888.406, 'duration': 1.201}, {'end': 891.088, 'text': "Six I don't know.", 'start': 890.367, 'duration': 0.721}, {'end': 892.229, 'text': 'Maybe six should go up here.', 'start': 891.128, 'duration': 1.101}, {'end': 893.209, 'text': "I'm not really sure.", 'start': 892.569, 'duration': 0.64}, {'end': 895.011, 'text': 'Steering forces.', 'start': 894.01, 'duration': 1.001}, {'end': 898.173, 'text': 'Definitely going to open up some of these examples to show them to you.', 'start': 895.892, 'duration': 2.281}, {'end': 901.436, 'text': 'So this, I think, is one of my personal favorites.', 'start': 898.674, 'duration': 2.762}, {'end': 903.377, 'text': 'favorites, if that makes any sense.', 'start': 901.816, 'duration': 1.561}, {'end': 909.839, 'text': "There's a reason why these videos should only be five to seven minutes long, because I've already been going for 15 minutes and I don't know.", 'start': 904.677, 'duration': 5.162}, {'end': 911.34, 'text': "I feel like I wouldn't want to watch this anymore.", 'start': 909.839, 'duration': 1.501}, {'end': 914.621, 'text': "I don't want to watch any of it because I don't want to look at myself.", 'start': 911.36, 'duration': 3.261}, {'end': 917.462, 'text': "Okay, but it's too late, I'm doing this.", 'start': 915.621, 'duration': 1.841}], 'summary': 'Discussion on various topics, including modeling motion, steering forces, and the ideal video length.', 'duration': 41.124, 'max_score': 876.338, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798876338.jpg'}, {'end': 1052.192, 'src': 'embed', 'start': 991.011, 'weight': 3, 'content': [{'end': 992.011, 'text': "It's kind of this little alien.", 'start': 991.011, 'duration': 1}, {'end': 994.332, 'text': 'It chooses to leap off and go this way.', 'start': 992.252, 'duration': 2.08}, {'end': 1001.054, 'text': "So there's a very different thing between an inanimate object just sitting there in the world responding to forces, and this entity that has life,", 'start': 994.772, 'duration': 6.282}, {'end': 1005.896, 'text': 'that has desires, that has hopes and dreams, and fears and goals, and wants to make a choice of something it could do.', 'start': 1001.054, 'duration': 4.842}, {'end': 1012.138, 'text': 'So we want to start looking at that, this type of model.', 'start': 1007.817, 'duration': 4.321}, {'end': 1015.379, 'text': "And the way we're going to do that is through the lens of steering behaviors.", 'start': 1012.178, 'duration': 3.201}, {'end': 1017.8, 'text': "There's a great book called Vehicles.", 'start': 1016.299, 'duration': 1.501}, {'end': 1024.395, 'text': 'by Breitenberg, which I refer to in my materials I will talk about later in the video.', 'start': 1019.673, 'duration': 4.722}, {'end': 1033.24, 'text': "There's the work of Craig Reynolds, who developed all these steering behaviors for autonomous characters for animations that we're going to look at.", 'start': 1024.616, 'duration': 8.624}, {'end': 1043.105, 'text': 'But we want to say what does it mean for an entity to make a choice, to seek a target, to flee from a target, to follow a path in a crowd to flock?', 'start': 1033.599, 'duration': 9.506}, {'end': 1046.968, 'text': 'like a flock of birds, to swarm, like a collection of bees swarming?', 'start': 1043.464, 'duration': 3.504}, {'end': 1052.192, 'text': "How do we have an entity do that? And we're going to do that by understanding how to calculate steering forces.", 'start': 1047.387, 'duration': 4.805}], 'summary': "Study steering behaviors for entities with desires and goals, influenced by breitenberg and craig reynolds' work.", 'duration': 61.181, 'max_score': 991.011, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798991011.jpg'}, {'end': 1122.802, 'src': 'heatmap', 'start': 1085.319, 'weight': 1, 'content': [{'end': 1088.161, 'text': 'So we want to get all the way to understanding systems like this.', 'start': 1085.319, 'duration': 2.842}, {'end': 1092.364, 'text': 'So you can see here, there are a lot of little circles.', 'start': 1088.501, 'duration': 3.863}, {'end': 1095.906, 'text': 'And they have only two principles by which they live.', 'start': 1092.604, 'duration': 3.302}, {'end': 1098.768, 'text': 'Principle number one, follow the path.', 'start': 1096.327, 'duration': 2.441}, {'end': 1105.573, 'text': 'So we have to understand, how do we define a path? How do we have something follow a path? Principle number two, do not bang into my neighbor.', 'start': 1099.049, 'duration': 6.524}, {'end': 1108.655, 'text': 'I just want to have my own physical space.', 'start': 1105.873, 'duration': 2.782}, {'end': 1110.277, 'text': "I don't like anybody getting too close.", 'start': 1108.695, 'duration': 1.582}, {'end': 1112.158, 'text': "That's the two principles.", 'start': 1110.977, 'duration': 1.181}, {'end': 1113.719, 'text': 'Separation, path following.', 'start': 1112.438, 'duration': 1.281}, {'end': 1117.52, 'text': 'So we want to look at what are these steering behaviors and how do we model these forces?', 'start': 1113.919, 'duration': 3.601}, {'end': 1122.802, 'text': 'Seeking, fleeing, arriving, wandering path following wall, hugging obstacle, avoidance, et cetera, et cetera.', 'start': 1117.94, 'duration': 4.862}], 'summary': 'Studying systems with two principles: path following and avoiding collisions.', 'duration': 37.483, 'max_score': 1085.319, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981085319.jpg'}], 'start': 800.021, 'title': 'Modeling physics and steering behaviors', 'summary': 'Introduces the box2d physics engine as a core building block for understanding complex systems and covers various steering behaviors for entities with examples and topics related to modeling motion, steering forces, and emergence, including seeking, fleeing, arriving, wandering, path following, and obstacle avoidance.', 'chapters': [{'end': 917.462, 'start': 800.021, 'title': 'Introduction to box2d physics engine', 'summary': 'Introduces the importance of modeling physics using box2d as a core set of building blocks for understanding complex systems in nature of code, with a plan to demonstrate examples and topics related to modeling motion, steering forces, and emergence.', 'duration': 117.441, 'highlights': ['The first half of nature of code, part one, is dedicated to modeling physics using Box2D as a core set of building blocks.', 'The chapter aims to cover topics such as modeling motion, steering forces, and emergence using examples.', 'The video duration is highlighted, with a suggestion that the content should be condensed to 5 to 7 minutes for better engagement.']}, {'end': 1154.997, 'start': 917.482, 'title': 'Introduction to steering behaviors', 'summary': 'Covers the concept of steering behaviors for entities in a simulated environment, including the distinction between inanimate objects and entities with perception, and the principles of steering behaviors such as seeking, fleeing, arriving, wandering, path following, and obstacle avoidance.', 'duration': 237.515, 'highlights': ['The distinction between inanimate objects and entities with perception is emphasized, highlighting the difference in their responses to forces and their ability to make choices based on desires and goals.', 'Principles of steering behaviors such as seeking, fleeing, arriving, wandering, path following, and obstacle avoidance are introduced as key concepts for modeling forces and behaviors in simulated environments.', 'The chapter emphasizes the goal of understanding how to calculate steering forces for entities, leading to the development of complexity in the nature of code and simulated environments.', 'References to influential works by Breitenberg and Craig Reynolds are mentioned, providing additional resources for understanding steering behaviors and autonomous character animations.']}], 'duration': 354.976, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G798800021.jpg', 'highlights': ['The chapter aims to cover topics such as modeling motion, steering forces, and emergence using examples.', 'Principles of steering behaviors such as seeking, fleeing, arriving, wandering, path following, and obstacle avoidance are introduced as key concepts for modeling forces and behaviors in simulated environments.', 'The first half of nature of code, part one, is dedicated to modeling physics using Box2D as a core set of building blocks.', 'The distinction between inanimate objects and entities with perception is emphasized, highlighting the difference in their responses to forces and their ability to make choices based on desires and goals.', 'The chapter emphasizes the goal of understanding how to calculate steering forces for entities, leading to the development of complexity in the nature of code and simulated environments.', 'References to influential works by Breitenberg and Craig Reynolds are mentioned, providing additional resources for understanding steering behaviors and autonomous character animations.', 'The video duration is highlighted, with a suggestion that the content should be condensed to 5 to 7 minutes for better engagement.']}, {'end': 1426.029, 'segs': [{'end': 1183.39, 'src': 'embed', 'start': 1157.467, 'weight': 0, 'content': [{'end': 1165.413, 'text': 'We talked about combining steering forces, simple local interactions of autonomous agents, making all sorts of crazy emergent phenomena happen.', 'start': 1157.467, 'duration': 7.946}, {'end': 1166.574, 'text': "We're going to look at flocking.", 'start': 1165.433, 'duration': 1.141}, {'end': 1176.563, 'text': "We're going to look also at cellular automata, which I'm sure I said incorrectly, and maybe I'll learn how to pronounce that before we get there,", 'start': 1168.975, 'duration': 7.588}, {'end': 1183.39, 'text': "which is a complex system where, instead of the elements are moving around, they're sitting on a grid.", 'start': 1176.563, 'duration': 6.827}], 'summary': 'Discussion on autonomous agent interactions and emergent phenomena like flocking and cellular automata.', 'duration': 25.923, 'max_score': 1157.467, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981157467.jpg'}, {'end': 1248.426, 'src': 'embed', 'start': 1219.186, 'weight': 2, 'content': [{'end': 1220.186, 'text': "That's not a good place for it.", 'start': 1219.186, 'duration': 1}, {'end': 1226.108, 'text': "Mental note to self, don't just rest the phone on top of the camera while making the video.", 'start': 1220.426, 'duration': 5.682}, {'end': 1231.01, 'text': "OK, we're going to look at evolution and modeling evolution in software.", 'start': 1226.208, 'duration': 4.802}, {'end': 1232.811, 'text': "I'm going to set something running over here.", 'start': 1231.31, 'duration': 1.501}, {'end': 1238.318, 'text': 'All this is always going to tie to motion and animation.', 'start': 1235.016, 'duration': 3.302}, {'end': 1243.963, 'text': "So if we go down here to the genetic algorithm examples, and I'm actually just going to click on this one, evolve flow field.", 'start': 1238.398, 'duration': 5.565}, {'end': 1246.224, 'text': 'I think this one has a bug in it, so it actually might crash.', 'start': 1243.983, 'duration': 2.241}, {'end': 1248.426, 'text': "But let's run this for a second.", 'start': 1246.685, 'duration': 1.741}], 'summary': 'Discussion on modeling evolution in software with a focus on genetic algorithm examples and potential bugs.', 'duration': 29.24, 'max_score': 1219.186, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981219186.jpg'}, {'end': 1271.058, 'src': 'heatmap', 'start': 1238.398, 'weight': 0.966, 'content': [{'end': 1243.963, 'text': "So if we go down here to the genetic algorithm examples, and I'm actually just going to click on this one, evolve flow field.", 'start': 1238.398, 'duration': 5.565}, {'end': 1246.224, 'text': 'I think this one has a bug in it, so it actually might crash.', 'start': 1243.983, 'duration': 2.241}, {'end': 1248.426, 'text': "But let's run this for a second.", 'start': 1246.685, 'duration': 1.741}, {'end': 1249.527, 'text': "Oh, I didn't press the button.", 'start': 1248.586, 'duration': 0.941}, {'end': 1250.187, 'text': "I'm just talking.", 'start': 1249.607, 'duration': 0.58}, {'end': 1253.149, 'text': 'Here we are.', 'start': 1252.649, 'duration': 0.5}, {'end': 1256.331, 'text': "And you can see here, oh, there's all these entities.", 'start': 1253.81, 'duration': 2.521}, {'end': 1258.852, 'text': 'They almost look like flies just scattering out in the wind.', 'start': 1256.351, 'duration': 2.501}, {'end': 1261.773, 'text': 'These entities have DNA to them.', 'start': 1259.312, 'duration': 2.461}, {'end': 1267.076, 'text': 'They have some sort of principles encoded into them that is their DNA.', 'start': 1262.334, 'duration': 4.742}, {'end': 1271.058, 'text': 'And how they do, their DNA gets passed on to a next generation.', 'start': 1267.596, 'duration': 3.462}], 'summary': 'Demonstrating genetic algorithm example with entity dna and principles.', 'duration': 32.66, 'max_score': 1238.398, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981238398.jpg'}, {'end': 1316.717, 'src': 'embed', 'start': 1280.106, 'weight': 3, 'content': [{'end': 1285.57, 'text': "So they're learning how to go around the obstacles, they're learning how to find this path through the system, through a process of evolution.", 'start': 1280.106, 'duration': 5.464}, {'end': 1291.395, 'text': "So we want to look at, okay, we learned how to make a complex system, we'll come back and see how they're doing in a second.", 'start': 1285.63, 'duration': 5.765}, {'end': 1295.418, 'text': 'We learned how to make a complex system like a flocking system.', 'start': 1291.696, 'duration': 3.722}, {'end': 1301.543, 'text': 'how could we actually give those systems the elements of those systems, make them into a population and have them evolve?', 'start': 1295.418, 'duration': 6.125}, {'end': 1302.885, 'text': 'Hooray.', 'start': 1302.444, 'duration': 0.441}, {'end': 1310.872, 'text': "And then the very last topic we'll look at, although maybe I don't really like this topic because I don't know if I really understand it.", 'start': 1303.465, 'duration': 7.407}, {'end': 1314.835, 'text': "But I did write some stuff and make some examples, so I guess I'll go through those.", 'start': 1311.412, 'duration': 3.423}, {'end': 1316.717, 'text': "But we're going to look at neural networks.", 'start': 1315.196, 'duration': 1.521}], 'summary': 'Learning to navigate obstacles and evolve complex systems, including neural networks.', 'duration': 36.611, 'max_score': 1280.106, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981280106.jpg'}, {'end': 1373.438, 'src': 'heatmap', 'start': 1339.878, 'weight': 1, 'content': [{'end': 1341.44, 'text': "OK Let's take a look here.", 'start': 1339.878, 'duration': 1.562}, {'end': 1344.122, 'text': "We can see that they've gotten quite further along.", 'start': 1341.5, 'duration': 2.622}, {'end': 1346.705, 'text': "You can see they've actually learned to get around most of the obstacles.", 'start': 1344.142, 'duration': 2.563}, {'end': 1348.407, 'text': "It doesn't look like they've made it to the end yet.", 'start': 1346.745, 'duration': 1.662}, {'end': 1351.03, 'text': 'So this was my introduction.', 'start': 1349.027, 'duration': 2.003}, {'end': 1352.571, 'text': 'I have a feeling.', 'start': 1351.05, 'duration': 1.521}, {'end': 1354.533, 'text': "I'm going to just walk back over here.", 'start': 1352.591, 'duration': 1.942}, {'end': 1355.734, 'text': "That didn't work.", 'start': 1354.553, 'duration': 1.181}, {'end': 1358.837, 'text': 'I have a feeling that I will probably rerecord this video.', 'start': 1356.615, 'duration': 2.222}, {'end': 1360.639, 'text': 'Maybe I should make it into smaller snippets.', 'start': 1358.877, 'duration': 1.762}, {'end': 1366.55, 'text': 'I actually would like to show you example projects of things that people have made with a lot of these topics,', 'start': 1361.52, 'duration': 5.03}, {'end': 1373.438, 'text': 'which I think in a starting video would make sense to kind of get a just see, get your ideas flowing.', 'start': 1366.55, 'duration': 6.888}], 'summary': 'In the video, progress is shown, but not yet at the end. plans for re-recording and showing example projects are discussed.', 'duration': 33.56, 'max_score': 1339.878, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981339878.jpg'}, {'end': 1419.967, 'src': 'embed', 'start': 1391.402, 'weight': 4, 'content': [{'end': 1393.903, 'text': "And there's about one, two, three, four, five, six, seven of them.", 'start': 1391.402, 'duration': 2.501}, {'end': 1398.264, 'text': "They'll be about five minutes each, or most ten minutes each, so somewhere around an hour of content.", 'start': 1393.923, 'duration': 4.341}, {'end': 1403.582, 'text': 'And my goal is to have a place where you can watch them, a place where you can ask questions about them,', 'start': 1398.864, 'duration': 4.718}, {'end': 1405.823, 'text': 'a place where you can interact with the code live on the page.', 'start': 1403.582, 'duration': 2.241}, {'end': 1407.103, 'text': "There's all sorts of possibilities.", 'start': 1405.843, 'duration': 1.26}, {'end': 1410.644, 'text': 'So that is the plan.', 'start': 1407.323, 'duration': 3.321}, {'end': 1415.165, 'text': "I think there's a button now that I go to press and turn this off.", 'start': 1411.444, 'duration': 3.721}, {'end': 1419.967, 'text': 'Right? Goodbye.', 'start': 1417.086, 'duration': 2.881}], 'summary': 'Around 7 videos, 5-10 minutes each, totaling about an hour. plan includes interactive code and q&a.', 'duration': 28.565, 'max_score': 1391.402, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981391402.jpg'}], 'start': 1157.467, 'title': 'Agent interactions and evolutionary algorithms', 'summary': 'Explores autonomous agent interactions including flocking, cellular automata, and fractal patterns, and their link to motion and animation. it also discusses genetic algorithms and neural networks for evolving entities with dna and brains, aiming to achieve specific targets and navigate obstacles, with a plan to create an hour-long class consisting of seven videos of five to ten minutes each.', 'chapters': [{'end': 1238.318, 'start': 1157.467, 'title': 'Exploring autonomous agent interactions', 'summary': 'Delves into exploring various phenomena such as flocking, cellular automata, and fractal patterns, and their link to motion and animation, as well as modeling evolution in software.', 'duration': 80.851, 'highlights': ['Exploring flocking, cellular automata, and fractal patterns and their link to motion and animation.', 'Modeling evolution in software and its tie to motion and animation.', 'Discussing combining steering forces and simple local interactions of autonomous agents.']}, {'end': 1426.029, 'start': 1238.398, 'title': 'Genetic algorithms and neural networks', 'summary': 'Discusses the principles of genetic algorithms and neural networks and demonstrates their application in evolving entities with dna and brains, aiming to achieve specific targets and navigate obstacles, with a plan to create an hour-long class consisting of seven videos of five to ten minutes each.', 'duration': 187.631, 'highlights': ['The chapter discusses the principles of genetic algorithms and neural networks and demonstrates their application in evolving entities with DNA and brains. The entities possess DNA that is passed on to the next generation through a natural selection algorithm, aiming to achieve specific targets and navigate obstacles.', 'The plan to create an hour-long class consisting of seven videos of five to ten minutes each. The goal is to provide a platform for watching the videos, asking questions, and interacting with the code live on the page.', 'The demonstration of evolving entities learning to navigate obstacles and achieve specific targets. The entities have learned to navigate around most obstacles but have not yet reached the end, showcasing the process of evolution in action.']}], 'duration': 268.562, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/6vX8wT1G798/pics/6vX8wT1G7981157467.jpg', 'highlights': ['Discussing combining steering forces and simple local interactions of autonomous agents.', 'Exploring flocking, cellular automata, and fractal patterns and their link to motion and animation.', 'Modeling evolution in software and its tie to motion and animation.', 'The chapter discusses the principles of genetic algorithms and neural networks and demonstrates their application in evolving entities with DNA and brains.', 'The plan to create an hour-long class consisting of seven videos of five to ten minutes each. The goal is to provide a platform for watching the videos, asking questions, and interacting with the code live on the page.', 'The demonstration of evolving entities learning to navigate obstacles and achieve specific targets. The entities have learned to navigate around most obstacles but have not yet reached the end, showcasing the process of evolution in action.']}], 'highlights': ['Dan Schiffman prefers to be called Dan Schiffman.', 'Dan Schiffman acknowledges unfamiliarity with the new setup.', "Dan Schiffman hasn't done this in a while.", 'Teaching a class called The Nature of Code at ITP, focusing on programming simulations of natural systems using processing.', 'Planning to record a series of videos about the topics in the course for students to watch, potentially ranging from 5 to 15 minutes each.', 'Introducing the entire course and demonstrating programming simulations using processing.', 'Processing is an open source programming language and environment for creating examples.', 'The chapter recommends downloading Processing and accessing resources like tutorials and books for free.', 'The chapter suggests visiting itp.nyu.edu and thenatureofcode.com for additional resources.', 'The chapter introduces existing physics libraries Box2D and ToxicLibs, highlighting their applications in dynamic animations and complex simulations.', 'The process of creating motion in Processing involves using a draw loop to continuously update the position of the circle on the screen, demonstrating the fundamental concept of animation.', 'Introduction to vectors and their application in formalizing motion The chapter introduces the concept of vectors and their application in formalizing motion.', 'Understanding forces and modeling particle systems The chapter covers the formalization of motion using vectors, understanding forces and modeling particle systems.', 'Exploring topics related to oscillating motion and trigonometry The chapter delves into various types of motion related to trigonometry, including oscillating motion and angular motion.', "In Processing, one of the initial tasks is to learn how to move a circle across the screen, achieved by continuously increasing the x-coordinate of the circle's position.", 'The illusion of motion is created by using the x equals x plus 1 method in Processing, which is one of the basic concepts learned in an intro Processing class or from related resources.', 'The chapter aims to cover topics such as modeling motion, steering forces, and emergence using examples.', 'Principles of steering behaviors such as seeking, fleeing, arriving, wandering, path following, and obstacle avoidance are introduced as key concepts for modeling forces and behaviors in simulated environments.', 'The first half of nature of code, part one, is dedicated to modeling physics using Box2D as a core set of building blocks.', 'The distinction between inanimate objects and entities with perception is emphasized, highlighting the difference in their responses to forces and their ability to make choices based on desires and goals.', 'The chapter emphasizes the goal of understanding how to calculate steering forces for entities, leading to the development of complexity in the nature of code and simulated environments.', 'References to influential works by Breitenberg and Craig Reynolds are mentioned, providing additional resources for understanding steering behaviors and autonomous character animations.', 'The video duration is highlighted, with a suggestion that the content should be condensed to 5 to 7 minutes for better engagement.', 'Discussing combining steering forces and simple local interactions of autonomous agents.', 'Exploring flocking, cellular automata, and fractal patterns and their link to motion and animation.', 'Modeling evolution in software and its tie to motion and animation.', 'The chapter discusses the principles of genetic algorithms and neural networks and demonstrates their application in evolving entities with DNA and brains.', 'The plan to create an hour-long class consisting of seven videos of five to ten minutes each. The goal is to provide a platform for watching the videos, asking questions, and interacting with the code live on the page.', 'The demonstration of evolving entities learning to navigate obstacles and achieve specific targets. The entities have learned to navigate around most obstacles but have not yet reached the end, showcasing the process of evolution in action.']}