STEM

“Programming is amazing. I think it is the closest
thing we have to a superpower”

– Drew Houston
Founder and CEO, Dropbox


Hello,


This site has some of the material used to teach volunteer after-school STEM classes at Palm Crest Elementary (PCR) in La Cañada, CA, between 2012 and 2017. This material is free for anyone to use; hope someone finds it useful. This material is intended to be used with a teacher present. The classes provide templates in the form of complete projects that someone can use as the starting point for new projects.

We use a variety of languages in our classes: Intro. to Programming I and II use Python, Computer Design I uses a hardware description language (HDL), BASIC, and a machine language (ML), and the Front-end development class uses HTML5, CSS, and Javascript. Still, our focus is to learn how to program, not how to program in a particular language. Jumping from one language to another is relatively simple compared with learning how to program.

In the Intro. to Programming I class, we learn how to control Karel, a small robot that lives in a grid. After we go through this material, we could move to any procedural language easily, and tackle the more challenging material in the other courses.

I also coached the MOEMS (Math Olympiads for Elem. and Middle Schools).


For general information, please click in the following links:

  • Intro. to Programming I
    Learn basic programming principles with Karel, the robot.
    – 3rd-6th grade but priority to 3rd-4th grade students
    – No prerequisites.
     
  • Intro. to Programming II
    Intro. to Programming II
    Programming interactive games in Python.
    – 3rd-HS students
    – Prerequisites: “Intro. to Progr. I”.
     
  • Computer Design I
    Design the hardware of a computer similar to a gameboy.
    – 3rd-HS students
    – Prerequisites: “Intro. to Progr. I”.
     
  • Front-end Developer
    Learn how to program the client side of a web browser.
    – 3rd-HS students
    – Prerequisites: “Intro. to Progr. I”.
     
  • Math Olympiads (5th grade)
    Go over math and geometry problems typical of Math Olympiad contests.
    – 5th-6th students students
    – Prerequisites: Selected by the teachers of their grades