# RedDuck Academy > Free, hands-on Web3 and Solidity education: interactive courses, in-browser coding tasks, on-chain projects, and certificates. > Any lesson page also serves clean Markdown — request its URL with the `Accept: text/markdown` header. ## Key pages - [Home](https://academy.redduck.io/): Platform overview - [All courses](https://academy.redduck.io/courses): Full course catalog - [Full content (Markdown)](https://academy.redduck.io/llms-full.txt): Every lesson in one Markdown file, each with a Source URL - [Ranking](https://academy.redduck.io/ranking): Learner leaderboard - [Privacy Policy](https://redduck.io/privacy-policy) ## Courses - [Blockchain basics](https://academy.redduck.io/courses/blockchain-basics): A foundations course on how blockchains work from the cryptography up: hashing, signatures, consensus, nodes, forks, and Bitcoin's design as the worked example. Built to give you a real understanding of the machine before learning to write code that runs on it. - [Development on Ethereum](https://academy.redduck.io/courses/development-on-ethereum): A hands-on path from your first line of Solidity to shipping production-ready smart contracts, covering language fundamentals, security, tooling, proxies, randomness, token standards, and the patterns behind real DeFi protocols. Through milestone projects you'll learn to write code that doesn't just work, it holds up when the network turns hostile. - [Development on Solana](https://academy.redduck.io/courses/development-on-solana): A hands-on path from your first Anchor program to shipping production-ready Solana code, covering accounts and PDAs, CPI composition, Token-2022 extensions, security patterns, oracles, randomness, and the architecture underneath every modern Solana protocol. Through milestone projects you'll learn to write programs that don't just compile, they survive once they hold real funds. - [Engineering principles](https://academy.redduck.io/courses/engineering-principles): The design principles that good engineering runs on, taught with plain examples from everyday software, databases, and real-world systems, so each one lands without any blockchain background. You'll learn to weigh a tradeoff against the goal it serves, to bypass a hard constraint instead of fighting it, to keep the smallest amount of logic in the position of highest trust, and to reason like an adversary before you build. Every principle stands on its own. Each lesson closes with an optional note on how it shows up in blockchain systems, there for anyone heading into the security tracks and skippable for everyone else. ## Blockchain basics > A foundations course on how blockchains work from the cryptography up: hashing, signatures, consensus, nodes, forks, and Bitcoin's design as the worked example. Built to give you a real understanding of the machine before learning to write code that runs on it. - [Welcome to the RedDuck Academy: How it works](https://academy.redduck.io/courses/blockchain-basics/welcome-to-the-redduck-academy/how-it-works) - [What is web3: What is web3](https://academy.redduck.io/courses/blockchain-basics/what-is-web3/what-is-web3) - [What is web3: Where blockchain fits in web3](https://academy.redduck.io/courses/blockchain-basics/what-is-web3/where-blockchain-fits-in-web3) - [Cryptography: Hashing](https://academy.redduck.io/courses/blockchain-basics/cryptography/hashing) - [Cryptography: Encoding](https://academy.redduck.io/courses/blockchain-basics/cryptography/encoding) - [Cryptography: Symmetric and asymmetric encryption](https://academy.redduck.io/courses/blockchain-basics/cryptography/symmetric-and-asymmetric-encryption) - [Cryptography: Public-key cryptography](https://academy.redduck.io/courses/blockchain-basics/cryptography/public-key-cryptography) - [Cryptography: Mnemonic phrases and how a wallet gets created](https://academy.redduck.io/courses/blockchain-basics/cryptography/mnemonic-phrases-and-how-a-wallet-gets-created) - [Cryptography: Digital signatures and signature recovery](https://academy.redduck.io/courses/blockchain-basics/cryptography/digital-signatures-and-signature-recovery) - [Cryptography: Merkle trees](https://academy.redduck.io/courses/blockchain-basics/cryptography/merkle-trees) - [Cryptography: Cryptographic primitives - Test](https://academy.redduck.io/courses/blockchain-basics/cryptography/cryptographic-primitives) - [How blockchains work: What is blockchain](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/what-is-blockchain) - [How blockchains work: Blockchain vs database](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/blockchain-vs-database) - [How blockchains work: Why we need consensus](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/why-we-need-consensus) - [How blockchains work: Nodes and the network](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/nodes-and-the-network) - [How blockchains work: Transaction flow](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/transaction-flow) - [How blockchains work: Forks and conflict resolution](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/forks-and-conflict-resolution) - [How blockchains work: Determinism and what blockchains can't do](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/determinism-and-what-blockchains-cant-do) - [How blockchains work: Blockchain mechanics - Test](https://academy.redduck.io/courses/blockchain-basics/the-blockchain-idea/blockchain-mechanics) - [Bitcoin: The Bitcoin design philosophy](https://academy.redduck.io/courses/blockchain-basics/bitcoin/the-bitcoin-design-philosophy) - [Bitcoin: The UTXO model](https://academy.redduck.io/courses/blockchain-basics/bitcoin/the-utxo-model) - [Bitcoin: Blocks and mining](https://academy.redduck.io/courses/blockchain-basics/bitcoin/mining) - [Bitcoin: The economics of proof of work](https://academy.redduck.io/courses/blockchain-basics/bitcoin/the-economics-of-proof-of-work) - [Bitcoin: Bitcoin-specific forks](https://academy.redduck.io/courses/blockchain-basics/bitcoin/bitcoin-specific-forks) - [Bitcoin: What Bitcoin gave up and what it gained](https://academy.redduck.io/courses/blockchain-basics/bitcoin/what-bitcoin-gave-up-and-what-it-gained) - [Bitcoin: Bitcoin internals - Test](https://academy.redduck.io/courses/blockchain-basics/bitcoin/bitcoin-internals) - [Beyond Bitcoin: Public and private chains](https://academy.redduck.io/courses/blockchain-basics/beyond-bitcoin/public-and-private-chains) - [Beyond Bitcoin: The blockchain trilemma](https://academy.redduck.io/courses/blockchain-basics/beyond-bitcoin/the-blockchain-trilemma) - [Beyond Bitcoin: What you know now](https://academy.redduck.io/courses/blockchain-basics/beyond-bitcoin/what-you-know-now) ## Development on Ethereum > A hands-on path from your first line of Solidity to shipping production-ready smart contracts, covering language fundamentals, security, tooling, proxies, randomness, token standards, and the patterns behind real DeFi protocols. Through milestone projects you'll learn to write code that doesn't just work, it holds up when the network turns hostile. - [Welcome to Ethereum: What Ethereum course is about](https://academy.redduck.io/courses/development-on-ethereum/welcome-to-ethereum/what-ethereum-course-is-about) - [Welcome to Ethereum: What Ethereum is](https://academy.redduck.io/courses/development-on-ethereum/welcome-to-ethereum/what-ethereum-is) - [Welcome to Ethereum: Where Ethereum came from](https://academy.redduck.io/courses/development-on-ethereum/welcome-to-ethereum/where-ethereum-came-from) - [How Ethereum works: The account model](https://academy.redduck.io/courses/development-on-ethereum/how-ethereum-works/the-account-model) - [How Ethereum works: Contracts and gas](https://academy.redduck.io/courses/development-on-ethereum/how-ethereum-works/contracts-and-gas) - [How Ethereum works: The EVM](https://academy.redduck.io/courses/development-on-ethereum/how-ethereum-works/the-evm) - [How Ethereum works: Consensus on Ethereum](https://academy.redduck.io/courses/development-on-ethereum/how-ethereum-works/consensus-on-ethereum) - [Solidity basics: Booleans and integers](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/booleans-and-integers) - [Solidity basics: Strings and addresses](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/strings-and-addresses) - [Solidity basics: Mappings](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/mappings) - [Solidity basics: Enums, arrays, and byte arrays](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/enums-arrays-and-byte-arrays) - [Solidity basics: Structs](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/structs) - [Solidity basics: Solidity types - Test](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/solidity-types-test) - [Solidity basics: Functions](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/functions) - [Solidity basics: Errors, modifiers, and events](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/errors-modifiers-and-events) - [Solidity basics: Donor Tiers Vault](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/donor-tiers-vault) - [Solidity basics: Inheritance](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/inheritance) - [Solidity basics: Loops and hashing](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/loops-and-hashing) - [Solidity basics: Academy token](https://academy.redduck.io/courses/development-on-ethereum/solidity-basics/academy-token) - [Token security and EVM internals: What is ERC-20](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/what-is-erc-20) - [Token security and EVM internals: Vault robbing](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/vault-robbing) - [Token security and EVM internals: Reentrancy and denial-of-service](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/reentrancy-and-denial-of-service) - [Token security and EVM internals: Low-level calls](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/low-level-calls) - [Token security and EVM internals: Solidity gotchas - Test](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/solidity-gotchas-test) - [Token security and EVM internals: Front-running and MEV](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/front-running-and-mev) - [Token security and EVM internals: Commit-reveal](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/commit-reveal) - [Token security and EVM internals: Storage layout](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/storage-layout) - [Token security and EVM internals: Upgradeable contracts and proxies](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/upgradeable-contracts-and-proxies) - [Token security and EVM internals: Proxies - Test](https://academy.redduck.io/courses/development-on-ethereum/token-security-and-evm-internals/proxies-test) - [DeFi tasks and patterns: Testing](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/testing) - [DeFi tasks and patterns: Voting on token price](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/voting-on-token-price) - [DeFi tasks and patterns: Off-chain computation, on-chain verification](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/off-chain-computation-on-chain-verification) - [DeFi tasks and patterns: Voting on token price, with withdrawal](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/voting-on-token-price-with-withdrawal) - [DeFi tasks and patterns: AMM](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/amm) - [DeFi tasks and patterns: AMM Pair](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/amm-pair) - [DeFi tasks and patterns: Merkle airdrop](https://academy.redduck.io/courses/development-on-ethereum/defi-tasks-and-patterns/merkle-airdrop) - [Tokens beyond ERC-20: ERC-721 and ERC-1155](https://academy.redduck.io/courses/development-on-ethereum/tokens-beyond-erc-20/erc-721-and-erc-1155) - [Tokens beyond ERC-20: ERC-4626 tokenized vaults](https://academy.redduck.io/courses/development-on-ethereum/tokens-beyond-erc-20/erc-4626-tokenized-vaults) - [Oracles: Oracles and Chainlink Price Feeds](https://academy.redduck.io/courses/development-on-ethereum/oracles/oracles-and-chainlink-price-feeds) - [Oracles: Randomness on chain](https://academy.redduck.io/courses/development-on-ethereum/oracles/randomness-on-chain) - [Oracles: Raffle](https://academy.redduck.io/courses/development-on-ethereum/oracles/raffle) - [Oracles: Flash loans](https://academy.redduck.io/courses/development-on-ethereum/oracles/flash-loans) - [Oracles: TWAP oracles](https://academy.redduck.io/courses/development-on-ethereum/oracles/twap-oracles) - [Advanced DeFi : Gasless approvals](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/gasless-approvals) - [Advanced DeFi : Uniswap V3](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/uniswap-v3) - [Advanced DeFi : Account abstraction](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/account-abstraction) - [Advanced DeFi : DeFi - Test](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/defi-test) - [Advanced DeFi : Keepers and Chainlink Automation](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/keepers-and-chainlink-automation) - [Advanced DeFi : Lending and borrowing on-chain](https://academy.redduck.io/courses/development-on-ethereum/advanced-defi/lending-and-borrowing-on-chain) - [Clear signing: Blind signing and the Bybit hack](https://academy.redduck.io/courses/development-on-ethereum/clear-signing/blind-signing-and-the-bybit-hack) - [Clear signing: ERC-8009: sign the outcome](https://academy.redduck.io/courses/development-on-ethereum/clear-signing/erc-8009-sign-the-outcome) - [Clear signing: The core and its routers](https://academy.redduck.io/courses/development-on-ethereum/clear-signing/the-core-and-its-routers) - [Conclusion: Congratulations](https://academy.redduck.io/courses/development-on-ethereum/conclusion/congratulations) ## Development on Solana > A hands-on path from your first Anchor program to shipping production-ready Solana code, covering accounts and PDAs, CPI composition, Token-2022 extensions, security patterns, oracles, randomness, and the architecture underneath every modern Solana protocol. Through milestone projects you'll learn to write programs that don't just compile, they survive once they hold real funds. - [Welcome to Solana: What the Solana course is about](https://academy.redduck.io/courses/development-on-solana/welcome-to-solana/what-the-solana-course-is-about) - [Welcome to Solana: What Solana is](https://academy.redduck.io/courses/development-on-solana/welcome-to-solana/what-solana-is) - [Welcome to Solana: Where Solana came from](https://academy.redduck.io/courses/development-on-solana/welcome-to-solana/where-solana-came-from) - [The Solana mental model: Why Solana was built differently](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/why-solana-built-differently) - [The Solana mental model: Accounts](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/accounts) - [The Solana mental model: Instructions and transactions](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/instructions-and-transactions) - [The Solana mental model: Lamports, rent, and account lifecycle](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/lamports-rent-and-account-lifecycle) - [The Solana mental model: Transaction fees and compute units](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/transaction-fees-and-compute-units) - [The Solana mental model: Proof of History](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/proof-of-history) - [The Solana mental model: Solana essentials - Test](https://academy.redduck.io/courses/development-on-solana/the-solana-mental-model/solana-essentials-test) - [Rust essentials: Rust for reading Anchor programs](https://academy.redduck.io/courses/development-on-solana/rust-essentials/rust-for-reading-anchor-programs) - [Rust essentials: Ownership, borrowing, and the borrow checker](https://academy.redduck.io/courses/development-on-solana/rust-essentials/ownership-borrowing-and-the-borrow-checker) - [Writing your first program: Anchor and program structure](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/anchor-and-program-structure) - [Writing your first program: The IDL](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/the-idl) - [Writing your first program: Account types in Anchor](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/account-types-in-anchor) - [Writing your first program: Account constraints](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/account-constraints) - [Writing your first program: Client side](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/client-side) - [Writing your first program: PDAs: addresses with no private key](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/pdas-addresses-with-no-private-key) - [Writing your first program: Account space and layout](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/account-space-and-layout) - [Writing your first program: Errors and events](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/errors-and-events) - [Writing your first program: Tests with solana-bankrun](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/tests-with-solana-bankrun) - [Writing your first program: Your First Solana Program](https://academy.redduck.io/courses/development-on-solana/writing-your-first-program/donor-tier-vaults) - [Working with other programs: Cross-Program Invocation (CPI)](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/cross-program-invocation-cpi) - [Working with other programs: PDAs as signers](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/pdas-as-signers) - [Working with other programs: The SPL Token program in practice](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/the-spl-token-program-in-practice) - [Working with other programs: Associated Token Accounts (ATAs)](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/associated-token-accounts-atas) - [Working with other programs: Token-2022 and token extensions](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/token-2022-and-token-extensions) - [Working with other programs: Composing programs in practice](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/composing-programs-in-practice) - [Working with other programs: Versioned transactions and address lookup tables](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/versioned-transactions-and-address-lookup-tables) - [Working with other programs: Program upgrades](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/program-upgrades) - [Working with other programs: Solana basics - Test](https://academy.redduck.io/courses/development-on-solana/working-with-other-programs/solana-basics-test) - [Production state design: Zero-copy accounts](https://academy.redduck.io/courses/development-on-solana/production-state-design/zero-copy-accounts) - [Production state design: Account closure and realloc](https://academy.redduck.io/courses/development-on-solana/production-state-design/account-closure-and-realloc) - [Production state design: Staking](https://academy.redduck.io/courses/development-on-solana/production-state-design/staking) - [Production state design: Off-chain computation, on-chain verification](https://academy.redduck.io/courses/development-on-solana/production-state-design/off-chain-computation-on-chain-verification) - [Production state design: AMM](https://academy.redduck.io/courses/development-on-solana/production-state-design/amm) - [Production state design: Pyth price feeds](https://academy.redduck.io/courses/development-on-solana/production-state-design/pyth-price-feeds) - [Production state design: Merkle airdrop](https://academy.redduck.io/courses/development-on-solana/production-state-design/merkle-airdrop) - [Production state design: Solana NFTs](https://academy.redduck.io/courses/development-on-solana/production-state-design/solana-nfts) - [Production state design: CLMM](https://academy.redduck.io/courses/development-on-solana/production-state-design/clmm) - [Production state design: Randomness on chain](https://academy.redduck.io/courses/development-on-solana/production-state-design/randomness-on-chain) - [Production state design: Raffle](https://academy.redduck.io/courses/development-on-solana/production-state-design/raffle) - [Production state design: Off-chain state: events, logs, and indexers](https://academy.redduck.io/courses/development-on-solana/production-state-design/off-chain-state-events-logs-and-indexers) - [Production state design: The classic Solana exploits](https://academy.redduck.io/courses/development-on-solana/production-state-design/the-classic-solana-exploits) - [Architecture details: Detailed Solana architecture](https://academy.redduck.io/courses/development-on-solana/architecture-details/detailed-solana-architecture) - [Architecture details: The leader schedule and block production](https://academy.redduck.io/courses/development-on-solana/architecture-details/the-leader-schedule-and-block-production) - [Architecture details: Outages, lessons, and resilience](https://academy.redduck.io/courses/development-on-solana/architecture-details/outages-lessons-and-resilience) - [Architecture details: What Solana traded for what](https://academy.redduck.io/courses/development-on-solana/architecture-details/what-solana-traded-for-what) - [Architecture details: Jito, MEV, Bundles](https://academy.redduck.io/courses/development-on-solana/architecture-details/jito-mev-bundles) - [Conclusion: Congratulations](https://academy.redduck.io/courses/development-on-solana/conclusion/congratulations) ## Engineering principles > The design principles that good engineering runs on, taught with plain examples from everyday software, databases, and real-world systems, so each one lands without any blockchain background. You'll learn to weigh a tradeoff against the goal it serves, to bypass a hard constraint instead of fighting it, to keep the smallest amount of logic in the position of highest trust, and to reason like an adversary before you build. Every principle stands on its own. Each lesson closes with an optional note on how it shows up in blockchain systems, there for anyone heading into the security tracks and skippable for everyone else. - [Welcome: What this course is](https://academy.redduck.io/courses/engineering-principles/welcome/what-this-course-is) - [Welcome: Why these principles matter](https://academy.redduck.io/courses/engineering-principles/welcome/why-these-principles-matter) - [Design tradeoffs: What engineering is and is not](https://academy.redduck.io/courses/engineering-principles/design-tradeoffs/what-engineering-is-and-is-not) - [Design tradeoffs: The common-sense check](https://academy.redduck.io/courses/engineering-principles/design-tradeoffs/the-common-sense-check) - [Design tradeoffs: Find and fix a common-sense flaw](https://academy.redduck.io/courses/engineering-principles/design-tradeoffs/find-and-fix-a-common-sense-flaw) - [Constraint bypass: Bypassing a constraint instead of fighting it](https://academy.redduck.io/courses/engineering-principles/constraint-bypass/bypassing-a-constraint) - [Constraint bypass: Recognize when a bypass is available](https://academy.redduck.io/courses/engineering-principles/constraint-bypass/recognize-when-a-bypass-is-available) - [Relevance and genericity: The irrelevance principle](https://academy.redduck.io/courses/engineering-principles/relevance-and-genericity/the-irrelevance-principle) - [Relevance and genericity: Account-generic design](https://academy.redduck.io/courses/engineering-principles/relevance-and-genericity/account-generic-design) - [Core and periphery: The core and periphery pattern](https://academy.redduck.io/courses/engineering-principles/core-periphery/the-core-periphery-pattern) - [Core and periphery: Apply core and periphery](https://academy.redduck.io/courses/engineering-principles/core-periphery/apply-core-and-periphery) - [Singleton and factory: The singleton pattern](https://academy.redduck.io/courses/engineering-principles/singleton-and-factory/the-singleton-pattern) - [Singleton and factory: The factory pattern and content-derived identity](https://academy.redduck.io/courses/engineering-principles/singleton-and-factory/factory-and-content-derived-identity) - [Singleton and factory: Build a content-derived factory](https://academy.redduck.io/courses/engineering-principles/singleton-and-factory/build-a-content-derived-factory) - [Atomicity as guarantor: Atomicity as a security primitive](https://academy.redduck.io/courses/engineering-principles/atomicity-as-guarantor/atomicity-as-a-security-primitive) - [Atomicity as guarantor: Outcome enforcement as a guarantee](https://academy.redduck.io/courses/engineering-principles/atomicity-as-guarantor/outcome-enforcement-as-a-guarantee) - [Standardization patterns: Standardizing the interface](https://academy.redduck.io/courses/engineering-principles/standardization-patterns/standardizing-the-interface) - [Standardization patterns: Signed authorization and the permit pattern](https://academy.redduck.io/courses/engineering-principles/standardization-patterns/signed-authorization-and-the-permit-pattern) - [Stateless design: What makes a system stateless](https://academy.redduck.io/courses/engineering-principles/stateless-design/what-makes-a-system-stateless) - [Goal hierarchy: Parent goals and child goals](https://academy.redduck.io/courses/engineering-principles/goal-hierarchy/parent-goals-and-child-goals) - [Adversarial thinking: Thinking as a rational adversary](https://academy.redduck.io/courses/engineering-principles/adversarial-thinking/thinking-as-a-rational-adversary) - [Adversarial thinking: Break the system as an adversary](https://academy.redduck.io/courses/engineering-principles/adversarial-thinking/break-the-system-as-an-adversary) - [Conclusion: Congratulations](https://academy.redduck.io/courses/engineering-principles/conclusion/congratulations)