Athenian Summer 2020 Computer Programming Sampler
Open This Document
Short link to this page: bit.ly/db-tas-2
Class Description
Create cool programs with a variety of projects: 3D graphics and animation, sound and music, speech synthesis and recognition, simple text adventure games, and simulations. Professional programmer Dave Briccetti will guide you through programming in Python, and in JavaScript with the p5.js library, and in creating electronic music using Sonic Pi and the Ruby programming language. No programming experience is required. If you do have experience you’ll still find plenty to challenge you.
See a detailed log from this class in 2019.
Course Materials
We will pull lessons from the following, depending on your interests:
- Animated Graphics Programming with JavaScript and p5.js
- Sound, Music and Speech Programming with JavaScript
- Introduction to Python
- Python Turtle Graphics
- Sonic Pi
Provide Some Information about Yourself
Please complete this form.
Class Log
June 22
JavaScript and p5.js
We started with JavaScript and p5.js, learning about the canvas and the background color.
We used the line
function to draw line segments, and then used the mouse position to
place one end of the line segments, creating an interactive artwork. We worked through Challenge 1 on the course web page. One student finished Challenge 2.
June 23
For advanced students who finish exercises early: Play with and modify this adventure game.
p5.js
We reviewed the solution to the multiple lines program, and started on Challenge 2. Students might finish Challenge 2 for homework, and may review the solution video. We began work on a star field program, practicing with the random function.
June 24
p5.js
We reviewed the resources in the p5.js course. We created a random star field program with different colors, and then did Challenge 3. We began working in 3D, making a sphere and a cube, and learned how to rotate it on any of the three axes. We started on a rising elevator program.
June 25
p5.js
We made the elevator car rise, using a variable and decrementing it in the draw function. We used push and pop to isolate the effects of transformations, and then created a sketch with multiple 3D objects, placed at different positions. The students started on Challenge 4, Multiple 3D Shapes Artistic Sketch.
June 26
p5.js
Speech Synthesis and Recognition
Python
Getting started; Hello, World; input
June 29
Python
Smart Thermostat
Continuing Learning Python
input
, if
, tuples
June 30
Python
random
functions
- choice
- randint
Throwing dice and flipping coins. Using variables to count the number of heads and tails.
July 1
Python
Review
High-Low Guessing Game
July 2
Python
Dave’s Example Code
Review High-Low Game
Counting dice throws program
- Graph results in spreadsheet
- Scala, Processing simulation
Prepare for Tomorrow
- Download and install Sonic Pi
- Quick Sonic Pi demo