Computers are complex and stupid.
Complex: because with every passing day our dependence on technology increases and our understanding of it decreases.
Stupid: because computers don’t think, they don’t reason–they just do exactly as they are told.

So when software, networks, or technology systems stop working, the person best prepared to fix or improve them is the person who knows how to tell technology what to do (and just as importantly, what not to do), when to do it, and how to go about doing it.

Thankfully, we can use the world around us to learn the principles necessary to demystify software specifically, but also technology as a whole. Systems are all around us. The body system, the weather system, solar system, etc. Networks are also right in front of us: transportation networks, cell networks (phones or blood!), and even social networks. 

Nature provides the foundational principles for understanding how systems and networks operate and flourish, and how code utilizes the structures within those networks. Much can be leaned about software from studying trees, rivers, subways, and lightning. When you understand how the behind-the-scenes of the systems works, you can start to control the flow of the system, rather than being controlled by it.


. . .

“Wrong leverRRRRR!”

In the Emperor’s New Groove, Yzma tells Kronk to pull the lever to simply open a door. Instead, the lever opens a trapdoor beneath Yzma. Working with technology can sometimes be like Kronk pulling the wrong lever. Unexpected things happen, but the more you understand the levers that make the system function, the better you’ll be at picking the right levers. Gain agency over technology. The more you understand, the more choice you have in how the technological systems (levers) work. Gain agency over the complex/stupid computer by learning all the different levers at your disposal by determining where in the system you are, and learning the ripple effect (downstream) of each different lever.

Month #1

  • HTML
  • CSS
  • JavaScript
  • Networking
  • Browsers
  • File Structure
Week 1
Intro to Systems: Nuts and Bits• Bits, Nibbles, Bytes
• Binary, Hexadecimal
• Stupid, Computers Are
• Color, Numbers, Counting
• Why is December the 12th month?
6pm – 9pmThe Marketplace at Camano Commons
Week 2
Intro To Systems: Tree Nuts and Root Bits• HTML
• Markup vs. Programming
• Code Editors
• Directory and File Structure
• Parent vs. Child
• Language Structure
6pm – 9pmThe Marketplace at Camano Commons
Week 3
Logic As A Service: Getting Stupid Computers to Behave • How did we get here?
• Hierarchy
• Cascading code
• Inheritance, preference, priority, and !important
• DOMinating the web browser
6pm – 9pmThe Marketplace at Camano Commons
Week 4
Logic As A Service: Getting Stupid Computers to do What You Want• Web Structure
• Syntax
• Code as a Body: Bones -> Clothes -> Movement
• JavaScript
• Arrays and Objects
6pm – 9pmThe Marketplace at Camano Commons

Month #2

  • Routing & Networking
  • Servers
  • Domain Names
  • jQuery
  • AJAX
  • Loops
Week 5
Networking: Getting Under the Canopy• Debugging
• Console
• Validation
• Command Line
• Forms and Inputs
• Parsing
6pm – 9pmThe Marketplace at Camano Commons
Week 6
Networking: Relationships As The Backbone of the InternetAll networks that are healthy and flourishing have one thing in common: relationships. Software is abstract and the relationships can be hard to see. But once you see them…you can’t unsee them!
• Networking
• IP Addresses
• DNS System
• Routing
6pm – 9pmThe Marketplace at Camano Commons
Week 7
Networking: Trust is the Glue Holding the Internet TogetherThere is no internet without inherent, or implied, trust. Every server assumes that each request is from who it says it’s from, and is for who it says it’s for. This is very powerful if you’re trustworthy, and very dangerous if you’re not.
• Ports
• Terminal
• SSH Keys
6pm – 9pmThe Marketplace at Camano Commons
Week 8
Networking: Unforgiveness and UncertaintyTechnology is unforgiving when it gets it wrong…because it doesn’t know right from wrong. It’s just doing what it’s told. A healthy amount of skepticism and the assumption that some parts of your stack are fragile and vulnerable will surface the parts of your code that need your attention soonest. Starting from the point of the computer being dumb and wrong sets the mental framework for you to break down problems, reason through the possibilities, and work out the solution.
6pm – 9pmThe Marketplace at Camano Commons

Month #3

  • Web Applications
  • Responsible Code
  • LAMP
  • PHP
  • Databases
  • WordPress


  • Recap and Testing
  • Personal Website
  • Git / GitHub

Intro to Programming Systems

Starts February 14th, 2022

Limit: 8 Spots Remaining