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.
“PULL THE LEVER, KRONK!”
. . .
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.
- File Structure
Stupid, Computers Are
Color, Numbers, Counting
Why is December the 12th month?
Markup vs. Programming
Directory and File Structure
Parent vs. Child
Inheritance, preference, priority, and !important
DOMinating the web browser
Code as a Body: Bones -> Clothes -> Movement
Arrays and Objects
Forms and Inputs
- Routing & Networking
- Domain Names
- Web Applications
- Responsible Code
- Recap and Testing
- Personal Website
- Git / GitHub
Intro to Programming Systems
Limit: 6 Spots Remaining