title
0.4: What are some programming languages? - Processing Tutorial

description
This video takes a broad look at programming languages in the context of "Creative Coding". http://processing.org http://libcinder.org/ http://www.openframeworks.cc/ Data flow programming: http://cycling74.com/products/max/ http://puredata.info/ 📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

detail
{'title': '0.4: What are some programming languages? - Processing Tutorial', 'heatmap': [{'end': 532.729, 'start': 453.4, 'weight': 0.818}, {'end': 651.834, 'start': 578.164, 'weight': 0.747}, {'end': 875.264, 'start': 830.53, 'weight': 0.73}, {'end': 950.963, 'start': 917.652, 'weight': 0.745}, {'end': 1143.551, 'start': 1101.084, 'weight': 1}], 'summary': 'Covers the process of choosing a programming language, comparing low-level and high-level languages, discussing client-side versus server-side programming, and introducing processing as a creative coding environment, emphasizing its simplicity and integration with java.', 'chapters': [{'end': 282.083, 'segs': [{'end': 107.454, 'src': 'embed', 'start': 70.61, 'weight': 0, 'content': [{'end': 77.316, 'text': 'Better to be writing code and making something than to be spending all day worrying about trying to find that perfect language.', 'start': 70.61, 'duration': 6.706}, {'end': 81.059, 'text': 'So, in a sense, one answer is pick something, get started.', 'start': 77.416, 'duration': 3.643}, {'end': 84.742, 'text': 'You can learn this language and try this one later and another one later.', 'start': 81.339, 'duration': 3.403}, {'end': 85.983, 'text': "It doesn't really matter.", 'start': 84.982, 'duration': 1.001}, {'end': 88.284, 'text': 'But for us, we have to come to a decision.', 'start': 86.423, 'duration': 1.861}, {'end': 94.187, 'text': "And in many ways, I'm picking a programming language and environment which is one that I'm comfortable with.", 'start': 88.404, 'duration': 5.783}, {'end': 95.288, 'text': "It's one that I work on.", 'start': 94.307, 'duration': 0.981}, {'end': 96.689, 'text': "It's one that I've known for many years.", 'start': 95.328, 'duration': 1.361}, {'end': 99.73, 'text': "It's not perfect for And so that's what you will be learning.", 'start': 96.729, 'duration': 3.001}, {'end': 104.333, 'text': 'And hopefully, you will find other languages and environments in your life.', 'start': 99.75, 'duration': 4.583}, {'end': 105.533, 'text': 'And this will have helped you.', 'start': 104.613, 'duration': 0.92}, {'end': 107.454, 'text': 'to that end.', 'start': 106.934, 'duration': 0.52}], 'summary': 'Choose a familiar programming language to start learning and be open to exploring others later.', 'duration': 36.844, 'max_score': 70.61, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF0870610.jpg'}, {'end': 200.47, 'src': 'embed', 'start': 168.685, 'weight': 3, 'content': [{'end': 173.569, 'text': "But just looking at it, you realize, oh, it's almost My goodness, it's totally overwhelming.", 'start': 168.685, 'duration': 4.884}, {'end': 175.17, 'text': 'Look how many languages there are.', 'start': 173.869, 'duration': 1.301}, {'end': 176.992, 'text': 'We could also kind of go to Wikipedia.', 'start': 175.23, 'duration': 1.762}, {'end': 180.094, 'text': "There's a nice kind of comparison of programming languages page.", 'start': 177.092, 'duration': 3.002}, {'end': 183.357, 'text': 'And you can scroll down and see, like, look at all of these possible languages.', 'start': 180.134, 'duration': 3.223}, {'end': 184.418, 'text': 'There are zillions of them.', 'start': 183.397, 'duration': 1.021}, {'end': 192.345, 'text': "So I think we can kind of make our own little list just to kind of you know you've probably heard this would be the moment where I'd say hey,", 'start': 184.898, 'duration': 7.447}, {'end': 200.47, 'text': "Everyone out there, the three of you watching this video, you know raise your hand and shout out a programming language that you've heard of.", 'start': 193.766, 'duration': 6.704}], 'summary': 'Overwhelming diversity of programming languages, zillions of options discussed.', 'duration': 31.785, 'max_score': 168.685, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08168685.jpg'}, {'end': 282.083, 'src': 'embed', 'start': 252.165, 'weight': 4, 'content': [{'end': 260.668, 'text': "But one of the things that I want to talk about with this kind of list of programming languages and what you might pick and I'm going to say C++,", 'start': 252.165, 'duration': 8.503}, {'end': 272.255, 'text': 'objective C is this idea of low level versus high level.', 'start': 260.668, 'duration': 11.587}, {'end': 275.658, 'text': 'And this is kind of a low level.', 'start': 272.575, 'duration': 3.083}, {'end': 277.259, 'text': 'Low level, high level.', 'start': 275.718, 'duration': 1.541}, {'end': 282.083, 'text': 'This is an important concept that comes up in thinking about programming languages.', 'start': 277.299, 'duration': 4.784}], 'summary': 'Discussion on low level versus high level programming languages in c++ and objective c.', 'duration': 29.918, 'max_score': 252.165, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08252165.jpg'}], 'start': 2.452, 'title': 'Programming language selection and comparison', 'summary': 'Discusses the process of choosing a programming language, emphasizing the lack of a perfect language and encouraging beginners to start coding. it also explores the overwhelming number of programming languages and introduces low-level versus high-level programming languages.', 'chapters': [{'end': 168.444, 'start': 2.452, 'title': 'Choosing a programming language', 'summary': 'Discusses the process of choosing a programming language, highlighting the lack of a perfect language and the recommendation to pick a language that feels comfortable, encouraging beginners to start coding rather than worrying about finding the perfect language.', 'duration': 165.992, 'highlights': ['The chapter discusses the lack of a perfect programming language and environment, emphasizing the importance of choosing a language that feels comfortable and encourages beginners to start coding rather than obsessing over finding the perfect language. Lack of perfect programming language, emphasis on choosing a comfortable language, encouragement to start coding, avoiding obsession over finding the perfect language.', 'The recommendation is to pick a language that feels comfortable and looks good, emphasizing the importance of starting to write code and create something rather than spending time searching for the perfect language. Emphasis on picking a comfortable language, starting to write code, and creating something rather than searching for the perfect language.', 'The chapter highlights the importance of picking a programming language and environment that one feels comfortable with and is familiar with, acknowledging that it may not be perfect but encouraging the exploration of other languages and environments in the future. Importance of picking a comfortable language, encouragement to explore other languages and environments in the future.']}, {'end': 282.083, 'start': 168.685, 'title': 'Comparing programming languages', 'summary': 'Discusses the overwhelming number of programming languages, encourages creating a list of known languages, and introduces the concept of low-level versus high-level programming languages.', 'duration': 113.398, 'highlights': ['The overwhelming number of programming languages is highlighted, with the speaker noting the vast variety and suggesting creating a list of known languages (e.g., Pascal, C, Java, assembly language, action script, lingo).', 'The concept of low-level versus high-level programming languages is introduced as an important consideration in evaluating programming languages (e.g., C++, objective C).']}], 'duration': 279.631, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF082452.jpg', 'highlights': ['Emphasis on picking a comfortable language, starting to write code, and creating something rather than searching for the perfect language.', 'Importance of picking a comfortable language, encouragement to explore other languages and environments in the future.', 'Lack of perfect programming language, emphasis on choosing a comfortable language, encouragement to start coding, avoiding obsession over finding the perfect language.', 'The overwhelming number of programming languages is highlighted, with the speaker noting the vast variety and suggesting creating a list of known languages (e.g., Pascal, C, Java, assembly language, action script, lingo).', 'The concept of low-level versus high-level programming languages is introduced as an important consideration in evaluating programming languages (e.g., C++, objective C).']}, {'end': 578.164, 'segs': [{'end': 400.769, 'src': 'embed', 'start': 375.916, 'weight': 1, 'content': [{'end': 385.844, 'text': 'C. when C came around, C was often referred to in this kind of like oxymoron type way is a high-level, low-level language.', 'start': 375.916, 'duration': 9.928}, {'end': 392.746, 'text': "meaning it's high-level in that you're writing code that starts to have higher-level, more English-like constructs,", 'start': 385.844, 'duration': 6.902}, {'end': 400.769, 'text': "but it still allows really low-level access to the computer, direct access to the computer's memory, lots of stuff that you can do,", 'start': 392.746, 'duration': 8.023}], 'summary': "C is a high-level, low-level language allowing direct access to computer's memory.", 'duration': 24.853, 'max_score': 375.916, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08375916.jpg'}, {'end': 532.729, 'src': 'heatmap', 'start': 421.598, 'weight': 0, 'content': [{'end': 424.88, 'text': 'These are all generally high-level programming languages.', 'start': 421.598, 'duration': 3.282}, {'end': 428.742, 'text': "Now, there's another kind of interesting little component that I think that I'll mention.", 'start': 424.94, 'duration': 3.802}, {'end': 433.945, 'text': "which is this idea of a language that's compiled versus interpreted.", 'start': 429.542, 'duration': 4.403}, {'end': 442.432, 'text': "Now, in many ways, I almost want to stop myself and not talk about this, because these are some details that, when we're first learning to program,", 'start': 433.965, 'duration': 8.467}, {'end': 443.353, 'text': "we're going to put aside.", 'start': 442.432, 'duration': 0.921}, {'end': 445.734, 'text': 'We just want to write the code, run it, make stuff happen.', 'start': 443.393, 'duration': 2.341}, {'end': 449.878, 'text': "But it's something to think about as you start to get into this larger world of programming languages.", 'start': 445.975, 'duration': 3.903}, {'end': 452.46, 'text': "So let's say you're writing a program in C.", 'start': 450.278, 'duration': 2.182}, {'end': 458.344, 'text': 'You write out the text-based instructions in your high-level language.', 'start': 453.4, 'duration': 4.944}, {'end': 468.091, 'text': 'That program gets compiled down into the sort of lowest level program, which is like one level below assembly language, which is machine language,', 'start': 458.904, 'duration': 9.187}, {'end': 468.992, 'text': 'the zeros and ones.', 'start': 468.091, 'duration': 0.901}, {'end': 470.393, 'text': 'Then it can be run.', 'start': 469.512, 'duration': 0.881}, {'end': 472.345, 'text': 'This is great.', 'start': 471.624, 'duration': 0.721}, {'end': 475.328, 'text': 'It makes it run very, very, very fast.', 'start': 472.905, 'duration': 2.423}, {'end': 480.593, 'text': "But it's different than some languages that we have now that are interpreted.", 'start': 475.668, 'duration': 4.925}, {'end': 482.495, 'text': 'JavaScript being one of those.', 'start': 481.073, 'duration': 1.422}, {'end': 492.004, 'text': "A language that's interpreted, it's actually, while the program is running, it's reading your code line by line and executing the program.", 'start': 483.095, 'duration': 8.909}, {'end': 495.526, 'text': 'This allows for things like live coding right?', 'start': 492.464, 'duration': 3.062}, {'end': 503.03, 'text': "If a program is actually reading the code as it's running, you could change the code as it's running and the program would change in real time,", 'start': 495.846, 'duration': 7.184}, {'end': 508.253, 'text': "which cannot happen in a compiled language because you've got to write your code, compile then run it.", 'start': 503.03, 'duration': 5.223}, {'end': 516.738, 'text': "So the reason why I mention this is we're going to use processing, which, am I recording? Yes.", 'start': 508.534, 'duration': 8.204}, {'end': 523.023, 'text': "We're going to use processing and our code is actually going to be compiled before it's run,", 'start': 518.219, 'duration': 4.804}, {'end': 526.025, 'text': "which is something we'll see as we start to first write our programs.", 'start': 523.023, 'duration': 3.002}, {'end': 532.729, 'text': 'Another topic that I want to bring up is this idea of client-side versus server-side programming.', 'start': 526.545, 'duration': 6.184}], 'summary': 'Overview of compiled vs interpreted languages and client-side vs server-side programming.', 'duration': 36.746, 'max_score': 421.598, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08421598.jpg'}, {'end': 553.164, 'src': 'embed', 'start': 526.545, 'weight': 4, 'content': [{'end': 532.729, 'text': 'Another topic that I want to bring up is this idea of client-side versus server-side programming.', 'start': 526.545, 'duration': 6.184}, {'end': 539.353, 'text': 'This is an important question because you might have project ideas in your head, things that you want to make.', 'start': 532.769, 'duration': 6.584}, {'end': 547.359, 'text': 'And one thing might be, I have this idea for this kind of interactive exhibit about dinosaurs for a science museum.', 'start': 539.714, 'duration': 7.645}, {'end': 553.164, 'text': "And in that sense, you might be building a client-side application, a desktop application that's going to run.", 'start': 547.939, 'duration': 5.225}], 'summary': 'Consider client-side vs server-side programming when building interactive museum exhibits.', 'duration': 26.619, 'max_score': 526.545, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08526545.jpg'}], 'start': 282.804, 'title': 'Programming languages and concepts', 'summary': 'Explains the progression from low-level to high-level code, highlighting the characteristics of c, and discusses high-level programming languages like ruby, javascript, and python, and the differences between compiled and interpreted languages, as well as client-side versus server-side programming.', 'chapters': [{'end': 400.769, 'start': 282.804, 'title': 'Programming levels and languages', 'summary': 'Explains the progression from low-level code written as zeros and ones to high-level code resembling english, highlighting the process of translating high-level code into machine language and the characteristics of c as a high-level, low-level language.', 'duration': 117.965, 'highlights': ['The chapter discusses the progression from low-level code written as zeros and ones to high-level code, illustrating the process of translating high-level code into machine language.', "The chapter explains the characteristics of C as a high-level, low-level language, allowing for higher-level constructs while still providing direct access to the computer's memory."]}, {'end': 578.164, 'start': 400.769, 'title': 'Programming languages and concepts', 'summary': 'Discusses high-level programming languages like ruby, javascript, and python, and delves into the differences between compiled and interpreted languages, as well as client-side versus server-side programming.', 'duration': 177.395, 'highlights': ['High-level programming languages like Ruby, JavaScript, and Python are discussed. The chapter mentions high-level programming languages like Ruby, JavaScript, and Python.', 'Differences between compiled and interpreted languages are explained. The chapter delves into the differences between compiled and interpreted languages, highlighting the example of C as a compiled language and JavaScript as an interpreted language.', 'Client-side versus server-side programming is introduced. The concept of client-side versus server-side programming is discussed, with examples of interactive exhibit and website applications.']}], 'duration': 295.36, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08282804.jpg', 'highlights': ['The chapter explains the progression from low-level code to high-level code, illustrating the translation process.', 'C is discussed as a high-level, low-level language, providing higher-level constructs and direct memory access.', 'High-level programming languages like Ruby, JavaScript, and Python are mentioned.', 'Differences between compiled and interpreted languages are explained, using C and JavaScript as examples.', 'Client-side versus server-side programming is introduced, with examples of interactive exhibits and website applications.']}, {'end': 933.578, 'segs': [{'end': 659.056, 'src': 'heatmap', 'start': 578.164, 'weight': 0, 'content': [{'end': 596.397, 'text': 'and one thing that is we can see here I mean this idea of anytime you go to a web page if this is my web browser and you type in you know google.com and you search for something you are sending a request to a server in the cloud,', 'start': 578.164, 'duration': 18.233}, {'end': 597.658, 'text': "which it's not really a cloud.", 'start': 596.397, 'duration': 1.261}, {'end': 600.24, 'text': "it's an underground bunker, basically with some servers.", 'start': 597.658, 'duration': 2.582}, {'end': 607.887, 'text': 'but you can think of it as a nice cloud floating in the sky, where a program a server-side program,', 'start': 600.24, 'duration': 7.647}, {'end': 616.415, 'text': 'a server-side program executes and returns information back to you, so you can see the result in the browser.', 'start': 607.887, 'duration': 8.528}, {'end': 624.7, 'text': "This is different than perhaps there being an animation in the browser that's running that you click on.", 'start': 618.134, 'duration': 6.566}, {'end': 627.903, 'text': 'And when you click on it, it makes little pretty fireworks.', 'start': 625.4, 'duration': 2.503}, {'end': 637.091, 'text': "That might be something written in JavaScript that is executing on the client side this animation that's running locally on your computer and reading your mouse clicks.", 'start': 627.963, 'duration': 9.128}, {'end': 642.592, 'text': 'The server-side programming is this thing that happens when you ask a request, the program runs, it sends you data back.', 'start': 637.651, 'duration': 4.941}, {'end': 644.533, 'text': "Perhaps that's written in Python.", 'start': 642.852, 'duration': 1.681}, {'end': 651.834, 'text': 'Now, there are lots of different languages and some languages you can write, you know, JavaScript, you can write client-side programs.', 'start': 644.853, 'duration': 6.981}, {'end': 653.775, 'text': 'JavaScript, you can write server-side programs.', 'start': 651.894, 'duration': 1.881}, {'end': 654.915, 'text': "It's something called node.js.", 'start': 653.835, 'duration': 1.08}, {'end': 659.056, 'text': "So it's not language-specific, but conceptually, there's a different thing going on here.", 'start': 654.955, 'duration': 4.101}], 'summary': 'Web requests to server-side programs return data, while client-side programs run locally and can be written in different languages like javascript and python.', 'duration': 58.816, 'max_score': 578.164, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08578164.jpg'}, {'end': 719.524, 'src': 'embed', 'start': 692.588, 'weight': 3, 'content': [{'end': 696.269, 'text': 'And this is something you want familiarity with both client-side and server-side.', 'start': 692.588, 'duration': 3.681}, {'end': 705.075, 'text': "This Video series that I'm doing, while we will refer to and demonstrate some examples that involve server-side programming later on,", 'start': 696.79, 'duration': 8.285}, {'end': 708.317, 'text': 'is really focused on client-side programs.', 'start': 705.075, 'duration': 3.242}, {'end': 715.462, 'text': 'We are going to be writing applications that open a window on your computer screen, draw pixels, draw text,', 'start': 708.557, 'duration': 6.905}, {'end': 719.524, 'text': 'draw things to that window and that you can interact with on your laptop.', 'start': 715.462, 'duration': 4.062}], 'summary': 'Video series focuses on client-side programming for interactive applications.', 'duration': 26.936, 'max_score': 692.588, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08692588.jpg'}, {'end': 818.343, 'src': 'embed', 'start': 767.727, 'weight': 4, 'content': [{'end': 777.173, 'text': 'Processing was developed, was created in 2001 by Casey Reese and Ben Fry while they were students at the MIT Media Lab under John Maida.', 'start': 767.727, 'duration': 9.446}, {'end': 784.017, 'text': "So what processing really started as was, hey, we need something to make these projects we're making.", 'start': 777.553, 'duration': 6.464}, {'end': 786.98, 'text': "let's make something.", 'start': 785.819, 'duration': 1.161}, {'end': 788.141, 'text': 'and so processing.', 'start': 786.98, 'duration': 1.161}, {'end': 791.684, 'text': 'is this really nice, simple environment?', 'start': 788.141, 'duration': 3.543}, {'end': 794.105, 'text': "you can download it, it's kind of all-in-one.", 'start': 791.684, 'duration': 2.421}, {'end': 797.988, 'text': 'you can open it, you can type some code, you can run it, it works.', 'start': 794.105, 'duration': 3.883}, {'end': 803.373, 'text': "so I'm going to get to that in a second more about, kind of like, why it is we're using processing.", 'start': 797.988, 'duration': 5.385}, {'end': 807.476, 'text': "but let's just think you probably heard this term now, creative coding.", 'start': 803.373, 'duration': 4.103}, {'end': 818.343, 'text': 'so we the term creative coding started, I think, as a kind of catch-all phrase for people making creative applications with code, trying to make art,', 'start': 807.476, 'duration': 10.867}], 'summary': 'Processing, created in 2001, provides a simple environment for creative coding and was developed by casey reese and ben fry at mit media lab.', 'duration': 50.616, 'max_score': 767.727, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08767727.jpg'}, {'end': 875.264, 'src': 'heatmap', 'start': 830.53, 'weight': 0.73, 'content': [{'end': 836.453, 'text': 'Thorpe was you could think of it as creative writing, right? The process of writing for.', 'start': 830.53, 'duration': 5.923}, {'end': 838.334, 'text': 'The process of writing code for creative applications.', 'start': 836.453, 'duration': 1.881}, {'end': 842.958, 'text': "There's also now the term podcasting, poetic computation, which I think is interesting there.", 'start': 838.354, 'duration': 4.604}, {'end': 844.799, 'text': 'But anyway, there are lots of environments.', 'start': 842.998, 'duration': 1.801}, {'end': 846.901, 'text': "And I'll draw a line here.", 'start': 845.74, 'duration': 1.161}, {'end': 849.543, 'text': 'You might have heard of something called open frameworks.', 'start': 847.481, 'duration': 2.062}, {'end': 853.286, 'text': 'You might have heard of something called Cinder.', 'start': 851.424, 'duration': 1.862}, {'end': 856.368, 'text': 'These are creative coding environments.', 'start': 854.026, 'duration': 2.342}, {'end': 861.352, 'text': 'These are libraries, frameworks for writing code.', 'start': 857.509, 'duration': 3.843}, {'end': 863.594, 'text': 'And your code, though, is really in C++.', 'start': 861.712, 'duration': 1.882}, {'end': 871.602, 'text': 'C++, even with all of its advantages in terms of having low-level access to the machine,', 'start': 865.14, 'duration': 6.462}, {'end': 875.264, 'text': 'is a very hard language to get started in right from the beginning.', 'start': 871.602, 'duration': 3.662}], 'summary': 'Creative coding involves writing code for creative applications in environments like open frameworks and cinder, using c++ which can be challenging to start with.', 'duration': 44.734, 'max_score': 830.53, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08830530.jpg'}, {'end': 871.602, 'src': 'embed', 'start': 838.354, 'weight': 6, 'content': [{'end': 842.958, 'text': "There's also now the term podcasting, poetic computation, which I think is interesting there.", 'start': 838.354, 'duration': 4.604}, {'end': 844.799, 'text': 'But anyway, there are lots of environments.', 'start': 842.998, 'duration': 1.801}, {'end': 846.901, 'text': "And I'll draw a line here.", 'start': 845.74, 'duration': 1.161}, {'end': 849.543, 'text': 'You might have heard of something called open frameworks.', 'start': 847.481, 'duration': 2.062}, {'end': 853.286, 'text': 'You might have heard of something called Cinder.', 'start': 851.424, 'duration': 1.862}, {'end': 856.368, 'text': 'These are creative coding environments.', 'start': 854.026, 'duration': 2.342}, {'end': 861.352, 'text': 'These are libraries, frameworks for writing code.', 'start': 857.509, 'duration': 3.843}, {'end': 863.594, 'text': 'And your code, though, is really in C++.', 'start': 861.712, 'duration': 1.882}, {'end': 871.602, 'text': 'C++, even with all of its advantages in terms of having low-level access to the machine,', 'start': 865.14, 'duration': 6.462}], 'summary': 'Podcasting, poetic computation, open frameworks, cinder, and creative coding environments are discussed.', 'duration': 33.248, 'max_score': 838.354, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08838354.jpg'}, {'end': 933.578, 'src': 'embed', 'start': 908.789, 'weight': 7, 'content': [{'end': 915.031, 'text': 'The other thing you might have heard of, which I think is important to mention, is something called Max MSP Jitter.', 'start': 908.789, 'duration': 6.242}, {'end': 915.792, 'text': "I don't know.", 'start': 915.051, 'duration': 0.741}, {'end': 917.632, 'text': "I don't like where I wrote this here.", 'start': 916.052, 'duration': 1.58}, {'end': 921.054, 'text': "I'm going to put this over here somewhere.", 'start': 917.652, 'duration': 3.402}, {'end': 924.595, 'text': 'Max MSP Jitter.', 'start': 922.354, 'duration': 2.241}, {'end': 927.877, 'text': "And there's also something called PD, or Pure Data.", 'start': 925.155, 'duration': 2.722}, {'end': 931.238, 'text': 'These are known as data flow jitters.', 'start': 928.457, 'duration': 2.781}, {'end': 933.578, 'text': 'programming environments.', 'start': 932.598, 'duration': 0.98}], 'summary': 'Max msp jitter and pd, known as data flow programming environments.', 'duration': 24.789, 'max_score': 908.789, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08908789.jpg'}], 'start': 578.164, 'title': 'Client-side vs server-side programming and introduction to processing', 'summary': 'Covers the distinction between client-side and server-side programming, emphasizing the role of requesting data from a server and executing programs on client and server side, with mentions of javascript and python. it also introduces processing, a programming language for creative coding, as a simpler alternative to c++ environments.', 'chapters': [{'end': 659.056, 'start': 578.164, 'title': 'Client-side vs server-side programming', 'summary': "Explains the difference between client-side and server-side programming, emphasizing the concept of requesting data from a server in the 'cloud' and the execution of programs on the client and server side, with mentions of javascript and python.", 'duration': 80.892, 'highlights': ["The concept of sending a request to a 'server in the cloud' and the execution of server-side programs is explained, illustrating the process of retrieving and displaying information in the browser.", 'The distinction between client-side and server-side programming is highlighted, with a focus on the execution of animations and programs on the client side, potentially using JavaScript, and the server-side program execution when a request is made.', 'The versatility of programming languages such as JavaScript for both client-side and server-side programs, including the mention of node.js as an example, is mentioned, emphasizing the language-independent nature of the concept.']}, {'end': 738.878, 'start': 659.416, 'title': 'Client-side vs server-side programming', 'summary': 'Discusses the difference between client-side and server-side programming, emphasizing the focus on client-side programming in the video series, while also highlighting the importance of familiarity with both aspects.', 'duration': 79.462, 'highlights': ['The chapter emphasizes the importance of familiarity with both client-side and server-side programming when learning programming languages and creating applications.', 'The video series is primarily focused on client-side programs, involving writing applications that open a window on the computer screen, draw pixels, draw text, and interact with the laptop.', 'The program running on the laptop, drawing pixels to the screen, is an example of a client-side program, while the program running on a server and sending information back is an instance of a server-side program.']}, {'end': 933.578, 'start': 738.878, 'title': 'Introduction to processing and creative coding', 'summary': 'Introduces the programming language processing, created in 2001 by casey reese and ben fry at mit media lab, as a simpler alternative for creative coding compared to c++ environments like open frameworks and cinder.', 'duration': 194.7, 'highlights': ['Processing was developed in 2001 by Casey Reese and Ben Fry at MIT Media Lab as a simpler alternative for creative coding compared to C++ environments like open frameworks and Cinder.', 'Creative coding involves making creative applications with code for art, installations, and unconventional ideas, often using languages like JavaScript and Python.', 'Open frameworks and Cinder are creative coding environments and libraries for writing code in C++, which can be complex for beginners due to its low-level nature and requirements like memory management and using pointers.', 'Other related programming environments include Max MSP Jitter and PD (Pure Data) as data flow programming environments.', 'Max MSP Jitter and PD (Pure Data) are known as data flow programming environments, offering alternative options for creative coding.']}], 'duration': 355.414, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08578164.jpg', 'highlights': ["The concept of sending a request to a 'server in the cloud' and the execution of server-side programs is explained, illustrating the process of retrieving and displaying information in the browser.", 'The distinction between client-side and server-side programming is highlighted, with a focus on the execution of animations and programs on the client side, potentially using JavaScript, and the server-side program execution when a request is made.', 'The versatility of programming languages such as JavaScript for both client-side and server-side programs, including the mention of node.js as an example, is mentioned, emphasizing the language-independent nature of the concept.', 'The chapter emphasizes the importance of familiarity with both client-side and server-side programming when learning programming languages and creating applications.', 'Processing was developed in 2001 by Casey Reese and Ben Fry at MIT Media Lab as a simpler alternative for creative coding compared to C++ environments like open frameworks and Cinder.', 'Creative coding involves making creative applications with code for art, installations, and unconventional ideas, often using languages like JavaScript and Python.', 'Open frameworks and Cinder are creative coding environments and libraries for writing code in C++, which can be complex for beginners due to its low-level nature and requirements like memory management and using pointers.', 'Other related programming environments include Max MSP Jitter and PD (Pure Data) as data flow programming environments.', 'Max MSP Jitter and PD (Pure Data) are known as data flow programming environments, offering alternative options for creative coding.']}, {'end': 1060.88, 'segs': [{'end': 960.405, 'src': 'embed', 'start': 933.979, 'weight': 0, 'content': [{'end': 939.36, 'text': "And the interesting thing about data flow programming environments is you actually aren't writing your code as text.", 'start': 933.979, 'duration': 5.381}, {'end': 943.961, 'text': "You're essentially designing a flow chart for how your program should run.", 'start': 939.86, 'duration': 4.101}, {'end': 950.963, 'text': "You're putting a box on the screen and then giving that box some inputs and then connecting some data to those inputs,", 'start': 944.361, 'duration': 6.602}, {'end': 956.044, 'text': 'and that box might have an output which goes to another box and it looks like an interesting little alien there.', 'start': 950.963, 'duration': 5.081}, {'end': 960.405, 'text': 'So this is actually really fantastic and for many people they find.', 'start': 956.364, 'duration': 4.041}], 'summary': 'Data flow programming uses visual flow charts instead of text-based code, simplifying program design and execution.', 'duration': 26.426, 'max_score': 933.979, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08933979.jpg'}, {'end': 1012.256, 'src': 'embed', 'start': 981.22, 'weight': 1, 'content': [{'end': 984.803, 'text': 'so this idea of writing an audio application with the data flow programming environment is,', 'start': 981.22, 'duration': 3.583}, {'end': 988.985, 'text': 'And you can certainly do graphics applications and many other things.', 'start': 986.184, 'duration': 2.801}, {'end': 992.186, 'text': 'I would encourage you to look at a Maximus P and PD.', 'start': 988.985, 'duration': 3.201}, {'end': 997.969, 'text': 'so there is this huge world of stuff And you could spend your life learning every programming language.', 'start': 992.186, 'duration': 5.783}, {'end': 1002.571, 'text': 'you could also spend your life worrying about, oh my god, Which one should I use.', 'start': 997.969, 'duration': 4.602}, {'end': 1012.256, 'text': "so I'm gonna say to you right now stop worrying if you feel like, If you don't like the way this video series is going,", 'start': 1002.571, 'duration': 9.685}], 'summary': 'Encouragement to explore audio applications in data flow programming environment, with a focus on not worrying about learning every programming language.', 'duration': 31.036, 'max_score': 981.22, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08981220.jpg'}, {'end': 1050.311, 'src': 'embed', 'start': 1025.127, 'weight': 2, 'content': [{'end': 1030.852, 'text': 'one of the core reasons why processing is going to work well here for learning to program.', 'start': 1025.127, 'duration': 5.725}, {'end': 1032.273, 'text': 'So let me walk over here.', 'start': 1031.353, 'duration': 0.92}, {'end': 1035.477, 'text': "And I'm going to switch over to the desktop.", 'start': 1032.993, 'duration': 2.484}, {'end': 1037.598, 'text': 'So Processing is just an application.', 'start': 1035.737, 'duration': 1.861}, {'end': 1039.119, 'text': "I've downloaded it.", 'start': 1038.339, 'duration': 0.78}, {'end': 1040.922, 'text': "It's already sitting here on the machine.", 'start': 1039.361, 'duration': 1.561}, {'end': 1045.425, 'text': 'Where do you download it? I guess I might as well show you this right now.', 'start': 1041.823, 'duration': 3.602}, {'end': 1050.311, 'text': 'If you go to processing.org, you can actually click here to download Processing.', 'start': 1045.445, 'duration': 4.866}], 'summary': 'Processing is an application for learning to program, available for download at processing.org.', 'duration': 25.184, 'max_score': 1025.127, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF081025127.jpg'}], 'start': 933.979, 'title': 'Data flow programming environments', 'summary': 'Discusses the benefits of data flow programming environments, their applicability to audio and graphics applications, and introduces the use of processing as a suitable tool for learning to program.', 'chapters': [{'end': 1060.88, 'start': 933.979, 'title': 'Data flow programming environments', 'summary': 'Discusses the benefits of data flow programming environments, their applicability to audio and graphics applications, and introduces the use of processing as a suitable tool for learning to program.', 'duration': 126.901, 'highlights': ['Data flow programming environments allow designing a flow chart for program execution, making it more intuitive and easier for many people. Data flow programming environments enable the creation of a flow chart for program execution, which is found to be more intuitive and easier for many individuals.', 'Audio applications particularly benefit from data flow programming environments due to their resemblance to physical audio systems with inputs, outputs, and connections. Data flow programming environments are well-suited for audio applications as they mirror the structure of physical audio systems with inputs, outputs, and connections.', 'Processing is introduced as a suitable tool for learning to program due to its accessibility and availability as a free application through processing.org. Processing is recommended for learning to program due to its accessibility as a free application available at processing.org.']}], 'duration': 126.901, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF08933979.jpg', 'highlights': ['Data flow programming environments enable intuitive program execution design.', 'Data flow programming environments are well-suited for audio applications.', 'Processing is recommended for learning to program due to its accessibility.']}, {'end': 1226.088, 'segs': [{'end': 1143.551, 'src': 'heatmap', 'start': 1101.084, 'weight': 1, 'content': [{'end': 1108.005, 'text': 'And all of this stuff is available on something called GitHub, which is a website essentially for sharing open source projects.', 'start': 1101.084, 'duration': 6.921}, {'end': 1108.885, 'text': 'But I digress.', 'start': 1108.105, 'duration': 0.78}, {'end': 1111.686, 'text': 'This is where you can get processing and download it.', 'start': 1109.366, 'duration': 2.32}, {'end': 1115.267, 'text': 'Once you have it on your machine, you can run the application.', 'start': 1112.026, 'duration': 3.241}, {'end': 1116.487, 'text': 'And you can see here.', 'start': 1115.607, 'duration': 0.88}, {'end': 1120.51, 'text': "When you run it, you're going to get this window like this.", 'start': 1118.107, 'duration': 2.403}, {'end': 1125.756, 'text': "And if I zoom in all the way here, we can see there's this nice little button called Run.", 'start': 1121.03, 'duration': 4.726}, {'end': 1132.103, 'text': 'And if I were to actually just run, press Run right there, we get this little window.', 'start': 1126.136, 'duration': 5.967}, {'end': 1136.487, 'text': "And look, here it is, our very first computer program we've ever written.", 'start': 1132.143, 'duration': 4.344}, {'end': 1137.728, 'text': 'There it is.', 'start': 1137.388, 'duration': 0.34}, {'end': 1138.349, 'text': "It's running.", 'start': 1137.788, 'duration': 0.561}, {'end': 1139.529, 'text': 'It opened this window.', 'start': 1138.809, 'duration': 0.72}, {'end': 1140.33, 'text': 'And look at the code.', 'start': 1139.549, 'duration': 0.781}, {'end': 1140.87, 'text': "It's amazing.", 'start': 1140.37, 'duration': 0.5}, {'end': 1142.831, 'text': "It's like the emperor's new code or whatever.", 'start': 1140.91, 'duration': 1.921}, {'end': 1143.551, 'text': "There's nothing there.", 'start': 1142.851, 'duration': 0.7}], 'summary': 'Introduction to github for sharing open source projects and running a computer program.', 'duration': 42.467, 'max_score': 1101.084, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF081101084.jpg'}, {'end': 1226.088, 'src': 'embed', 'start': 1170.408, 'weight': 0, 'content': [{'end': 1179.239, 'text': 'we are able to just Write our code really simply in this interface, run it and we get our window and everything just kind of works.', 'start': 1170.408, 'duration': 8.831}, {'end': 1181.902, 'text': 'really we can kind of get up and running with that really quickly.', 'start': 1179.239, 'duration': 2.663}, {'end': 1188.038, 'text': "Okay, so there's so much more to say about processing and why we're using it, I guess.", 'start': 1183.777, 'duration': 4.261}, {'end': 1195.3, 'text': 'But I think that this video has gone on for quite a bit of time.', 'start': 1191.779, 'duration': 3.521}, {'end': 1196.821, 'text': "We've kind of rambled through a lot of things.", 'start': 1195.32, 'duration': 1.501}, {'end': 1204.823, 'text': "So we're going to get to a bit more about processing, the reference, how it is that you're really learning Java while you're writing processing.", 'start': 1196.841, 'duration': 7.982}, {'end': 1209.384, 'text': "I think we'll get to that as we start learning it in some of the future videos.", 'start': 1205.003, 'duration': 4.381}, {'end': 1212.031, 'text': 'Okay, the next video.', 'start': 1210.549, 'duration': 1.482}, {'end': 1220.321, 'text': "I think I'm actually going to continue this thread by showing you a kind of a range of projects and things that are made with processing and computational media.", 'start': 1212.031, 'duration': 8.29}, {'end': 1226.088, 'text': 'that might help you start to think about the kinds of projects you might make while following along with these videos.', 'start': 1220.321, 'duration': 5.767}], 'summary': 'Processing simplifies coding, enabling quick project setup and learning java.', 'duration': 55.68, 'max_score': 1170.408, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF081170408.jpg'}], 'start': 1060.9, 'title': 'Introduction to processing', 'summary': 'Introduces the open-source creative coding environment processing, emphasizing its simplicity for code writing and running, and its integration with java for computational media projects, paving the way for future explorations of projects made with processing.', 'chapters': [{'end': 1226.088, 'start': 1060.9, 'title': 'Introduction to processing', 'summary': 'Introduces the open-source creative coding environment processing, highlighting its simplicity for writing and running code, and its integration with java for computational media projects, paving the way for future exploration of projects made with processing.', 'duration': 165.188, 'highlights': ['The chapter introduces the open-source creative coding environment Processing, emphasizing its simplicity for writing and running code, enabling quick setup and execution of projects. (quantifiable data: none)', 'Processing is integrated with Java, allowing users to learn Java while writing code in Processing and facilitating the creation of computational media projects. (quantifiable data: none)', 'The chapter hints at future videos delving into a range of projects and computational media made with Processing, providing inspiration for potential projects. (quantifiable data: none)']}], 'duration': 165.188, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/ktacm_VaF08/pics/ktacm_VaF081060900.jpg', 'highlights': ['The chapter introduces the open-source creative coding environment Processing, emphasizing its simplicity for writing and running code, enabling quick setup and execution of projects.', 'Processing is integrated with Java, allowing users to learn Java while writing code in Processing and facilitating the creation of computational media projects.', 'The chapter hints at future videos delving into a range of projects and computational media made with Processing, providing inspiration for potential projects.']}], 'highlights': ['The overwhelming number of programming languages is highlighted, with the speaker noting the vast variety and suggesting creating a list of known languages (e.g., Pascal, C, Java, assembly language, action script, lingo).', 'The concept of low-level versus high-level programming languages is introduced as an important consideration in evaluating programming languages (e.g., C++, objective C).', 'The chapter explains the progression from low-level code to high-level code, illustrating the translation process.', "The concept of sending a request to a 'server in the cloud' and the execution of server-side programs is explained, illustrating the process of retrieving and displaying information in the browser.", 'Processing was developed in 2001 by Casey Reese and Ben Fry at MIT Media Lab as a simpler alternative for creative coding compared to C++ environments like open frameworks and Cinder.', 'Creative coding involves making creative applications with code for art, installations, and unconventional ideas, often using languages like JavaScript and Python.', 'Data flow programming environments enable intuitive program execution design.', 'Processing is recommended for learning to program due to its accessibility.', 'The chapter introduces the open-source creative coding environment Processing, emphasizing its simplicity for writing and running code, enabling quick setup and execution of projects.', 'Processing is integrated with Java, allowing users to learn Java while writing code in Processing and facilitating the creation of computational media projects.']}