1/114
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Database
An organized collection of data made of relations and domains (on the mathematical level) or magnetized microscopic zones (HDD) / electrons on flash memory cells (SSD).
Data
An electronic representation of raw, unorganized facts, information, or instructions.
Abstractly represented by bytes but physically can exist as many different things.
RAM
Random Access Memory. A computer's short term memory of data currently being used or that the system needs.
Often pictured as a giant grid with billions of open data slots.
WAL
Write Ahead Logs. A security measure to keep track of data movement between hardware and software in case of extreme circumstances.
Database Management Systems (DBMS)
Software layers that gatekeep, clean, secure, backup, and organize data allowing users to safely read, write, and update data.
Often times are relational (use rows and columns) and use SQL.
DBMS examples
PostgreSQL, MySQL, MongoDB, Redis
Cartesian Product
Mathematical operation that combines sets to create a new set of all possible ordered pairs.
Compiler
The translator for statically typed coding languages such as Java, C#.
Translates said language to machine code(binary).
Interpreter
The translator for dynamically typed coding languages such as Python, Javascript, Lua.
Translates said language to machine code(binary).
Statically Typed Language
Data types are locked in place before the program is run. Rules are strict and upfront, the system safely takes code because the data type and label is already verified.
Dynamically Typed Language
Allows spontaneous and changing types. Translates code to the system on startup.
Translator
Translates a coding language into machine code (binary) for the computer to be able to understand software.
Made of pure software often written in C or C++
Bootstrapping
For compilers. A compiler is written in its own language.
Self-interpretation
The “bootstrapping” for interpreters. Trying to bootstrap an interpreter would result in an infinite dependency chain.
Also called Cross-implementation
Edge Case
A compiler error where a combination of code never anticipated was built (like incorrect syntax or a forgotten function).
Miscomplication
A compiler error where the system translates broken code but the binary ends up not matching the original code.
Runs seemlessly but breaks. Hard to debug.
Data Serialization
When different coding languages interact via Bridges or APIs by sending JSON files across environments.
JSON
The bare, simple, universal format that every coding language understands.
Network
Digital highway for data. Exists in hardware as cables, routers, servers, and software as protocols.
SQL
Structured Query Language. The coding language used for communication by databases.
ORM
Object Relational Mapping. A programming technique allowing devs to interact with databases instead of writing raw SQL.
A bridge that automatically translates objects in programming languages into tables, rows, and columns for databases.
Query
A request made by or to a database in SQL.
Sequential Migration Scripts
Version-controlled incremental files used to apply database schema or data changes in a strict chronological order.
Ensures consistent deployment of data across environments and standard frameworks.
DML
Data Manipulation Language. SQL scripts written by devs to add, delete, modify, or retrive data in a database to patch structural data anomalies in newly developed apps.
Protocols
In networking they are agreed upon rules for how data should be packaged, sent, and acknowledged.
Packets
In networking they are small formatted units of a larger data sent for delivery.
Data Encapsulation
When packets are assigned it's data piece, the senders address, the destination address, and an order number for delivery.
MAC Address
Media Access Control Address. A devices hardware fingerprint for identification.
IP Address
Internet Protocol Address. A software mailing address assigned to devices by a network.
Router
A specialized computer sitting between networks that sends packets where they need to go.
Fiber-Optic Internet
Transoceanic fiber-optic cables connecting the entirety of the worlds connected networks together.
Internet
A global collection of all localized networks.
Cloud
In networking it refers to remote servers hosted in global data centers that store data, run apps, and deliver services. Exists on the internet.
3 Major Catagories of Cloud Services
Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Modular Compilation
A computer technique of processing large codebases for multi-language projects by breaking down independent files or modules to be compiled separately.
Build System
Software tool used in modular compilation that sorts files based on their coding language and directs files to their respective translators.
Namespace
A container used by the build system to identify a files coding language [Ex. Python.FunctionName()]
Linker
Stitches machine code together after they've been translated by assemblers/compilers into a final package in modular compilation.
Merging Sections
When a linker combines same files into a mega section.
Global Symbol Table
A table built by linkers that contains all function and variable names across all object files and their relative offsets. Each symbol gains a new memory address.
Relocation Records
Addresses left by the assembler/compiler for each file that are overwritten with real addresses when linkage is complete. In case data gets lost.
Dynamic Linkers
Linkers that build an import directory containing symbols the operating system will connect on runtime.
Normal linkers bake code with libraries straight into the executable file.
Global Offset Tables
Table of memory addresses referencing an external library function locations.
Used in dynamic linking.
Procedure Linkage Table
A block of executable code that acts as a stub triggering the address resolver.
Used during dynamic linking.
Executable
The final package or application. The end result of modular compilation.
Memory Isolation
When a computers RAM is divided into seperate cubicles so code doesn’t overpower other files.
Each language has its own cubicle and cannot communicate with other cubicles unless it has access to a bridge or API.
Cubicle
In memory isolation a cubicle is a digital fence.
3 Main Elements of Cubicles
Virtual Memory (RAM)
Operating Systems (OS)
Computer Processing Unit (CPU)
OS
Operating Systems. Manages hardware, acting as a bridge between the user, application, and hardware components.
In memory isolation it creates a list of rules (page tables) that maps out where each languages cubicle exists in the RAM.
Kernel Space
The main core of the OS. Interacts directly with hardware and contains components such as the process manager, memory manager, file manager, and I/O manager.
“Creates processes, efficiently schedules them, and manages how processes are terminated.”
SegFault
Segmentation Fault. When a program attempts to access memory location it’s not allowed to access and so the CPU orders the OS to terminates the program.
Termed by Linux, macOS, and Unix-like systems.
Memory Access Violation
When a program attempts to execute, read, or write a restricted memory address and the CPU orders the OS to terminate the program. Results in a crash, an error message, or a segfault.
Termed by Microsoft Windows.
Localization
When a developer includes human language JSON files for translation of in-app text to avoid creating multiple copies of an app. The distributor of the app uses the users established preferences to load the correct human language JSON file.
API
Application Programming Interface. A digital universe adapter that allows separated softwares to communicate safely by requesting data and checking verification and authenticity. A software-level OS that prevents data encroachment and chaos.
Used mainly for softwares that share data between systems. Unnecessary for software using exclusively external data.
URL
Uniform Resource Locator. A unique address for external data on the internet. Used by APIs as an endpoint to recieve or send requests.
HTTP Methods
HyperText Transfer Protocol. HTTP alone is a foundational set of rules that allows web browsers and servers to communicate.
HTTP Methods determine requested actions from APIs (GET, POST, PUT, DELETE, etc). Usually formatted in JSON or XML.
IDE
Integrated Development Environment. A supercharged text editor designed for writing code. Combines all tools a developer needs into a digital workshop.
Choosing a good IDE includes understanding the language and framework ecosystems, resource consumption, project type, used integrations, and available features.
3 Main Components of a Good IDE
A syntax highlighter
Auto-Completion for generic code
Debugger
Common IDEs
JetBrains IDE: used for language specific projects
VS: mainly for web development
Xcode: Apple integrations
Android Studio: Android integrations
Ecosystem
In programming, ecosystems are massive interconnected webs of programming languages, tools, databases, and libraries designed to work together with the means of efficiently making a program.
Includes packages, documentation, IDEs, frameworks surrounding a programing language.
Software Distributions/Frameworks/Toolkits
Pre-organized downloadable ecosystem bundles.
Library
In programming, it is a collection of reusable functions made by engineers to solve and make more efficient recurring code functions.
Included Information for Libraries
Configuration file
Name
Version
Dependencies
Registry
Local public directory of created libraries for users.
Package Manager
Connects a program to the global registry to download packages/libraries.
Libraries for ML & Their Functions
NumPy: Increases math efficiency for raw memory.
Pandas: Allows real data to quickly be cleaned, filtered, and restructured.
SciKitLearn: Trains ML models with a pre-made prediction algorithm.
PyTorch: Increases speed in translating code running on massive parallel graphic hardware.
ASP.Net: Listens for network requests, routing them to the correct database.
ML.NET: Trains ML models
Blazor: Makes reusable UI components.
Essential Programming Tools
Git/Hub: Uses repositories to track code changes.
Venv/Coda: Quarantine chambers/Version Control to prevent project versions from clashing.
Jupyter Notebooks: Allows code to run in small blocks for ML testing.
3 Musts for Good Code
Readability: Easily readable
Predictability: Does what its supposed to efficiently
Modularity: Built of independent pieces that work together so code structures do not collapse if one piece breaks.
Clean Script Blueprint
Commented Header
Imports/Libraries/Packages
Configurations/Variables
Helper/Functions
Main Execution
Computer
A device that stores and processes data by performing calculations.
Punch Cards
First early form of binary for computers.
Algorithm
A series of steps that solves specific problems. These steps are precise and follow a logical order.
Cryptography
The art of writing and solving codes.
Tape Drive
An early data storage device that read and wrote data on magnetic tape.
When data would need to be stored, the writer would generate a powerful localized magnetic field, where the fields forced the domains within particles to rotate. Once oriented, the particles locked in place due to rhe natural magnetic alignment of the material, representing binary
Vacuum Tubes
Early computer electronic switches for processing data.
They controlled electrical current in a vacuum they represented binary and built logic gates. Later the industry switched to transitioners because vacuum tubes were bulky, burned out quickly, and generated massive amounts of heat
Transistors
Work as vacuum tubes, but are more compact and efficient.
Open Source
Anyone can modify and share it.
Linux
An open source operating system used by most global servers and cloud-native apps.
Uses powerful command-line interfaces allowing programmers to automate repetitive tasks, manage server files remotely, and execute scripts efficiently.
CLI
Command-Line Interface. A text based UI used to view, manage, and interact with computer software.
PDA
Personal Digital Assitant. A handheld electronic device acting as a calender, organizer, and address book. Acted as a personal info manager. An early phone.
Binary
The communication system a computer uses. AKA Base-2 Numeral System.
Byte
A group of 8 bits used to represent data in software, which hardware interprets and processes.
Character Encoding
When your computer connects humam characters with binary code to decipher what means what.
Specifically ASCII.
ASCII
American Standard Code for Information Interchange.
The most oldest used binary dictionary for all English alphabet, digits, and punctuation.
UTF-8
The most prevalent character encoder used today. Uses the ASCII table, along with allowing byte variables to make emojis.
RGB
Red-Green-Blue. Used alongside binary represents color in bytes.
Each pixel on a screen holds 3 bytes for each color(Red/Green/Blue)
Logic Gates
Electrical switches on a computers chip that tell the computer how to perform binary calculations.
Although logic gates are hardware, you can use software to simulate or design one.
NOT Gate
A logic gate that outputs the opposite charge sent.

AND Gate
A logic gate containing two inputs. For the output to be “on” both inputs must be so, otherwise the AND gate will output “off”.

OR Gate
The opposite of the AND gate. If both inputs are “off”, this it will be so, otherwise the output will be “on”.

XOR Gate
A logic gate that outputs “on” whenever only one signal is “on”. Otherwise the output will be “off”.

NAND Gate
A logic gate with two inputs that outputs “off” only when both inputs are “on”.

XNOR Gate
A logic gate with two inputs that outputs an “on” only when both the inputs are the same.

Circuits
A continuous closed loop or pathway allowing electrical current to travel from a power source and back.
Binary Conversion Numbers
These numbers represent the decimal values of each bit in an 8-bit binary. These values are used to convert between binary and decimal.
0, 1, 2, 4, 8, 16, 32, 64, 128
Abstraction
The process of hiding complex or low-level implementation details to focus solely on essential features.
In other words users do not need to worry about the underlying process or code behind something because it is already proven it can work.
JPG
A file type that stores compressed photo files into smaller sizes for the web.
PNG
A clear image file that supports see-through backgrounds.
TXT
A plain text file.
Adobe Acrobat files that lock text and images in place so they look the same on any device.