In this node lies notes relating to theoretical concepts tying with maths and/or computer science. I will need to find a way to categorise different notes, but it's a wip.

## MOC's

- [[Database MOC]]
- [[Microlise MOC]]
# Microlise:

## ESS

  - [[Microlise - ESS]]
  - [[Seb Search Improvements]]

## AI Training:

  - [[Data camp AI training]]

# Mathematical Concepts

Part of being a software engineer is having a good grasp of mathematical concepts. Here are some notes on various mathematical concepts that I find useful.

  - [[XOR]]

# Core Programming Concepts

  - [[Powershell MOC]]

  - [[Solid Principles]]

  - [[Big (O) - Time and Space Complexity]]

  - [[Design Patterns]] WIP

  - [[CI-CD Example (site visits)]]

  - [[CI-CD Summary]]

  - [[Software Development Methodologies]]

  - [[MVP + MVT]]

  - [[Test Driven Development]]

Some core programming concepts that are essential for software development. The things I need to add here are:

# APIs

  - [[Restful API]]

  - [[API Architecture]] (Just needs spell checks and re read)

  - [[ASP.NET Core Web API Fundamental Notes]] (todo)

# Database Related

  - [[Database Permissions, Roles, and Accounts]]

  - [[SQL Joins]]

# Misc

  - [[Windows Services]]

  - [[DLL's]]

# Security:

  - [[Cross Site Scripting (XSS)]]

# Concepts to learn and talk about (cs and maths)

  - ~~xor~~
  - ~~big O notation~~
  - ~~time complexity~~
  - ~~space complexity~~
  - data structures
  - algorithms
  - design patterns
  - functional programming
  - object-oriented programming
  - relational databases vs non-relational databases
  - ~~Database permissions, roles and accounts~~
  - networking basics
  - operating systems fundamentals
  - concurrency and parallelism
  - software development methodologies (Agile, Scrum, etc.)
  - version control systems (Git, etc.)
  - testing methodologies (unit testing, integration testing, etc.)
  - security best practices
  - cloud computing basics
  - containerization (Docker, Kubernetes, etc.)
  - DevOps practices
  - ~~CI/CD pipelines~~
  - microservices architecture
  - API design and development
  - ~~restful apis~~
  - web development fundamentals (HTML, CSS, JavaScript)
  - mobile app development basics
  - machine learning basics
  - data science fundamentals
  - big data concepts
  - blockchain basics
  - cryptography fundamentals
  - user experience (UX) design principles
  - software architecture patterns (MVC, MVVM, etc.)
  - debugging techniques
  - performance optimization strategies
  - software documentation best practices
  - ethical considerations in software development
  - emerging technologies in software development
  - career development in software engineering
  - soft skills for software engineers (communication, teamwork, etc.)
  - project management basics for software projects
  - open source contribution best practices
  - remote work best practices for software engineers
  - continuous learning strategies for software engineers
  - data types
  - bytes and bits
  - number systems (binary, decimal, hexadecimal)
  - logic gates
  - set theory
  - graph theory
  - combinatorics
  - probability theory
  - statistics
  - linear algebra
  - calculus
  - discrete mathematics
  - compilers
  - interpreters
  - automata theory
  - formal languages
  - Turing machines
  - computability theory
  - MVPs and MVTs
