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]] - [[Using Joins, Constraints, Normalization, and Subqueries]] # Misc - [[Windows Services]] - [[DLL's]] - # Security: - [[OWASP Top 10]] - [[Cross Site Scripting (XSS)]] - [[Output Encoding]] # Concepts to learn and talk about (cs and maths) - [x] xor - [x] big O notation - [x] time complexity - [x] space complexity - [ ] data structures - [ ] algorithms - [ ] design patterns - [ ] functional programming - [ ] object-oriented programming - [ ] relational databases vs non-relational databases - [x] 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 - [x] CI/CD pipelines - [ ] microservices architecture - [ ] API design and development - [x] 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 - [x] MVPs and MVTs # Data view query All files that are not done: ```dataview TABLE FROM "Career" WHERE done != true SORT file.name ASC ```