A six-session introduction to the basic concepts of computer programming using Javascript and the p5.js programming environment. Javascript is a flexible and powerful programming language that can run in every web-browser. These features make it a popular tool for developing software of all kinds as well as a convenient and accessible environment for learning how to program.
Week 1: What is Code? Thursday May 10, 6:30-8 pm What is code, and how do we write it? We’ll see what code looks like in various forms, where it’s found on the web, how it goes from being “written” to being “run”, and we’ll write simple programs to run in our web browser using the p5.js web editor.
Topics: using a text-editor, writing/running code, basic program syntax, color and pixels
Week 2: Drawing and Animating with Numbers. Thursday May 17, 6:30 - 8 pm Drawing and animating with numbers. Everything on your computer screen is controlled in the background by relationships between numbers. By modifying and changing these numbers we can change what’s on the screen and make things happen.
Topics: variables and arithmetic, structure of commands and functionsWeek 3: Logic and flow. Thursday May 24, 6:30-8 pm. Programs are, at their core, a list of actions for the computer to take and decisions for the computer to make. Through loops and logic we can have control over these actions and decisions.
Topics: loops, iteration, variables and conditionals (if-then-else statements)Week 4: Functions: putting the pieces together. Thursday May 31, 6:30-8 pm. The most powerful aspect of computer programming is that we get to build our programs out of pieces of code that we, or other people, have already written. This week we’ll learn how to simplify our projects by defining our own commands.
Topics: functions, program compositionWeek 5: Structured data: Lists. Thursday June 7, 6:30-8 pm. Computers are very good at doing the same thing over and over again, so we solve lots of computer programming problems by turning them into repetitive tasks. By organizing our variables into lists of related data we can simplify our programs and automate repetitive tasks.
Topics: lists, arrays, loops, iteration
Week 6: Structured data: Objects. Thursday, June 14, 6:30-8 pm. As we put all of these topics and ideas together our programs get more and more complicated and they become harder for us to read and understand. Computer science offers many different tools and techniques for managing this complexity and confusion, one of which is called “Object Oriented Programming.”
Topics: objects, functions, arguments, and resources for further exploration