↑ All Courses

Student Qualifications

  • Grades 6–12 (Accelerated learners in earlier grades are welcome with instructor approval)
  • Logical thinking and math skills
  • Facility with computers
    • Keyboarding
      • Typing
      • Using copy/cut/paste
      • Moving efficiently using the arrow keys and home/end, alt/option/cmd

Resources

Welcome and Introduction

Your Teacher

I am Dave Briccetti (bri-’cheddy). I am a professional computer programmer who enjoys teaching programming to kids. I teach at two private schools, at the Lafayette Library occasionally, and I have individuals and small groups come to my house in Lafayette for lessons. If you want to know more about me, look around here on my web site.

When you follow links from this document, holding Shift and Cmd while you click will open the page in a new tab and switch to that tab.

About This Course

JavaScript is a popular programming language, especially for programs that run in a web browser. JavaScript supports making sounds and music, and synthesizing and recognizing speech. This class teaches the following:

  • what sound is and how we hear
  • playing sounds of any pitch using an oscillator
  • making very simple music
  • synthesizing speech (getting the computer to talk and say whatever you like)
  • recognizing speech (having the computer understand what you say)

Class Format

Our classes consist of:

  • Instruction (Lectures)
  • Exercises, where you practice what you’ve just learned, with specific goals
  • Creative project work, where you apply what you’ve learned in your own way
  • Show and tell, where we share our interesting creations

I usually keep lectures to just a few minutes. During this time I need your focus and full attention. During exercises and creative work, I encourage you to interact with your classmates. Get up, walk around and see what others are doing.

Parents

Many of your parents are likely excited about you learning programming. They will be curious about what we are doing. Please point them to this page, so they can follow along with us. Show them at home what you are learning in class. Explaining your programs to others can increase your understanding.

When You Finish

When you complete assigned work, there’s always more to do. You can

  • Help others
  • Experiment, and make your own original creations

RoomHelper 3000

I created this webapp to help with my classes. It will help me get to know your names and faces, and to call on you fairly.

The link to RoomHelper 3000 is in the Resources section, above.

Select your name, and the row and column of your computer, and push the Set button.

Multiple Browser Windows

I recommend you put RH3K (RoomHelper 3000) in a small browser window off to one side, and do your work in a larger window.

Computer Programming

Computer programs are instructions for getting a computer to perform a task, such as these:

  • Send a text message
  • Play a game
  • Manage a calendar
  • Drive a car
  • Fly a spacecraft

Types of Computers

Programs run on computers of different sizes and types:

  • mainframes
  • desktops
  • laptops
  • tablets
  • smartphones
  • Arduino and Raspberry Pi

Languages

Programs are written using programming languages. Some popular ones are:

  • Java
  • JavaScript
  • C++
  • Python
  • Scala

Building on the Work of Others

Programmers build on the work of other programmers. If we all had to figure out how to make 3D graphics or simulate physical processes (bouncing objects, collisions, gravity, etc.), it would take much longer to create our applications. People who are good at specific areas of programming (graphics, physics, music, etc.) publish their programs for use by others, as packages, libraries, or frameworks.

Let’s Get Coding

(Material will appear here as the course progresses.)