#MOC
# Computer Science
- [[Dotnet|.NET]]
- [[Category Theory]]
- [[IT and DevOps]]
- [[Computer Networking]]
- [[Cyber Security]]
- [[Web Development]]
## Software Architecture
- [[Microservice Architecture]]
- [[Command Query Responsibility Segregation|CQRS]]
- [[Polyglot Programming]]
- [[Guidance for Testing Dependent Modules]]
- [[Scale Cube]]
- [Microsoft .NET Architecture Guides](https://dotnet.microsoft.com/en-us/learn/dotnet/architecture-guides)
## Programming Principles
- [[KISS]]
- [[YAGNI]]
- [[POLA]]
- SOLID
- [[Single Responsibility Principle]]
- [[Open-closed Principle]]
- [[Liskov Substitution Principle]]
- [[Interface Segregation Principle]]
- [[Dependency Inversion Principle]]
- [[Command Query Separation|CQS]]
- [[Postel's Law]] (a.k.a. the Robustness Principle)
- [[Hyrum's Law]]
- [[Mediator Pattern - Wikipedia]]
## Methodologies
- [[Test-Driven Development]]
- [[Behavior-Driven Development]] also [[Gherkin]]
- [[Domain-Driven Design]]
## Data Science
- [[Transactional Database]]
- [[Transaction Atomicity]]
- [[Transaction Consistency]]
- [[Transaction Isolation]]
- [[Transaction Durability]]
- [[CAP Theorem]]
- [[Database Consistency]] vs. [[Eventual Consistency]]
- [[Database Availability]]
- [[Partition Tolerance]]
- [[Command Query Responsibility Segregation|CQRS]]
## Tools and Techniques
- [[gRPC]] and [[Protocol Buffers]]
- [[Nix]]
- [[SQLite]]
- [[Tail-Call Optimization]] and the [[Trampoline]]
- [[Probabilistic Programming]]
## Teaching Resources
- [Hedy](https://hedycode.com) is a teaching programming language that gradually introduces new concepts with the goal of reducing [[Cognitive Load]].
- [Mantis](https://www.mantisedu.io) is a company that produces teaching gizmos that allow kids to build cool machines. For example you can buy a weather tag from them which you can then use using a simple programming language to connect to an IoT device.
- [KittenBot](https://www.kittenbot.cc) makes robot kits and is the maker of Meowbit, which is a retro gaming console you can use with [Microsoft MakeCode Arcade](https://arcade.makecode.com).
- [Chibitronics](https://chibitronics.com) makes kits for making electronic circuits out of paper, thus combining computer science with arts and crafts.
- Microsoft has a great education portal they call [MakeCode](https://www.microsoft.com/en-us/makecode).
- Harvard offers their [Intro to Computer Science](http://online-learning.harvard.edu/course/cs50-introduction-computer-science) class completely for free online
- Microsoft has a good lecture series about functional programming by Erik Meijer on [Channel 9](https://learn.microsoft.com/en-us/shows/c9-lectures-erik-meijer-functional-programming-fundamentals/?page=2)
## Misc
- [[Moore's Law - Wikipedia]]
- [[E.W.Dijkstra Archive The Humble Programmer]]