Concepts starting with D
352 concepts, each with a plain-language explanation, examples and diagrams. Pick a letter or open a concept.
- Data Access in AI Engineering — A cargo cult engagement has the title and vocabulary of a successful AI engagement but lacks the operating model that makes it…
- Data Challenges in AI Deployments — Production data should be examined early in a project, not late.
- Data Cleaning and Normalization in Large Archives — Mapping tables unify changing email addresses and multiple domain names into single canonical identifiers, preventing entity…
- Data Compression — Unsupervised learning finds useful transformations of input data without target values.
- Data Consistency Across Distributed Systems — Service-oriented architecture enables travel websites to integrate multiple independent systems (airlines, hotels, car rentals)…
- Data Integrity and Constraints — A uniqueness constraint ensures all values in a column are unique by using a special index to detect and block duplicates.
- Data Loader Settings — The source suggests testing the data loader with max_length=2 and stride=2, and with max_length=8 and stride=2, to build…
- Data Loaders and Batching — A small public domain text such as 'The Verdict' lets the whole pipeline run on a laptop, which suits learning, while larger…
- Data Loaders for Next-Token Prediction — A token embedding is a vector representation of an input token, created in PyTorch with an Embedding layer.
- Data Matrix Representation in PCA — Matrix A uses X transposed X and has dimensions determined by the original features.
- Data Normalization and Compression Techniques — The three-database pipeline consists of content.sqlite (raw, uncompressed), gmodel.py (transformation program), and index.sqlite…
- Data Persistence and Program State — Main memory (CPU and RAM) is where programs execute and store data while running, but it is volatile—everything is erased when…
- Data Pipeline Design and Best Practices — A geospatial application pipeline connects input data, a geocoding API, a database, and a visualization layer.
- Data Plumbing and Required Knowledge — Accessing production data early is the corrective action, because it converts a late failure into a manageable schedule delay.
- Data Preparation and Sampling for Language Models — Building an LLM happens in three stages: implementing the architecture and preparing data, pretraining, and fine-tuning.
- Data Preprocessing — Feature engineering transforms raw data into more meaningful features before modeling.
- Data Preprocessing for Language Models — The attention mechanism is described in the source as a fundamental component at the heart of every LLM, so it anchors the rest…
- Data Quality and Cleaning in Large Archives — Email addresses and domain names change over time as people move between organizations, requiring a mapping system to…
- Data Quality and Production Data Access — A clean sample is evidence about the sample; production data can differ, and the source reports exactly that gap.
- Data Redundancy and Normalization Principles — Role normalization separates role information into a dedicated Role table, eliminating redundancy and centralizing role…
- Data representation — Machine learning discovers data-processing rules from examples of inputs and expected outputs.
- Data Representation and Binary — Main memory is fast and nearly as quick as the CPU, but it is volatile and loses all data when power is cut off.
- Data Representation in Deep Learning — Tensor slicing is the selection of specific elements in a tensor.
- Data Representations for Neural Networks — Tensors provide the multi-dimensional representations used by neural networks.
- Data Structure Comparison — Sets are unordered collections of unique elements, used when membership matters more than order or frequency.
- Data Structures for Efficient Search — The Nearest Neighbor rule shifts computational work to test time because it searches stored training examples when making a…
- Data Structures in Program Design — Top-down programming makes a large problem manageable through repeated decomposition.
- Data Structures: Lists, Tuples, and Dictionaries — All programs are built from four fundamental patterns: sequential code (executing instructions in order), conditional code…
- Data Type Conversion and Type Checking — An f-string embeds expressions inside curly braces within a string literal by prefixing the string with f.
- Data Types — A variable is a named memory location that can hold data.
- Data Types and Type Conversion — To open the terminal in Windows, click the start button and click Run . In the dialog box, type cmd and press enter key.
- Data Types and Values — There is no separate char data type in Python. There is no real need for it and I am sure you won't miss it.
- Data Types and Values in Python — An interpreter translates and executes source code line by line, making Python suitable for interactive programming where you…
- Data Types and Variables: Storing Information — Programming languages, like natural languages, have vocabulary (words that must be spelled correctly) and grammar (rules for…
- Data Types in Python — A data type is a classification that specifies what kind of value a variable holds and what operations are valid on that value.
- Data Types Overview — There is no separate char data type in Python. There is no real need for it and I am sure you won't miss it.
- Data Types: Numbers — Python provides five basic arithmetic operators: +, -, *, /, and **
- Data Types: Strings — The + operator joins strings end-to-end (concatenation), not mathematical addition.
- Data Types: Strings, Integers, and Floats — input() pauses your program and waits for the user to type something on their keyboard, then returns what they typed as a string.
- Data Validation and Cleaning — The find() method locates the position of a substring and returns its starting index; use find(substring, start_pos) to search…
- Data Validation with Regular Expressions — Parentheses in regular expressions mark the portion of a match that findall() should extract and return.
- Data Visualization — Unsupervised learning finds useful transformations of input data without target values.
- Database Connections and Sessions — last_insert_rowid() is a built-in SQLite function that returns the ID of the most recently inserted row in your current database…
- Database Constraints and Unique Keys — Many-to-many data loading requires parsing JSON and distributing the data across two entity tables and one junction table.
- Database Design and Table Structure — The Database Browser for SQLite is a visual tool that reads SQLite database files and displays their contents in a user-friendly…
- Database Design Best Practices — The fundamental rule of database normalization is to never repeat the same string data in a column more than once.
- Database Design for Caching — Rate limits are a deliberate constraint on API usage designed to protect server resources and ensure fair access across users.
- Database Indexing and Query Performance — Databases require you to declare column names and data types before creating a table, unlike Python lists or dictionaries which…
- Database Normalization — Crow's Foot Diagrams use boxes to represent tables and lines with notation symbols to represent relationships between tables.
- Database Normalization and Best Practices — A database is justified only when your application needs frequent random updates on large datasets, must handle data larger than…
- Database Normalization and Design Principles — A primary key is a unique integer identifier (conventionally named 'id') that uniquely identifies each row within a table.
- Database Normalization: Organizing Data for Efficiency — A many-to-many relationship exists when records on both sides can connect to multiple records on the opposite side, unlike…
- Database Schema Design and Normalization — Primary and foreign keys are omitted from simplified data model diagrams because their placement follows an absolute…
- Database Storage and Querying of Web Pages — PageRank is computed by running sprank.py, which iteratively calculates importance scores based on the link structure in your…
- Datasets for Language Modeling — Experimental LLM architectures are designs that are not based on the transformer, and the source uses them to show that LLMs…
- Date and Time Formatting with the time Module — A backup program automates file archiving by using Python to construct and execute a zip command with a timestamped filename.
- Debugging Algorithm Structure — Stepwise refinement turns a complex task into smaller steps until it can be translated into programming-language syntax.
- Debugging and Error Handling — Use the continue statement to skip lines that do not meet your criteria, jumping immediately back to the next iteration of the…
- Debugging and Testing Python Scripts — The backup script automates file archiving by combining directory management, dynamic filename generation, and shell command…
- Debugging and Troubleshooting — Comments are text after the # symbol that Python ignores; they are notes for readers, not executable code.
- Debugging as a Learning Tool — Programming is a language that requires gradual absorption over time, not linear mastery of isolated concepts.
- Debugging by Tracing Execution — Code file order (top to bottom) is not the same as execution order (the actual sequence the program runs).
- Debugging by Understanding Code Structure — Descriptive variable names can paradoxically make code harder for beginners to parse because they blur the line between reserved…
- Debugging Common Python Errors — Built-in function names like max, len, sum, and print should be treated as reserved words and never used as variable names.
- Debugging Comparison Errors — A boolean expression evaluates to True or False, which belong to the bool data type.
- Debugging Conditional Logic — The if statement checks a condition and executes indented code only if that condition is true.
- Debugging Data Collection Scripts — Responsible spidering means retrieving data at a controlled rate to respect server resources; gmane.py retrieves one message per…
- Debugging Data Extraction Pipelines — Extract numbers from formatted text lines using a regex pattern with a capturing group and the findall() method.
- Debugging Encoding Errors — Use # encoding=utf-8 at the top of any Python file that contains Unicode literals to tell the interpreter how to parse your…
- Debugging Expressions — Order of operations (PEMDAS) determines which calculations happen first: Parentheses, Exponentiation, Multiplication/Division…
- Debugging File and Directory Operations — Hierarchical file-naming organizes backups into a main directory containing date-based subdirectories, each containing…
- Debugging File Operations — Newline characters mark the end of lines in text files, but different systems use different representations: \n, \r, or \r\n.
- Debugging Function Calls — A function is a named sequence of statements that performs a computation. You call it by name to execute its statements.
- Debugging Functions by Tracing Execution — The computepay function encapsulates pay calculation logic with two parameters: hours and rate.
- Debugging Java Programs with the Command Line — An assert statement checks a condition; if the condition is false while assertions are enabled, Java throws an AssertionError.
- Debugging List Programs and Avoiding Common Pitfalls — Aliasing means two variables point to the same list object, so changes through one variable affect the other.
- Debugging Loops and Tracing Execution — Iteration is the repeated execution of statements in a loop or recursive function, and understanding loop terminology is…
- Debugging Network Communication Errors — When you call encode() on a string, Python looks up each character and converts it to one or more bytes according to the UTF-8…
- Debugging Program Flow — Flow of execution is the order in which statements are executed, always proceeding from top to bottom.
- Debugging Programs with Print Statements — The running total method maintains only a sum and count, discarding individual numbers after computing the average.
- Debugging Python Code — How This (does not) WorkThis program does not work! Python says there is a syntax error which means that the script does not…
- Debugging Python Scripts — A Python script is a text file containing Python code, saved with the .py extension, that the interpreter executes from top to…
- Debugging Regex Patterns — String splitting for data extraction is brittle and requires extensive error handling; regex extraction is more flexible and…
- Debugging Regular Expression Patterns — The dir() function lists all methods and attributes in the re module, helping you discover available regex tools.
- Debugging Reused Code — Reuse means writing a set of instructions once, naming it, and calling that name multiple times throughout a program
- Debugging Strategies — Every program takes input, performs processing, and produces output—this is the fundamental structure of all programs.
- Debugging Strategies and Error Messages — Compound data structures nest collections inside one another, such as lists of tuples or dictionaries with tuple keys and list…
- Debugging Strategies and Tools — Syntax errors break Python's grammatical rules and prevent the program from running. Python reports them immediately with a line…
- Debugging Strategies for Cryptic Code — Mnemonic variable names are memory aids chosen to reflect the programmer's intent about what data each variable stores.
- Debugging Strategies for Finding Errors in Your Code — Semantic errors occur when code runs without error messages but produces incorrect results—the hardest kind of error to catch.
- Debugging Strategies for Mutable Objects — Most list methods modify the list in place and return None, unlike string methods which return a new string. This is because…
- Debugging String Output — Multiple expressions can be embedded in a single f-string by placing each one inside curly braces; Python evaluates them from…
- Debugging Techniques — The software development process has five phases: What (Analysis), Do It (Implementation), Test (Testing and Debugging), Use…
- Debugging Techniques and Reading Error Messages — The Python interpreter recovers from errors and returns a prompt; a script terminates immediately with a traceback.
- Debugging Techniques and Tools — Testing and debugging are essential phases where you verify that your program works and fix errors that prevent it from working…
- Debugging Techniques for Control Flow — While loops check their condition before each iteration; a boolean flag controls when the loop exits.
- Debugging Techniques for Loops — A while loop repeats code as long as a condition is true, checking the condition before each iteration.
- Debugging Techniques for Variable State — Variable updates are not special operations; they follow the same evaluation rules as all assignments: Python evaluates the…
- Debugging Techniques in Python — The assert statement verifies that a condition is true; if false, it raises an AssertionError
- Debugging the Email Spidering Process — The three-database pipeline consists of content.sqlite (raw, uncompressed), gmodel.py (transformation program), and index.sqlite…
- Debugging Tracebacks — EOFError is raised when input() encounters an end-of-file signal, typically triggered by pressing Ctrl-D (or Ctrl-Z on Windows).
- Debugging Type Errors in Functions — Functions can accept different data types as arguments if the function's operations are compatible with those types.
- Debugging Unexpected Changes in Data — A reference is the association between a variable name and an object. When you assign b = a, both variables refer to the same…
- Debugging Unintended Side Effects — Assignment creates a reference to a list, not a copy. Both variables point to the same object, so modifications through one…
- Debugging Web Applications in the Browser — geodump.py converts database records into executable JavaScript code by extracting location names, latitudes, and longitudes and…
- Debugging Web Crawl Results — spdump.py reads spider.sqlite and displays pages in a five-element tuple format: (incoming_links, old_rank, new_rank, page_id…
- Debugging with Built-in Functions — type() returns the class or type of an object, helping you understand what kind of data you are working with
- Debugging with Print Statements and Tracebacks — Try/except structures prevent program crashes by catching exceptions and executing recovery code when operations fail.
- Debugging with Tracebacks and Error Messages — Nested function calls occur when one function invokes another during its execution, causing the first function to pause while…
- Debugging Your Code — A script executes statements sequentially, from top to bottom, with each statement completing before the next begins.
- Debugging Your Code with Print Statements — The print function is Python's way of displaying messages on the screen—it is how your code speaks to the user.
- Debugging Your First Program — Next, we will write our first Python program.
- Debugging Your Own Learning: Recognizing and Overcoming Plateaus — Programming mastery, like language fluency, requires time and patience to absorb and internalize concepts.
- Debugging: Finding and Fixing Errors — Programming is a problem-solving skill that develops through practice and feedback, not a collection of syntax rules to memorize.
- Debugging: Finding and Fixing Mistakes in Your Code — Python requires precise, exact syntax because it is a tool without emotions or judgment. Even small mistakes cause Python to…
- Decision Stumps — A 3-piece classifier operates on the real line and is specified by two real thresholds theta_1 and theta_2 with theta_1 <…
- Decision Tree Classification — Decision tree learning searches for a tree that minimizes the relevant bound, but solving that search exactly is computationally…
- Decision-Making — Reinforcement learning combines learning with decision-making in a computational setting.
- Decision-Making with Value Functions — A value estimate is a long-run prediction of total future reward.
- Declaring and Creating Arrays — Declaring Student[] classlist and creating it with new Student[30] makes an array of references, not thirty Student objects.
- Declaring Exceptions with the throws Clause — Exceptions whose classes are not subclasses of Error or RuntimeException are checked exceptions, and the compiler requires the…
- Declaring Interfaces in Java — A default method is a method declared in an interface with a body, so implementing classes inherit a shared implementation…
- Declaring Static Member Variables — A static member variable is shared by all instances of its class, so it holds one value for the class as a whole.
- Declaring Variables in Java — The ListLetters program reads a line of text entered by the user and stores it in a String variable named str.
- Declaring Variables with Class Types — An import directive lets you write a simple class name in the rest of a Java file instead of the full name, but it does not…
- Declaring Variables with Explicit Types in Java — A variable declared with var in Java 11 and later has a definite type, taken from its initial value by the compiler.
- Declaring Variables with var and Named Constants — A named constant is a value given a name that cannot be changed once declared, and in Java it is written as a final static…
- Decoder-Only Language Models — GPT employs only the decoder portion of the original transformer and drops the encoder.
- Decoder-Only Models and Next-Word Prediction — Emergent behavior is the ability of a model to perform tasks it was not explicitly trained to perform.
- Decoding Strategies for Controlled Text Generation — An LLM generates text by predicting the next token from the current context, and the process repeats to extend that context.
- Decoding Token IDs Back into Text — tokenizer.encode(input_text) converts a string into a list of integer token IDs
- Decorators and Function Wrapping — An AssertionError is raised when an assert statement's condition is False, and it appears in the traceback with the file name…
- Deep Convolutional Neural Networks — DQN combines Q-learning and a deep convolutional ANN in one reinforcement-learning agent.
- Deep Learning — Artificial intelligence is the effort to automate intellectual tasks normally performed by humans.
- Deep Learning Basics — Classical programming starts with rules written by humans and uses them to process data.
- Deep Learning for Text and Sequence Data — Text vectorization changes raw text into numeric tensors.
- Deep Learning Fundamentals — The basic prerequisite is Python programming experience.
- Deep Learning Model Optimization — Model ensembling pools outputs from multiple models rather than relying on one model.
- Deep Learning-Driven Approaches — Natural language processing previously relied mostly on explicit rule-based systems and simpler statistical methods.
- Deep Neural Network Function Approximation — A parameterized policy uses weights θ to determine action probabilities.
- Deep Neural Networks — Data provides the material from which deep-learning systems learn.
- Deep-Learning Frameworks — Keras is the open-source, free-to-download framework used by the course examples.
- DeepDream — Variational autoencoders are generative models that learn compressed latent representations.
- Deeply Layered Artificial Neural Networks — An ANN is a network of interconnected units, not a single isolated unit.
- Default Argument Values — Default argument values make certain function parameters optional by specifying a value to use if the caller does not provide one.
- Default Values of Variables — An array can be initialized by listing its values, separated by commas, between a pair of braces, and its length is the number…
- Defensive Programming Practices — The assert statement verifies that a condition is true; if false, it raises an AssertionError
- Defining a Function — A function definition uses the def keyword, a function name, parentheses, a colon, and an indented block of statements.
- Defining a NeuralNetwork Model in PyTorch — torch.load("model.pth") reads the saved file and reconstructs the Python dictionary containing the model's parameters.
- Defining an Interface — A class implements an interface by using the reserved word implements in its header and by defining every instance method the…
- Defining and Calling Functions — raw_input() captures text from the keyboard and returns it as a string to your program.
- Defining and Calling Subroutines — A formal parameter is a variable declared in a function definition and is used in function definitions.
- Defining and Calling User-Defined Functions — Expressions and variables can both be passed as arguments to user-defined functions, just as they can be passed to built-in…
- Defining and Implementing Interfaces — Java does not support multiple inheritance, a deliberate choice to keep the language reasonably simple.
- Defining and Using Classes — During training, the SVM learns how important each of the training data points is to represent the decision boundary between the…
- Defining Classes and Creating Instances — The class keyword creates a new type in Python, not just a container for code.
- Defining Classes and Creating Objects — A class is a reusable blueprint; an object is a concrete instance created from that blueprint.
- Defining Classes and Instance Methods — A public variable gives direct access, but a getter and setter pair gives the class a place to run code when the value is read…
- Defining Classes and Instance Variables — Nouns in a problem description are candidate classes, and simple values such as suit and value are usually instance variables of…
- Defining Database Tables with CREATE TABLE — INSERT adds rows to a database table; commit() must be called to permanently save changes to the database file.
- Defining Forward Deployed Engineers — The course is organized as modules, which contain chapters, which contain named sections.
- Defining Functional Interfaces — A functional interface is a Java interface with a single abstract method, and Runnable is a standard example with one method, run.
- Defining Functions with def — Reserved words are a fixed set of 35 words that have unchangeable, singular meanings to Python and form the core of the…
- Defining Functions with Parameters — Defining a function creates a variable that holds a function object with type 'function'.
- Defining Goals and Rewards in Reinforcement Learning — The learning-agent boundary follows control, not the outer boundary of a physical body.
- Defining Instance Variables and Methods — A class is a blueprint, or factory, used to construct objects; it describes what objects will contain rather than being the…
- Defining Optimal Policies — The optimal state-value function v∗(s) gives the maximum expected return achievable from a state.
- Defining Requirements Clearly — Problem analysis identifies gaps and ambiguities in a problem statement before you begin coding.
- Defining Static Subroutines — A subroutine must be defined somewhere, and the definition must supply its name, enough information to call it, and the code…
- Defining Subroutines in Java — Drawing instructions belong inside a subroutine definition, and that subroutine belongs inside a class definition.
- Defining Success Metrics for AI Systems — A representative evaluation set is built from real-world examples that reflect the mix of work a system will actually face.
- Defining Success Metrics for Customer Deliverables — A lead's role expands gradually, supported by a senior shadow who observes and gives specific feedback.
- Defining Success Metrics for Projects — A scoping document is a one-page record of the shared understanding between customer and vendor, and its format matters less…
- Defining the Prediction Objective in Reinforcement Learning — The on-policy distribution describes states under the target policy π.
- Defining the Problem — where α i = -〈 w , x i 〉 and β i = y i /G ( y , y ). We can think of this problem a little bit differently by defining a matrix…
- Defining Your First Class — Object construction using ClassName() creates an instance and assigns it to a variable for later access.
- Defining Your Own Classes — Objects follow a predictable lifecycle: construction (via __init__), operation (via method calls that modify state), and…
- Defining Your Own Functions — You have seen how you can reuse code in your program by defining functions once. What if you wanted to reuse a number of…
- Definition of 'Python 2' — The specific range of Python versions that the book refers to as 'Python 2'.
- Delayed Reinforcement — Trace conditioning is defined by a temporal gap between conditioned-stimulus offset and unconditioned-stimulus onset.
- DELETE: Removing Data from Tables — CRUD is an acronym representing the four fundamental database operations: Create, Read, Update, and Delete.
- DELETE: Removing Records from a Table — UPDATE modifies existing records in a table using the SET keyword to specify columns and new values.
- Deleting Data with DELETE — INSERT adds new rows to a table; specify the table, columns, and values.
- Delivering AI Solutions: working with the customer's internal team — Designing for handoff means shaping the project from its earliest days so the customer's team can run the system after the…
- Delivering an AI System to Users — An FDE engagement is organized into three phases in order: early scoping, validation, and delivery.
- Delivering Bad News to Customers — Simulation interviews ask you to recount specific past customer engagements, so specificity and clear structure matter more than…
- Delta Mode in AI Engineering — The autonomy slider sets how far up the Delta is pushing the next generation of agentic tools, and the governing question is how…
- Dense Layers — Broadcasting makes tensors with different shapes compatible for operations such as addition when possible and unambiguous.
- Densely Connected Layers and Convolution Layers — Convolution focuses on local patches rather than treating the entire image as one undivided pattern.
- Deploying AI Systems in Customer Environments — The gap between lab and production performance is the central problem the FDE role exists to solve.
- Deployment as the Primary Artifact — The document-versus-code test asks whether an engagement's primary artifact is a document or a deployment.
- Deployment Career Path — The deployment career is the usual and good starting point, and it builds the working skill that qualifies engineers for later…
- Deployment Challenges in AI Projects — AI project failure rates above eighty percent, reported by RAND's August 2024 meta-analysis, are twice the rate of non-AI IT…
- Deployment FDE Career Characteristics — The two FDE paths are different careers, so the choice affects long-term shape, not only the next assignment.
- Describing Production Challenges Clearly — The final stage of a hiring process is a conversation that looks like a discussion of your background but is really assessing…
- Design Patterns in Object-Oriented Programming — Procedure-oriented programming organizes code around reusable functions; object-oriented programming organizes code around…
- Design Review Timing — Early stakeholder involvement means bringing a stakeholder into the design process at the start, so objections can change the…
- Designing a Card Game Program — Nouns in a problem description are candidate classes, and simple values such as suit and value are usually instance variables of…
- Designing a Database Schema — The three primary data structures in a relational database are tables, rows, and columns.
- Designing a Program Around Entities — Object-oriented programming models a problem as a set of objects instead of a sequence of tasks, so the program's structure…
- Designing a Program with Subroutines — Stepwise refinement develops a program's algorithm gradually, turning a rough list of steps into smaller steps that are precise…
- Designing a Solution — Specifying program requirements means translating a vague problem into concrete, measurable specifications that leave no room…
- Designing an Evaluation Set for Contract Review — An evaluation set is a collection of contracts with known correct answers, and it can grow during a project.
- Designing Auditable AI Systems — An audit trail is a record used to reconstruct events, and it is what an organization draws on when something goes wrong.
- Designing Black-Box Interfaces for Subroutines — A subroutine can use local variables declared inside it, formal parameters that receive values from the caller, and variables…
- Designing Card Game Classes — A subclass is created by extending an existing class, so it inherits what the parent provides and adds only its changes and…
- Designing Class Hierarchies — Polymorphism allows a subtype to be treated as an instance of its parent type, enabling flexible code that works with multiple…
- Designing Classes and Objects — A class is a template; an object is an instance of that template with its own state.
- Designing Classes for Real-World Problems — A class is a template that defines what data and code each object will have; the class keyword does not create an object.
- Designing Classes with Private Instance Variables — A class invariant is a statement that must always be true about objects of a class, such as each die in a PairOfDice object…
- Designing Database Tables and Relationships — A database is justified only when your application needs frequent random updates on large datasets, must handle data larger than…
- Designing Demos Around Customer Use Cases — A demo is realistic when it uses real customer data, produces output in the customer's own format, and follows the same flow as…
- Designing Effective Customer Dashboards — The source calls the customer dashboard a trust surface, not a sales surface, because it shows the customer what the system is…
- Designing Effective Database Schemas — A database is a persistent, disk-based file that stores data as key-value pairs, unlike a dictionary which lives in RAM and…
- Designing Efficient Database Schemas — The three-database pipeline consists of content.sqlite (raw, uncompressed), gmodel.py (transformation program), and index.sqlite…
- Designing Eval Criteria for AI Products — A vague quality concern cannot drive improvement, because no one can say whether a change satisfied it.
- Designing Eval Sets for Real Distributions — The spec-and-test tradition treats test cases as guarantees that always pass, while the eval discipline treats them as samples…
- Designing Evaluation Rubrics for AI Outputs — Criteria drift is the change in evaluation criteria that occurs as a rubric is used to grade real outputs and surfaces…
- Designing Event-Driven Java GUI Programs — Input focus decides which component receives keyboard events: exactly one element holds it at a time, and all keyboard events go…
- Designing Failure Mode Panels — Trust in a dashboard is granted by the reader, and it is often earned by visible honesty about failure rather than by polished…
- Designing for Compliance Reviews — A complete audit log is not sufficient for compliance if its entries cannot identify the human responsible for each read.
- Designing Idempotent Functions — An AssertionError is raised when an assert statement's condition is False, and it appears in the traceback with the file name…
- Designing Incentives in Vendor-Customer Relationships — Contract structure is a design choice that shapes incentives, not a fixed container for engineering work.
- Designing Interfaces for Reuse — A subroutine is a procedural abstraction whose interface can be used without knowing how the procedure is implemented.
- Designing Join Tables for Many-to-Many Relationships — SQL does not support arrays as a native data type, making array-based many-to-many workarounds impossible.
- Designing Junction Tables — Many-to-many relationships require three tables: two entity tables and one junction table that holds foreign keys linking them.
- Designing Many-to-Many Relationships with Junction Tables — Many-to-many data loading requires parsing JSON and distributing the data across two entity tables and one junction table.
- Designing Multi-Agent Systems — The source recommends not reaching for multi-agent systems in a first build; the practical starting point is one agent or, more…
- Designing Normalized Database Schemas — JOIN and ON clauses reconstruct data across multiple tables by following relational connections between foreign keys and primary…
- Designing Object Interactions — Object-oriented programming designs a program around a set of objects that model the entities in a problem, rather than around a…
- Designing Object State with Instance Variables — A GUI object such as the SubKiller boat, bomb, or sub keeps its state in its own instance variables, so state questions are…
- Designing Objects with Attributes and Methods — Large programs cannot be held entirely in a programmer's mind at once, making it impossible to manage them as a single…
- Designing Objects with Clear Interfaces — Abstraction is the ability to hide complexity so you can focus on what matters to you and ignore the rest.
- Designing Objects with Single Responsibility — A zone is a self-contained unit combining code (methods) and data (attributes) with well-defined interactions with other zones…
- Designing Observable Agent Systems — Telemetry is part of what a system is for, so it belongs from the first commit rather than being added after production.
- Designing Platform Features From Customer Patterns — FDEs and product engineers have different incentives: FDEs ship customer-specific solutions, while product engineers build…
- Designing Relational Database Schemas — The INSERT OR IGNORE and SELECT pattern is a two-step sequence that inserts a row and immediately retrieves its primary key for…
- Designing Relational Database Tables — The INSERT OR IGNORE and SELECT pattern solves the foreign key dependency problem by inserting a record and immediately…
- Designing Relational Databases: Multiple Tables and Normalization — The fundamental rule of database normalization is to never repeat the same string data in a column more than once.
- Designing Reusable Classes — The Card class uses named constants such as SPADES and ACE so that suits and values are readable instead of being bare integer…
- Designing Routing Decisions — Most production systems do not need an agent; they need a workflow.
- Designing Rubrics for LLM-as-Judge Evaluation — Calibration checks an LLM-as-Judge by comparing its labels with domain experts' labels on a sample of roughly 50 to 100 outputs.
- Designing Subroutines to Solve Subtasks — A subroutine header fills four slots in order: modifiers, return type, name, and parameter list, and the divisor example fills…
- Designing Swing Components with the Model Interface — MVC divides a graphical component into Model, View, and Controller so that each object has one clearly defined role.
- Designing Tables with Primary and Foreign Keys — Redundancy occurs when the same information is stored multiple times across different rows in a table, such as repeating an…
- Designing the Application Layer Around a Model — Jagged intelligence means an AI system can be brilliant on one task and surprisingly weak on an adjacent one, so strength does…
- Designing the Contract Review System — The first-commit repository layout has a README, a prompts folder, a src folder with three Python files, an evals submodule, and…
- Designing the Deck Class — A new Deck takes no constructor arguments and begins with 52 cards in a standard order, with every new deck identical to the…
- Designing the Pre-Call Briefing Agent — The briefing agent was scored on a four-criterion rubric: factual accuracy, recency, salience, and time-to-first-insight.
- Detecting Patterns in Sequences — The modulus operator (%) returns the remainder when one integer is divided by another.
- Determining When to Avoid Vendor FDE Teams — Core capabilities are AI workflows crucial for a company's differentiation, and for these, internal ownership matters.
- Deterministic Orchestration in Production Workflows — Most production systems do not need an agent; they need a workflow.
- Deterministic Policies — The value function vπ gives the value of following policy π from state s.
- Deterministic vs Stochastic Systems — With a specification, the engineer's job is to produce a deterministic system that exactly matches the spec.
- Developing a Model that Overfits — Think of machine learning as a workflow of connected decisions, not only as model construction.
- Developing and Validating AI Models for Claims Summarization — Validation of the AI model used four separate criteria: factual accuracy, citation correctness, tone, and completeness, and each…
- Development Environment Setup — Keras is the open-source, free-to-download framework used by the course examples.
- Diagnosing Genuine AI Engineering Engagements — The cargo-cult engagement diagnostic is a tool for identifying cargo-cult engagements by recognizing their pattern from the…
- Dialogs and Modal Windows — A window can be defined as a subclass of JFrame, and its constructor can set up the window's contents, title, and menu bar.
- Dialogs in Java — The predefined dialogs come from JColorChooser, which provides the color chooser, and from JOptionPane, which provides message…
- Dichotomies of Hypothesis Classes — The capacity of L(B,T) is analyzed by counting dichotomies on a set C.
- Dictionaries and the .get() Method — urllib.request.urlopen() opens a web URL and returns a file-like object that you can iterate over line by line.
- Dictionaries as Data Structures — data structure Acollection of related values, often organized in lists, dictionaries, tuples, etc.
- Dictionaries in Python — Use a dictionary to count word frequencies by checking if each word exists and incrementing its count
- Dictionaries: Mapping Keys to Values — The get() method safely retrieves dictionary values, returning a default if the key is missing.
- Dictionary Basics — There is no switch statement in Python. You can use an if..elif..else statement to do the same thing (and in some cases…
- Dictionary Basics and Operations — We can delete key-value pairs using our old friend - the del statement. We simply specify the dictionary and the indexing…
- Dictionary Basics: Creating and Accessing — A histogram is a frequency count stored in a dictionary, where keys are unique values (like email addresses) and values are…
- Dictionary Basics: Creating and Accessing Key-Value Pairs — Character counting uses a dictionary to store each unique character and its count.
- Dictionary Basics: Keys, Values, and Methods — The .items() method returns tuples of (key, value) pairs from a dictionary.
- Dictionary Creation and Access — Dictionaries are ideal for counting and categorizing data because they map keys to values instantly.
- Dictionary Creation and Manipulation — Hashability is the property that allows an object to be used as a dictionary key. A hashable object must produce the same hash…
- Dictionary Fundamentals and Operations — Composite keys are tuples used as dictionary keys to organize data by multiple related values simultaneously.
- Dictionary Fundamentals: Keys and Values — Tuples are immutable sequences indexed by integers, meaning their elements cannot be changed after creation.
- Dictionary Methods — Dictionaries are created empty using dict() or {} and store key-value pairs.
- Dictionary Methods and Built-in Functions — The items() method converts a dictionary into a list of tuples, where each tuple contains one key-value pair.
- Dictionary Methods and Operations — Looping over a dictionary with for key in dict: iterates through the keys; use dict[key] to access the value.
- Dictionary Methods: get, keys, values, items — A histogram is a frequency count stored in a dictionary, where keys are unique values (like email addresses) and values are…
- Dictionary Methods: get(), keys(), and values() — Dictionary lookups use keys, not integer indices: dictionary[key] retrieves the value associated with that key.
- Dictionary Methods: keys(), values(), and items() — Looping through a dictionary directly iterates over its keys, not its values.
- Dictionary Methods: keys(), values(), items() — To print dictionary keys in alphabetical order, extract keys using list(dict.keys()), sort the resulting list with sort(), and…
- Differentiable Activation Functions — Backpropagation alternates forward and backward passes through an ANN with hidden layers.
- Differentiable Optimization — The learning objective is to minimize the risk function L_D.
- Differentiable Value Functions — Gradient Monte Carlo uses gradient descent to update the weights of a value function.
- Differential Reward Estimation — Differential semi-gradient n-step Sarsa extends semi-gradient n-step Sarsa with differential reward estimation.
- Differential Semi-gradient Sarsa — The differential n-step return is G(n)t = R̄ + V̄(S(t+n)) − V̄(S(t)).
- Differential Semi-gradient Sarsa for Control — The task is a continuing accept-or-reject problem over customers arriving at a single queue.
- Dimensionality Reduction — Dimensionality reduction maps vectors from R^d to R^n using a linear transformation, where n is smaller than d.
- Dimensionality Reduction for High-Dimensional Data — RIP is defined through a restriction involving nonzero vectors with ‖x‖0 ≤ s.
- Dimensionality Reduction Techniques — Clustering finds meaningful groups among data objects during exploratory data analysis.
- Direct Reinforcement Learning — Dyna-Q gives an agent both direct reinforcement learning and planning.
- Directories and the File System — A path name gives both a file's name and the directory where the file is located, which is needed whenever the file is not in…
- Directories for Non-Human Identities — Every agent needs its own identity, and permissions, expiration, and audit records all attach to that identity.
- Discounted Formulation — Continuing cases motivate the average reward formulation.
- Discounted Returns and Policy Evaluation — Discounting does not automatically create a meaningful preference in a continuing problem with no distinguished beginning or end.
- Discovery Discipline in Enterprise Software Sales — A price fixed at contract time is set before the operators' habits are known, so discovery is the main protection against a…
- Discovery Discipline in Pricing — Four pricing terms are fixed at contract time: the tier, the setup fee, the outcome definition, and the consumption commitment.
- Displaying Dialogs with JOptionPane — JFileChooser creates file dialogs that let a user choose a file for reading or writing instead of typing a path.
- Dissimilarity Functions — Kleinberg's work is presented as an axiomatic attempt to define clustering.
- Distance and Similarity Functions — Clustering does not necessarily have one correct answer.
- Distance Functions — Linkage-based clustering repeatedly merges clusters, beginning with single-point clusters.
- Distance functions for similarity construction — A similarity graph represents each data point as a vertex and each pairwise similarity as an edge weight.
- Distance Measures in Clustering — The k-Means objective measures the sum of squared distances from each point to the centroid of its cluster.
- Distinguishing Thesis From Strategy — Founder-mode temperament is a mindset that holds a core thesis tightly while staying loose on the decisions downstream of it.
- Distributed Training with Multiple GPUs — DDP runs a separate process on each GPU, and each process keeps a complete copy of the model rather than a piece of it.
- Distribution Shift in Production Systems — An evaluation set is a living artifact that decays over time if it is not maintained, a failure the source calls eval-set rot.
- Documenting Functions and Modules — As programs grow larger and more complex, they become harder to read due to the density of formal language
- Documenting Project Requirements — Scoping discipline means checking the requirements and assumptions behind a project before committing engineering work to it.
- Documenting Work for the Next Practitioner — A slice library is a moat for solo operators and small shops and a highway for larger teams, and it is valuable in both settings…
- Domain Knowledge and General Methods in Artificial Intelligence — General principles provide reusable approaches to learning, search, and decision-making.
- Domain Models and Customer Workflows — The ontology is a layer that allows domain models to be defined in a consistent format.
- Domain Points and Labels — Training data is the learner’s input and consists of a finite sequence of labeled examples.
- Domain-specific LLM Applications — A custom-built LLM is trained from scratch on domain-specific data, so its learning is organized around one domain from the…
- Dopamine and Neuromodulatory Signals — Eligibility traces preserve synapse-specific information about earlier activity.
- Dopamine and Reward-Based Learning — The hypothesis focuses on prediction error: the gap between expected and actual rewards.
- Dopamine as a Neuromodulator — The traditional view begins with two main dopamine-producing neuron clusters in the mammalian midbrain: the SNpc and the VTA.
- Dopamine as a Reinforcement Signal — The actor-critic model is mapped hypothetically onto different striatal subdivisions rather than onto one undivided structure.
- Dopamine Neuron Activity — The hypothesis is about an error between old and new estimates of expected future reward.
- Dopamine Neuron Activity and Reward Prediction — Dopamine neurons respond strongly to certain intense, novel, or unexpected stimuli, but their activity is not simply a record of…
- Dopamine Production — Dopamine is produced mainly by neurons in the SNpc and VTA of the midbrain.
- Dopamine Signal Processing — In the hypothetical actor-critic brain implementation, the ventral striatum sends value information to the VTA and SNpc.
- Dopamine Signaling in Reward-Based Learning — The key neuroscience connection is the correspondence between TD error and phasic dopamine responses.
- Dopamine's Role in Reward Processing and Reinforcement Learning — The traditional view begins with two main dopamine-producing neuron clusters in the mammalian midbrain: the SNpc and the VTA.
- Dorsal Striatum — The basal ganglia are a connected collection of nuclei that can influence movement, decisions, learning, and reward processing.
- Dot Products and Vector Similarity — Attention scores are computed by taking the dot product of one chosen query token with every input token, including itself.
- DP-Style Expected Backups — Baird's counterexample is a concrete demonstration that semi-gradient TD(0) can be unstable.
- DRAM Access Steps — The memory controller is the coordination layer between processors and off-chip DRAM.
- Drawing Images using Graphics — The Graphics class provides the methods that copy an image onto the screen or an off-screen canvas, most commonly from inside…
- Drawing Lines and Pixels with Graphics — The rectangle outline is drawn one pixel wider and one pixel taller than the width and height passed in.
- Drawing Lines and Shapes in Graphics2D — Antialiasing reduces the jagged look of shapes by blending the drawing color with the original pixel color, in proportion to how…
- Drawing Lines and Shapes Pixel by Pixel — A screen is a grid of pixels, and drawing means choosing the colors of individual pixels.
- Drawing Shapes and Text with Graphics — A graphics context is an object of class java.awt.Graphics, and Java needs one for any drawing.
- Drawing Shapes and Text with the Graphics Class — Java has two fundamentally different kinds of Image: those read from external sources such as files or network connections, and…
- Drawing Shapes with a Graphics Context — A computer animation is a sequence of individual pictures, each called a frame, shown quickly one after another.
- Drawing Shapes with Graphics2D — Stroke is an interface, and BasicStroke is the class that implements it and produces the stroke objects you use.
- Drawing Text in Java Graphics — Every graphics context has a current font, which is used for drawing text through that context.
- Drift in Deployed AI Systems — The high projected failure figure is best read as a forecast of future repair workload, not as proof that FDE programs are a…
- Dropout — Overfitting is reduced by making memorization less easy and generalizable representations more useful.
- Dropout in Deep Learning — Dropout is a training technique in which randomly selected hidden layer units are ignored, which helps prevent overfitting by…
- Dropout layers and overfitting — GPTModel uses dropout layers in three distinct places: the embedding layer, the shortcut layer, and the multi-head attention…
- Dual Outputs in Engineering Engagements — An engineering engagement produces two distinct outputs: the customer-side system and codified learning.
- Dyna-Q Agent — A Dyna-Q agent can fail when the environment changes after it has learned a model.
- Dyna-Q planning — Dyna-Q+ uses elapsed time since the last real trial as a signal for exploration.
- Dynamic Array Implementation — PhoneDirectory stores name/number pairs in a private array and tracks the used portion with dataCount.
- Dynamic Arrays — A phone directory built on an association list stores each name and number as a pair, so a lookup by key returns the associated…
- Dynamic Arrays and Resizing — A stack can be implemented with an array or with a linked list, and both versions expose the same push, pop, and isEmpty…
- Dynamic Arrays of Integers — Generic programming means writing code that works for many types of data instead of rewriting nearly identical code for each type.
- Dynamic Programming and Policy Iteration — GPI is a coordinated process, not a choice between policy improvement and value estimation.
- Dynamic Programming for Nonlinear Costs — The exercise is a controlled modification of Jack's car rental problem, not an unrelated optimization problem.
- Dynamic Programming Methods — Bootstrapping is the practice of revising an estimate on the basis of another estimate.
- Dynamic Programming State Backups — Asynchronous DP methods are in-place iterative methods that back up states in an arbitrary order.
- Dynamic typing — A feature of Python's syntax and nature that contributes to its suitability for scripting and rapid application development.