DAVID MALAN: Hello world, my name is David Malan, and this is CS50's Introduction to Programming with Scratch, a graphical programming language from MIT's Media Lab via which you can program by dragging and dropping puzzle pieces. Now, while you might be thinking that Scratch is best for someone younger than you, I actually didn't start using Scratch, myself, until graduate school. I was cross-registered, at the time, for a course at MIT taught by Professor Mitchel Resnick, whose team designed Scratch. And ever since, we've been using Scratch in the first week of CS50 itself-- Harvard University's introduction to the intellectual enterprises of computer science and the arts of programming. A course that you can take right after this one. Indeed, this course, taught by CS50's own Brian Yu, prepares you all the more for that first week of CS50. BRIAN YU: Hi, my name is Brian, and I teach Introduction to Programming with Scratch. In this course, you'll learn how to use Scratch to build stories, and animations, and games, and more. And along the way we'll introduce you to programming. Exploring topics like functions, which you can use to make something happen in your project. Events that your project can respond to. Loops that can make something in your project happen multiple times. Or conditions that can allow your project to make a decision about what to do. During the course, I'll show you how you can use these tools and ideas to build some interesting projects. And we'll also give you the opportunity to design and create projects that are exciting to you. This is an Introduction to Programming with Scratch, and this is CS50.