Welcome!

AP Computer Science Principles

Mr. Seibel (he/him)

AP CSP

This is the kindler, gentler of the two AP computer science classes.

This course doesn’t assume any prior knowledge of programming or computer science.

It will give you a chance to explore computer science and will prepare you well for AP CSA, the harder AP course, if you want to keep going.

Snap!

We will be using the Snap! programming language.

(The exclamation point is part of the name.)

It is a block-based language.

If you’ve used Scratch, it will look familiar, but it is a much more sophisticated language under the covers.

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 opposite ends of the mental spectrum.

What about AI?

AI is extremely good at coding.

What does that mean for us puny humans?

Learning to program is still good for your brain.

In a world where there is an explosion of software due to AI, being able to understand what’s actually going on may be even more criticially important.

What I think right now

Some fraction of the knowledge and skills related to writing code that I’ve developed in 30+ years of programming is probably no longer necessary.

Some other fraction of the knowledge and skills I’ve devopled are what allow me to do amazing things with AI coding tools.

I still have very little idea how big each fraction is and what’s in each category.

AP Exam

This is an AP class and there’s an exam in May.

I don’t love the College Board or its curriculum but if you learn what I want to teach you, there is no reason you shouldn’t be able to get a 5 on the exam.

Finally

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

Expect to get stuck.

Even the most experienced programmers get stuck.

When you get unstuck is when you learn the most.