Learn the fundamentals of Computer Science with a quick breakdown of jargon that every software engineer should know. Over 100 technical concepts from the CS curriculum are explained to provide a foundation for programmers.
#compsci #programming #tech
🔗 Resources
- Computer Science https://undergrad.cs.umd.edu/what-computer-science
- CS101 Stanford https://online.stanford.edu/courses/soe-ycscs101-sp-computer-science-101
- Controversial Developer Opinions https://youtu.be/goy4lZfDtCE
- Design Patterns https://youtu.be/tv-_1er1mWI
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at https://fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
Turning Machine
CPU
Transistor
Bit
Byte
Character Encoding ASCII
Binary
Hexadecimal
Nibble
Machine Code
RAM
Memory Address
I/O
Kernel (Drivers)
Shell
Command Line Interface
SSH
Mainframe
Programming Language
Abstraction
Interpreted
Compiled
Executable
Data Types
Variable
Dynamic Typing
Static Typing
Pointer
Garbage Collector
int
signed / unsigned
float
Double
Char
string
Big endian
Little endian
Array
Linked List
Set
Stack
Queue
Hash
Tree
Graph
Nodes and Edges
Algorithms
Functions
Return
Arguments
Operators
Boolean
Expression
Statement
Conditional Logic
While Loop
For Loop
Iterable
Void
Recursion
Call Stack
Stack Overflow
Base Condition
Big-O
Time Complexity
Space Complexity
Brute Force
Divide and conquer
Dynamic Programming
Memoization
Greedy
Dijkstra's Shortest Path
Backtracking
Declarative
Functional Language
Imperative
Procedural Language
Multiparadigm
OOP
Class
Properties
Methods
Inheritance
Design Patterns
Instantiate
Heap Memory
Reference
Threads
Parallelism
Concurrency
Bare Metal
Virtual Machine
IP Address
URL
DNS
TCP
Packets.
SSL
HTTP
API
Printers