SFPC Fall 2019: Bootcamp week

SFPC
Sfpc
Published in
5 min readSep 28, 2019

blog post by Gia Castello & Esther Bouquet

Before the start of its 10-week program, SFPC offers a one-week introduction to coding for incoming students and beginners who want to learn to code. The bootcamp was led by Matt Jacobson and Robby Kraft with teaching assistance by Alex Miller. The session was a great occasion to learn about the syntax of C++ and how it works, using variables, loops, functions and many more, to start creating visual art and animations in openFrameworks.

Learning a new programming language is like learning to speak a new language with its own expressions, words and punctuation, so the exercises we did during the five-day session helped us to get more comfortable with how to “speak openFrameworks”.

Day 1

The first day was focused on the basics of the basics. After the teachers’ and TA’s introduction, we learned a little bit more about the tools and the environment we were going to use. We started with simple geometry like rectangles and lines and tried to display them in order to draw the letters of our names. It was an educational and fun way to learn about variables and their life cycle, types and functions in order to create configurable drawings with different parameters.

Gia’s first attempt VS Gia’s final sketch

Day 2

On day two we started creating our first animations! We learned how functions can return values, and we coded a ball that follows our mouse.

We also were capable of using utility methods, conditions and random numbers in openFrameworks, and coded a random walker on the screen. We learned the foundations of control structures like looping as well and did a bit of math using time and sine curves to built a bouncing shape. By the end of the day, our brains started to hurt.

Gia’s sketch of a ball following the mouse

Day 3

On day three we went deeper into the world of loops and containers. With our brains still warmed up from the day before, we started to talk about the logic of loops in order to create an astroid, a particular mathematical curve that need to connect the first value on the x axis with the last value of the y axis.

After a short break, we used variable storing and the mouse position to draw a line with our cursor. Then we learned how to store more data using objects, arrays and arrayList (named “vector” in c++) in order to be able to store the previous positions and to delete them after hitting the maximum size of our arrays. From here, we had the choice between three little exercises: a rainy day, a starry night, or an animated grid of the previous letters we drew.

Katherine’s sketch of a starry night, Danny’s rain and Esther’s E

Day 4

On day four we got trippy! We worked with polylines objects, vectors and cameras. First we learnt about rotate, translate and scale functions and how to limit the transformations with push and pop matrices.

From that, we learned how to create a class in order to create a particle object. We started by drawing only one ball using simple calculation for the physics, and then went crazy by multiplying this ball a hundred times. Confetti time!

Katherine’s confetti sketch

Later on, we left 2D drawing to start building our own 3D environments using X, Y and Z axis in our openFramework projects. For that, we built a scene with a 3D object in the middle, and a satellite light going around our object. We were able to see the shade transformations, which was awesome.

Zai’s “2001: A Space Odyssey”-inspired sketch

Day 5

Day five and last day of class! After a short introduction on the difference between ofRandom and ofNoise functions, we started to focus on the handshake problem: for x persons are in a room, how many handshakes will happen? This one required more logic and mental calculation and visualization but it was really rewarding to be able to use most of the tools we learned during the week. We learned that it was a way to connect multiple shapes together without forgetting any of them or by duplicating lines.

We ended up the day by playing with addons made by other people to help with some parts of the code. In eight lines of code we were able to detect faces through our cameras!

Zai and Allison playing with webcam face tracker code.

And by this time, we also ended up knowing each other more, and sharing not only code but quality time together under the sun. We all felt very grateful for this week of learning, which will definitely boost our creativity and future projects. Thank you Robby, Matt, Alex (and Bug!) for your guidance and Lauren for being our amazing host.

--

--

SFPC
Sfpc
Editor for

School for Poetic Computation—since Fall 2013.