Claude Certified Developer - Foundations certification Overview A developer completed Anthropic's Claude Certified Developer - Foundations certification and published an overview of its curriculum, which covers model fundamentals, production-grade prompting, agents and tool use, Claude Code and MCP integration, production engineering with evals and security, and accelerators. The writeup details token-based pricing and context windows, sampling and temperature, non-determinism, structural versus semantic output testing, LLM-as-judge evaluation, and Claude's model tiers from Haiku to Fable. The certification course itself is restricted to Anthropic partners. I recently completed the Claude Certified Developer - Foundations certification. This certification is based on the official course from Anthropic: https://anthropic-partners.skilljar.com/path/claude-certified-developer-foundations https://anthropic-partners.skilljar.com/path/claude-certified-developer-foundations However, this course is only available to Anthropic partners. Below is my overview of the modules and structure of the Prep Course. The course consists of the following main modules: MSO Foundations Learn the model fundamentals and technical foundations the rest of the Developer Foundations course builds on. Production-Grade Prompting, Agents & Tool Use Build your first production integration on Claude, with reliable prompts, tools, context management, and agent loops. Claude Code, MCP & Integration Learn to make a working Claude integration configurable, shareable, and safe to connect to real systems. Production Engineering, Evals & Security Learn to take an agent that works in development and prove it holds up under real production traffic. Accelerators & IP Contribution Package a build that works into one that survives reuse, review, and deployment beyond the engagement that created it. 1.1.1 Tokens Everything Claude processes prompt, history, tools, results, output is measured in tokens, not words/characters, and both pricing and context budget are token-based. Output tokens cost more than input tokens. 1.1.2 Context Window The max tokens allowed in a single request — system prompt, user prompt, documents, history, tool results, and output combined. Exceeding it returns a model context window exceeded stop reason. 1.1.3 Sampling & Temperature Claude samples the next token from a probability distribution rather than picking one fixed "best" token. Temperature a request parameter tunes this: lower = more repeatable, higher = more varied/creative. 1.1.4 Non-Determinism Sampling means identical inputs can yield different, equally valid outputs, so exact-string-match tests are unreliable. Test for properties instead — e.g., "required field present" or "value within range." 1.1.5 Testing Model Output: Structural vs. Semantic Correctness | Check Type | Definition | Examples | |---|---|---| | Structural correctness | Deterministic, yes/no checks | Regex match, valid JSON, exact substring, value within tolerance | | Semantic correctness | Meaning-based checks, can't be scripted deterministically | Summary captures key points, correct tone, accurate despite different phrasing | Semantic checks need an LLM-as-judge : a separate model call scores the output, often against a rubric/reference answer. 1.1.6 Evals A testing framework for non-deterministic outputs: scores quality across many test cases and reports an aggregate pass rate e.g., "87% passed" . Consists of test inputs, correctness criteria structural or LLM-judge , and an aggregation method. 1.2.1 Claude Model Family Four tiers trading off cost, latency, capability, and quality: | Tier | Description | |---|---| | Sonnet | Balanced default for most production workloads | | Haiku | Optimized for speed/cost within its capability range | | Opus | For demanding work beyond Sonnet's envelope | | Fable | Highest-capability tier, for the hardest reasoning/coding/agentic tasks | 1.2.2 Model Selection Strategy Start with Sonnet by default; move up a tier only when an eval shows it fails the quality bar, or down to Haiku only when an eval shows the quality drop is acceptable. Model choice should be eval-driven, not assumed. 1.2.3 Reasoning Modes Reasoning mode on/off, separate from model choice lets the model spend extra tokens "thinking" before answering; current models use adaptive thinking tuned via an effort setting the older budget tokens control is deprecated, now returns a 400 error . Thinking is hidden by default and worth the cost only on hard, multi-step problems — not simple lookups. 1.3.1 Zero-shot / One-shot / Multi-shot Few-shot Prompting Distinguished by how many worked examples are given in the prompt: | Mode | Examples Given | Best Used When | |---|---|---| | Zero-shot | None instruction only | Task is simple, output shape is obvious | | One-shot | One input/output example | A single reference clarifies expected output | | Multi-shot Few-shot | Several examples | Needs specific structure, casing, or edge-case handling | 1.3.2 Cost Tradeoff of Examples Each example consumes tokens on every call and eats into context budget, so examples aren't free — they trade quality/precision against cost. 1.3.3 Interaction with Model Choice More capable models often succeed zero-shot where smaller ones need few-shot examples, so added examples can substitute for a cheaper model. Best practice: start with the simplest model and fewest examples meeting your eval bar, then add either only if needed. 1.4.1 SDK vs. Raw REST API Claude is accessed via an HTTP REST API JSON over your API key ; the SDK just wraps auth, request construction, retries, and parsing. Both hit the same API and models. 1.4.2 Response Delivery Patterns | Pattern | Description | |---|---| | Synchronous | Send request, wait for full response, then act — simplest pattern | | Streaming | Delivered in pieces via server-sent events as generated; output appears immediately, client reassembles the final message | | Asynchronous AsyncAnthropic | Non-blocking async/await enables concurrency without blocking, while each call still returns in real time | | Message Batches API | High-volume/offline: submit a batch, poll for completion; up to 24h latency for lower per-token cost | 2.1.1 Diagnosing Prompt Failures Instead of Adding Words When a prompt fails, fix it by identifying which structural technique is missing — not by rewording or adding instructions. Rewording doesn't fix boundary confusion or format drift; only the matching technique does. 2.1.2 The Four Failure → Fix Mapping | Symptom | Missing Technique | Why | |---|---|---| | Wrong output shape prose instead of JSON/label | Output constraint | Nothing specified the response's form/stopping point | | Content/scope drift over turns | System prompt or a more specific one | Behavioral contract too vague to hold across turns | | Right task, invented structure | Few-shot examples | Claude can't infer exact structure from description alone | | Works on tested inputs, breaks on edge case | Constraint covering that variant | Prompt only validated against a narrow input set | 2.1.3 System Prompts Carry the persistent behavioral contract for the whole session — role, output format, rules that must not change between turns. Write once as a stable instruction layer. 2.1.4 XML Tags Used to separate instructions from examples/data e.g.,