#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]]