Welcome

Intro to Programming

Mr. Seibel (he/him)

What is programming?

A language.

A form of problem solving.

An exercise in picking problems to solve.

Who can program?

Anyone

Alan Turing

Grace Hopper

Margaret Hamilton

Brian Fox

Frances Allen

Audrey Tang

Timnit Gebru

Why do we call them programming “languages”?

How languages work

The goofy dog, the runt of the litter, chased lazily after the red ball its owner had thrown.

In English …

  • Sounds and letters make up words …

  • Which can be combined into phrases …

  • Which can be combined into sentences …

  • Which can be combined into paragraphs …

  • To say whatever we want.

In programming …

  • We start with simple values …

  • Which can be combined into expressions and statements …

  • Which can be combined into functions …

  • Which can be combined into programs …

  • That can do anything a computer can do.

Javascript

The language of the web.

It’s incredibly popular and widely used.

It’s a real language. Thus it has warts and oddities.

But it has a clean core.

Problem solving

Every program is a solution to a problem.

Any program of any complexity consists of multiple smaller problems.

Picking your problems

Unlike, say, in math class, programming is much more about picking problems you want to solve.

We’ll start with simple problems that I’ll give to you.

But soon you will set your own goals for what you want your programs to do and you’ll learn to break it down into parts small enough that you can make it work.

Why is programming fun?

If you like creating things.

If you like solving puzzles.

If you like understanding how things work.

Why is programming hard?

There are a lot of details that you have to get right.

It can be very abstract.

Those two things are usually at the opposite end of the mental spectrum.

What can you do when you know how to program?

Understand, at least a bit, how all this stuff around us works.

Build tools to make your life better.

Make stuff just for the fun of making things.

Finally

If you're not stuck, you're not programming.

Expect to be stuck.

When you get unstuck is when you learn the most.