Learn to program Material
Posted by:
- Rye
This page includes resources for you on your learning journey.
Foundational Thinking & Design
- Simple and Complex:
Simple systems are not necessarily easy — complexity often arises from simplicity when misunderstood or misapplied. - Simple isn't easy:
Explores why designing simple solutions can be more challenging than building complex ones. - Software Design:
Covers principles of modular, maintainable software design using real-world analogies and layered abstractions. - Design Based Thinking:
Introduces iterative, human-centered problem-solving in technical environments.
Programming Concepts
- Recursive Thinking:
A visual approach to understanding recursion through patterns, functions, and problem decomposition. - Brute Force Algorithms:
Explains brute-force search strategies and where they apply in solving simple-to-hard problems. - Create a Function Programmatically:
Demonstrates dynamic function creation in code for metaprogramming and automation. - Error Driven Development:
Learn how embracing and interpreting errors can guide code quality and exploration. - Object Oriented Programming:
Introduces classes, objects, and encapsulation as building blocks of modern software. - Thinking About Variables:
Encourages deeper understanding of variable roles, naming, and state in programming.
Data & Networking
- Basic Networking:
Overview of core networking principles: IP, ports, protocols, and communication basics. - TCP HourGlass:
Visual breakdown of TCP/IP, packet flow, and internet data transfer patterns. - Information to Data:
Explains how unstructured information becomes structured, analyzable data. - Data Has a Shape:
Discusses data types, structure, and patterns — shaping how we store and analyze information. - Data, Math, Programming and Crossing the River:
Links storytelling, logic puzzles, and mathematical thinking to programming and data science.
Security & Systems
- Threatmodeling AI:
Teaches how to assess AI risks and threats from a systems security perspective. - Identity and Credential Management:
Introduces core identity and access management (IAM) practices for secure systems. - Build a Cyber Playbook:
Framework for responding to cybersecurity events with documented strategies. - Ticketing Systems:
Shows how structured support and response systems operate via tickets and workflows.
Applied Problem Solving
- Crossing the River:
Classic logic problem that encourages algorithmic thinking and constraint analysis.