86 lines
2.6 KiB
Org Mode
86 lines
2.6 KiB
Org Mode
:PROPERTIES:
|
|
:ID: 22737796-6D31-49D5-84F2-F7BC73E45144
|
|
:END:
|
|
#+title: Concepts
|
|
|
|
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.
|
|
|
|
* 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.
|
|
|
|
- [[id:F32F8F09-3DEC-4FD1-8CFA-401A316E906B][xor]]
|
|
|
|
* Core Programming Concepts
|
|
|
|
- [[id:6820973F-613E-441A-BC1D-8FE5CD9BD6F7][Solid Principles]]
|
|
|
|
- [[id:275988a8-59d8-40c8-a8b4-47118d6eb834][Big O Notation, Time and Space Complexity]]
|
|
|
|
Some core programming concepts that are essential for software development. The things I need to add here are:
|
|
|
|
* 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
|
|
- 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
|
|
- 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
|
|
|