Build confidence in Claude-powered application development and prepare for the Claude Certified Developer – Foundations (CCDV-F) exam. You'll progress from first API calls to production-ready integrations, with ShopAssist AI, a customer-support application for an online store, as a running project.

Claude Certified Developer – Foundations

Claude Certified Developer – Foundations


Instructors: Anton Voroniuk
Included with •Learn more
Recommended experience
Recommended experience
What you'll learn
You will build Claude API integrations with conversation state, structured output, and validated responses.
You will implement authorized tools, an MCP server, and bounded agents with deterministic safety controls.
You will choose models, caching, and Claude Code configuration, and reason through CCDV-F developer scenarios.
Details to know

Add to your LinkedIn profile
October 2026
10 assignments
See how employees at top companies are mastering in-demand skills

There are 10 modules in this course
How do you turn a support request into a working, safe first call to Claude? In this module, you will translate ShopAssist support requirements into application boundaries and acceptance criteria, then send and read your first Messages API request from a prepared Python workspace. You will use the exam blueprint, requirement diagrams, token and context-window explanations, HTTP and JSON traces, the Python SDK, environment-backed credentials, and a local readiness check. Each AI concept is explained in plain language before it appears in code. The module is designed for software developers who can read basic Python functions, dictionaries, loops, and exceptions and are comfortable with a terminal, REST, JSON, and Git; no earlier Claude API experience and no other module is required, and TypeScript developers can follow the Python examples. You will work only with synthetic customer data and placeholder credentials, so no real secret is ever displayed. By the end, you will take away an annotated requirements diagram, a runnable starter workspace with a passing readiness check, and a first Claude response whose text and stop_reason you can read and explain, together with the reasoning for which component owns each decision.
What's included
7 videos1 assignment1 ungraded lab
7 videos•Total 38 minutes
- New Video•3 minutes
- Your CCDV-F Exam and the ShopAssist Learning Project•7 minutes
- Turn ShopAssist Requirements into an Application Design•5 minutes
- Tokens, Context Windows, and How Claude Generates Text•5 minutes
- Read a Claude Request: HTTP, JSON, and Client SDKs•5 minutes
- Prepare a Development Workspace and Protect Credentials•7 minutes
- First Request: API Key, Messages, max_tokens, stop_reason•7 minutes
1 assignment•Total 10 minutes
- From Requirements to a Working Claude Request•10 minutes
1 ungraded lab•Total 60 minutes
- Your First Claude Request•60 minutes
How do you make a Claude conversation remember context and behave consistently? In this module, you will build a reusable conversation runner that stores history, applies a stable system prompt, and is checked against a small graded evaluation set. You will use the Messages API with user and assistant roles, helper functions and a chat loop, system prompts, temperature and model selection, prefill and stop sequences, clear task prompts with examples, and code-based, model-based, and human grading. You will also learn which business rules belong in application code instead of a prompt. The module is for developers who can read basic Python and call an API; no previous Claude experience and no other module is required, because prepared fixtures and starter files are supplied. You will practice changing one prompt instruction at a time and re-running the same test cases to confirm that an improvement does not silently break another case. You will leave with a working conversation runner, a documented system prompt, a prompt-evaluation dataset with expected outputs, and a grading approach you can reuse to compare prompt versions in your own applications with confidence.
What's included
8 videos1 assignment6 ungraded labs
8 videos•Total 45 minutes
- Multi-Turn Conversations and Manual History•6 minutes
- Conversation Helper Functions and Chat Loop•5 minutes
- System Prompts, Behavior, and Application Enforcement•6 minutes
- Place Instructions Across Claude Interfaces•6 minutes
- Temperature, Model Selection, Prefill & Stop Sequences•6 minutes
- Write Clear Task Prompts and Examples•4 minutes
- Prompt Evaluation Workflow•5 minutes
- Grading Claude Outputs: Code, Model, and Human Review•6 minutes
1 assignment•Total 10 minutes
- Build Conversations and Improve Response Quality•10 minutes
6 ungraded labs•Total 360 minutes
- Multi-Turn Conversations•60 minutes
- Conversation Helpers•60 minutes
- System Prompts and Behaviour•60 minutes
- Temperature and Stop Sequences•60 minutes
- Prompt Evaluation•60 minutes
- Grading Claude Outputs•60 minutes
How do you turn a free-form customer message into data your application can trust? In this module, you will build a return-request extractor that produces schema-shaped output and passes a validator before anything downstream uses it. You will use tool definitions, input schemas, tool_choice modes, JSON Schema fields such as required, nullable, enum, and other-plus-detail, bounded retries, and review routing for ambiguous cases. You will separate syntactic validity from business validity by checking order ownership, return eligibility, and normalization in application code, and you will see why a model-reported confidence value is not a calibrated probability. The module is intended for developers who can read basic Python and JSON; no earlier Claude tool-use experience and no other module is required, and prepared support fixtures cover malformed, schema-valid but wrong, and correct examples. You will take away a return-request schema, a working extraction prompt and tool call, an application-side validator, and clear rules for when a case advances, is corrected once, or goes to a person. You can reuse the same pattern for other extraction tasks in your own projects, with a clear way to check that each change keeps the extractor reliable.
What's included
4 videos1 assignment3 ungraded labs
4 videos•Total 26 minutes
- Tool Schemas, Tool Choice, and First Tool Use•8 minutes
- Structured Output with tool_use, JSON Schema, and tool_choice•7 minutes
- Validate Structured Responses Before Using Them•4 minutes
- BUILD: ShopAssist Extracts Structured Return Requests•7 minutes
1 assignment•Total 10 minutes
- Turn Customer Messages into Validated Return Requests•10 minutes
3 ungraded labs•Total 180 minutes
- Structured Output with Tool Use•60 minutes
- Validating Extracted Data•60 minutes
- Structured Return Requests•60 minutes
How do you keep a Claude integration fast, correct for every customer, and easy to diagnose when it breaks? In this module, you will extend a text-only client into one that handles typed content blocks and images, runs independent calls asynchronously, streams output, isolates customer sessions, and recovers from failures by tracing them. You will use the SDK async client, server-sent events, a WebSocket relay example, provider adapters for Anthropic and third-party routes, session keys, correlation identifiers, redacted logs, and an error classification of invalid input, configuration, rate limit, transient, and wrong-output failures. The module suits developers with basic Python and an understanding of requests and responses; no earlier Claude experience and no other module is required, since prepared traces, fixtures, and scaffolds are supplied. You will practice finding the earliest incorrect step before changing a prompt or retrying, because blind retries can duplicate side effects. You will take away a content-aware client design, a fixed shared-history bug, a streaming trace that rejects truncated output, and a justified recovery choice for two sample failures that you can explain to a teammate or reviewer.
What's included
6 videos1 assignment
6 videos•Total 30 minutes
- Handle Image Inputs and Typed Message Content•4 minutes
- Use Async Calls Without Breaking Request Order•4 minutes
- Stream Responses and Understand WebSockets•6 minutes
- Integrate Through Anthropic or a Third-Party Provider•5 minutes
- Isolate Customer Sessions and Prevent Stale State•5 minutes
- Trace a Failure and Choose the Right Recovery•6 minutes
1 assignment•Total 10 minutes
- Make the API Integration Responsive and Diagnosable•10 minutes
How do you let Claude use backend operations without handing it the keys to your customers' data? In this module, you will expose lookup, customer, refund, and escalation tools behind enforced boundaries, so that unauthorized or duplicated actions are stopped in code. You will use authentication versus authorization checks, ownership and role validation, least privilege, injection and data-leakage defenses, PII redaction, tool dispatch with matched tool_use and tool_result identifiers, structured success and error responses, approval gates, and idempotency keys for refunds. The module is designed for backend and AI application developers who can read basic Python; no earlier Claude tool experience and no other module is required, and a mock backend with synthetic data is provided so nothing touches real customers. You will practice treating model output, customer claims, and order notes as untrusted input, and confirming that a requested operation has not happened until its executor reports it. You will take away an authorization policy function, a tool dispatcher that returns correctly matched results, structured errors that separate missing data, invalid input, denial, and outages, and a refund path that safely deduplicates a retried request.
What's included
5 videos1 assignment
5 videos•Total 27 minutes
- Authorize Customer Actions in Application Code•5 minutes
- Defend Against Injection and Data Leakage•4 minutes
- BUILD: ShopAssist Backend Tools and MCP Integration•8 minutes
- Dispatch Tool Requests and Return Matched Results•5 minutes
- Handle Tool Errors, Approvals, and Repeated Actions•5 minutes
1 assignment•Total 10 minutes
- Expose Backend Operations with Enforced Boundaries•10 minutes
How do you share backend capabilities with Claude applications through the Model Context Protocol? In this module, you will build a minimal MCP server that exposes a tool, a resource, and a prompt template, and connect a client application that routes a Claude tool request through it. You will use the Python MCP SDK, stdio and Streamable HTTP transports, capability discovery, schema mapping, and error handling that keeps diagnostic logs apart from the protocol stream. You will also decide when a built-in tool, a custom tool, a Skill, or an MCP server is the right extension mechanism, using capability fit, execution location, reuse, ownership, and permissions. The module is for developers who can read basic Python and JSON; no earlier MCP or Claude experience and no other module is required, because a prepared scaffold and synthetic order data are supplied and no infrastructure orchestration is involved. You will practice distinguishing MCP connections from Claude API streaming and recognizing that the client, not the model, decides which context is supplied. You will take away a running MCP server, a connected sample client, and a completed model-to-MCP-to-backend round trip.
What's included
4 videos1 assignment
4 videos•Total 20 minutes
- Choose Built-In Tools, Custom Tools, Skills, or MCP•4 minutes
- Understand MCP Clients, Servers, and Transports•6 minutes
- Implement a Minimal MCP Server•4 minutes
- Connect and Deploy an MCP Service•6 minutes
1 assignment•Total 10 minutes
- Extend a Generic Application with a Working MCP Service•10 minutes
When should Claude decide the next step, and how do you keep that freedom safely bounded? In this module, you will build a support agent with a bounded loop, reliable case facts, deterministic hooks, and a clear stopping and escalation path. You will use stop_reason-driven control flow, a harness for tools, state, and permissions, context pruning and summaries, the Claude Agent SDK, pre-tool hooks, supervisor and subagent delegation, a comparison of Strands, LangGraph, and PydanticAI, and self-hosted versus Anthropic-hosted execution. The module is intended for developers who can read basic Python and are comfortable with tool calls; no earlier agent experience and no other module is required, since prepared scaffolds, dispatchers, and fixtures are supplied. You will practice choosing a fixed workflow when rules are known and an agent when investigation is needed, and you will see that a hook is one layer rather than the whole security boundary. You will take away a decision rubric for workflow versus agent, a working loop with a forced step-limit exit, a case-facts check that survives context reduction, a hook that blocks an over-limit refund, and an integrated multi-tool support agent that escalates to a human.
What's included
9 videos1 assignment
9 videos•Total 42 minutes
- Choose a Fixed Workflow or a Tool-Using Agent•4 minutes
- Build a Bounded Agent Loop and Harness•5 minutes
- Keep Agent Context Small and Case Facts Reliable•4 minutes
- Run a Support Example with the Claude Agent SDK•4 minutes
- Enforce Safety Controls with Hooks•4 minutes
- Delegate Work with Supervisors and Subagents•5 minutes
- Evaluate Agent Frameworks for a Support Workflow•5 minutes
- Choose Self-Hosted or Anthropic-Hosted Agent Execution•5 minutes
- BUILD: ShopAssist Becomes an Agentic System•6 minutes
1 assignment•Total 10 minutes
- Add Bounded Agents, Context Management, and Hooks•10 minutes
How do you choose a Claude model and configuration using evidence instead of habit? In this module, you will compare models on the same support cases, set a token and cost budget, reuse a stable prompt prefix, and select between realtime and batch processing. You will use Haiku, Sonnet, and Opus benchmarks, thinking, effort, and fast-mode settings checked against a dated compatibility card, usage fields, cost-per-resolved-case worksheets, prompt caching with cache checkpoints, and Message Batches with per-item results. The module is for developers who can read basic Python and run an API request; no earlier Claude optimization experience and no other module is required, and prepared comparison tables, usage data, and illustrative rates are supplied, so you do not memorize prices. You will practice measuring quality, latency, and spend together, because a cheaper request that fails repeatedly can cost more overall, and you will confirm that caching is neither memory nor permission to share customer context. You will take away a justified model choice for two workloads, a budget estimate, a cache-friendly prompt layout, and a batch submission with a matched result set that includes a failed item.
What's included
5 videos1 assignment
5 videos•Total 24 minutes
- Benchmark Haiku, Sonnet, and Opus•5 minutes
- Configure Thinking, Effort, and Fast Mode•5 minutes
- Measure Token Usage and Estimate Request Cost•6 minutes
- Reuse Stable Context with Prompt Caching•4 minutes
- Choose Realtime Calls or Message Batches•5 minutes
1 assignment•Total 10 minutes
- Optimize Model Behavior, Tokens, and Processing Cost•10 minutes
How do you make Claude Code behave the same way for everyone working in a repository? In this module, you will configure a sample repository with project instructions, a reusable Skill, a focused review Agent, controlled sessions, and a pinned plugin. You will use the CLAUDE.md hierarchy, scoped Rules, settings.json, custom commands and Skill invocation, Agent Memory, resumed and headless sessions, permission and output modes, and plugin manifests with dependency and version checks. The module is for developers who write code in a Git repository and can use a terminal; no earlier Claude Code experience and no other module is required, since a prepared sample checkout is provided and all data is synthetic. You will practice verifying which configuration is actually active, keeping secrets and customer data out of persistent agent memory, and separating coding helpers from any deployed application. You will take away a configured repository with a project instruction and rule, a minimal SKILL.md applied to a sample diff, a refund-code review Agent with an appropriate memory entry, a headless review run, and a plugin whose missing dependency you diagnosed and restored to a pinned version.
What's included
5 videos1 assignment
5 videos•Total 33 minutes
- Configure Claude Code for a Sample Repository•7 minutes
- Create a Reusable Skill and Choose Commands•7 minutes
- Use Claude Code Agents and Agent Memory•8 minutes
- Manage Claude Code Sessions and Execution Modes•6 minutes
- Manage Plugins and Their Dependencies•4 minutes
1 assignment•Total 10 minutes
- Use Claude Code with Reproducible Project Configuration•10 minutes
How do you ship a Claude application change that you can review, reproduce, and roll back? In this module, you will review a refactor, version prompts, schemas, and models as a release record, run an operations feedback loop, and reason through original exam-style scenarios. You will use branches, small commits and pull-request diffs, focused regression tests, staged migrations, model version pinning, release manifests, re-run evaluation sets, redacted monitoring of success, latency, spend, tool failures, and access events, and an SDLC feedback cycle from requirements through retirement. The module is intended for developers and technical leads who keep hands-on responsibility and can read basic Python; no earlier Claude release experience and no other module is required, since prepared diffs, manifests, regression reports, and incident artifacts are supplied. You will practice identifying the requirement, the responsible component, and the trust boundary before choosing a feature. You will take away a reviewed change with a staged refactor plan, a release decision that accepts or rejects a model upgrade with a rollback path, a regression case created from an incident, and a repeatable decision process for CCDV-F implementation scenarios.
What's included
4 videos1 assignment
4 videos•Total 21 minutes
- Review and Refactor with Version Control•4 minutes
- Version Prompts, Models, and Application Configuration•6 minutes
- Operate and Maintain a Claude Application•5 minutes
- Reason Through CCDV-F Implementation Scenarios•6 minutes
1 assignment•Total 10 minutes
- Review, Release, and Maintain the Application•10 minutes
Instructors


Offered by
Explore more from Machine Learning
EEdureka
Course
Status: Free trialFree trial
DDr. Ryan Ahmed
Course
Status: Free trialFree trial
SSkillsBooster Academy
Course
Status: Free trialFree trial
AAnthropic
Course
Category: FreeFree
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Frequently asked questions
To access course materials, assignments, and earn a Certificate, you'll need to purchase the Certificate experience when you enroll in a course. Eligible learners may also have the option to start with a Free Trial. Some courses may also offer a Full Course, No Certificate option. This lets you access course materials, submit required assessments, and receive a final grade, but you won't be able to earn or purchase a Certificate.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,


