"Fourteen weeks is plenty of time, provided every theorem eventually touches a log file."
A Graduate Plan With A Simulator
The 14-week arc in this section builds on the agent-loop foundations established in section 2.1 and the state-estimation contract developed in section 5.2. The language-and-planning phase (weeks 8 to 11) draws directly on the VLA architectures covered in section 34.3 and the LLM-as-planner patterns in section 33.2. Instructors designing capstone milestones should read section 59.1 alongside this schedule, where the same artifact requirements are developed from the project-management perspective.
A robot arm that can fetch a coffee mug is no longer a research curiosity: it is a graduate qualifying exam. Embodied AI has matured fast enough that a 14-week course can take students from raw sensor streams to a deployable, evaluated policy, but only if every week keeps theory, paper reading, and simulator labs in the same rhythm. This schedule is built around that constraint. You will leave with a course plan that produces reproducible capstone artifacts, teaches students to name failure modes before reaching for a larger model, and prepares them for the pace at which the field is actually moving.
Fourteen weeks is roughly 98 days, and on day one a graduate student who has never written a Kalman filter must, by the final demo, defend a policy that closes the loop on real hardware: the entire challenge of this schedule is deciding what enters each of those weeks so the arc holds. First we define the object of study, then we connect it to the agent loop, then we test it with a compact implementation. Figure 60.1A lays out the full schedule as a Gantt chart, showing how the four phases (foundations, simulation and RL, language-vision-action, evaluation and capstone) tile the 14 weeks and where the mid-term and project milestones fall.
The key question is practical: what must the agent know, what can it observe, what action is available, and what evidence shows that the action worked under the stated conditions?
Graduate course design should be judged by the action it improves. A section claim is strong when it names the decision, the measurement, and the failure mode before a larger model or simulator is introduced.
Theory
Answering those four questions in a way a grader can check turns directly into a design rule for the interface itself.
The practical design rule is to make the interface inspectable before optimization begins: inputs, outputs, units, latency, bounds, and failure labels should all be visible in the saved artifact.
The mechanism in One-semester graduate course (14 weeks) is the contract between representation and action. Name what enters the module, what leaves it, which assumptions make that transformation valid, and which log would reveal a bad handoff.
Worked Example
Keep one concrete rollout in view, because the entire 14-week schedule is engineered to make this loop legible by the final week. In a Week 5 MuJoCo lab, a joint-encoder reading becomes an end-effector pose estimate, the estimate feeds a goal-conditioned policy that emits a delta command, the FetchReach gripper moves, and the next observation either lands within the 5 cm success tolerance or reveals a drift the student must diagnose. By Week 12 the same loop runs on an Isaac Lab Franka Panda with a SayCan-style planner sitting on top, but the contract is identical: sense, estimate, act, verify. A syllabus is well sequenced only when every later week reuses the observation-action-metric-failure structure students first wrote in Week 5 rather than introducing a fresh, unrelated abstraction.
The FetchReach loop, graded
Before this loop can run, students need the state-estimation and reward-design vocabulary it depends on: a goal-conditioned policy (a policy that takes the target state as an extra input rather than being retrained per goal) and a success metric defined in terms of an observable estimate, both of which are introduced in the foundations weeks (1 to 3) referenced in the pathway callout above. The worked example below assumes that vocabulary is already in place.
Consider a specific case. In Week 5 of the schedule below, students implement a goal-conditioned policy in MuJoCo's FetchReach-v2 environment. The observation vector holds 10 dimensions (end-effector position, velocity, and goal coordinates), the action is a 4-DOF delta command, and success means the end-effector stays within 5 cm of the goal for 5 consecutive steps. A baseline PD controller (a proportional-derivative feedback law that drives the end-effector toward the goal using position error and its rate of change) reaches roughly 40% success in 50 episodes. (The baseline exists so students have a simple, fully inspectable reference; every later, more capable policy in the course is judged against how much it improves over this number.) One imitation-learning pass (training a policy directly on recorded human demonstrations, rather than reward-driven trial and error) on 200 teleoperated demonstrations lifts the success rate to 78%. The graded artifact holds both runs, the metric panel, and at least one failure trajectory annotated with the error type (state estimation error vs. planning error vs. control error). This concrete accounting forces students to confront the gap between a policy that looks smooth in replay and one that closes the loop reliably. A policy that passes every simulator metric but fails on the first real hardware trial is not a trained policy: it is a well-rehearsed approximation of one.
The small contract exists to expose the teaching artifact before tooling takes over. Use notebooks, simulators, shared logs, rubrics, and capstone studios only when they preserve the same observation, action, metric, and failure fields.
To make this concrete, the syllabus table below (Suggested Weekly Arc for Graduate Teaching) shows exactly which weeks carry which content, how the algorithm in the next section builds a full 14-week sequence phase by phase, and how the named anchors (Drake, D4RL, OpenVLA, SayCan) turn each phase into a runnable assignment rather than an abstract label; instructors can copy that table directly into a syllabus template.
Practical Recipe
- Write the observation, action, and success metric before choosing a model.
- Build a baseline that is simple enough to debug by inspection.
- Add the library implementation only after the baseline behavior is understood.
- Record failures as structured cases: perception error, state error, planning error, control error, or evaluation error.
- Run at least one perturbation test before trusting the result.
The common mistake in One-semester graduate course (14 weeks) is to trust a component score before checking the closed-loop interface. The failure usually appears where state, timing, authority, or evaluation context crosses a module boundary.
Students often assume that a 14-week embodied AI course is fundamentally about large foundation models, and that facility with VLA APIs or LLM prompting is sufficient for real deployment. That assumption is wrong. Physical systems expose gaps that language-level competence cannot fill. A student who has not implemented a Kalman filter cannot diagnose a robot that diverges on a curved trajectory. A student who has never reasoned about friction cones (the set of contact forces a surface can exert without the contact slipping, bounded by the coefficient of friction) cannot explain why a gripper slips when payload shifts. Treat weeks 1 to 7 (foundations, state estimation, RL, imitation learning) as load-bearing prerequisites for weeks 8 to 14, not as optional review. ("Load-bearing" here means the same sense used for the weekly-load model \(L_k\) introduced later in this section: a prerequisite the later weeks structurally depend on, not one they merely reference.) Foundation-model weeks produce real understanding only when students can classify failures as perception errors, dynamics errors, or policy errors. That classification requires having built the underlying estimators from scratch.
A team using One-semester graduate course (14 weeks) starts by writing the task panel, not by picking the largest model. They keep a baseline run, a maintained-tool run, and a perturbation run in the same result folder. The comparison is accepted only when the action trace, metric, and failure labels come from one script.
Treat one-semester graduate course (14 weeks) like a control-room label. If the label does not tell a future debugger what moved, what sensed, or what failed, it is decoration rather than engineering knowledge.
Scalable robot learning curricula (2024-2026). Research groups are now asking how to design training distributions for embodied agents that generalize across hundreds of object categories and dozens of task types without catastrophic forgetting. The Physical Intelligence lab's pi0 model (Black et al., 2024, "pi0: A Vision-Language-Action Flow Model for General Robot Control") demonstrates flow-matching policies (generative models that learn a continuous velocity field transporting noise to actions, a close cousin of diffusion) trained on diverse cross-embodiment data, making curriculum sequencing a live research question relevant to any graduate course that includes capstone deployment.
Evaluation methodology and reproducibility for embodied AI (2024-2026). A growing body of work challenges whether single-lab benchmark scores transfer across simulator versions and hardware platforms. The LIBERO benchmark (Liu et al., 2024, "LIBERO: Benchmarking Knowledge Transfer for Lifelong Robot Learning") and the associated reproducibility audit from the CoRL 2024 community highlight that identical algorithm implementations can typically differ by up to 20 percentage points across simulators in the configurations studied so far, making rigorous evaluation design an active research area directly teachable in a graduate course.
Language-conditioned reward specification and automated curriculum generation (2025-2026). Several groups, including the Berkeley Robot Learning Lab (Eureka, Ma et al., 2023; extended evaluations 2025) and Google DeepMind's AutoRT project, are exploring LLM-generated reward functions and task curricula that adapt to student or robot skill level, creating a direct connection between course-design pedagogy and the technical problem of automated curriculum generation in RL.
Open PhD problem. No reproducible protocol currently exists for measuring whether a graduate course in embodied AI transfers to real-hardware deployment competence: students who score well on simulator benchmarks may still fail to diagnose contact failures or sensor drift on physical platforms. Designing and validating a standardized transfer evaluation, one that takes a cohort's capstone artifacts and predicts real-hardware success rate within a known confidence interval, is an open problem combining pedagogy, evaluation methodology, and robust policy design.
Can you name the observation, action, protected assumption, success metric, and one likely failure case? If any field is vague, rewrite the contract before adding model complexity.
Topic-Native Deepening
A graduate version of the book reads as a research apprenticeship, not a long reading list. The rhythm makes theory, implementation, evaluation, and paper discussion reinforce one another every week.
Sustaining that weekly rhythm is hard precisely because each reinforcing element adds its own demand on the student's time, which is where the design problem becomes quantitative.
The main design problem is pacing depth without exhausting students. That means each week should have one load-bearing idea, one executable artifact, and one discussion prompt that pushes beyond engineering procedure.
One-semester graduate course (14 weeks) becomes teachable once the student can state the operative variables, the decision boundary, and the evidence artifact. The section should therefore be read together with Part I foundations and Chapter 59 on capstones, where the same loop is developed from adjacent angles.
Model weekly load as \(L_k = \alpha T_k + \beta C_k + \gamma P_k\), where \(T_k\) is theory depth, \(C_k\) is coding burden, and \(P_k\) is paper-reading burden. A stable graduate schedule keeps \(\max_k L_k\) bounded while letting the capstone load rise over the semester.
The load model matters in embodied AI courses because the domain penalizes surface knowledge immediately. A student who memorizes a Kalman filter equation but has not implemented one cannot debug a robot that diverges on a curved trajectory. A student who reads about friction cones but skips the lab cannot explain why a gripper slips at 30 degrees. Physical systems reveal gaps that written exams hide. A student who recites the Kalman update equations verbatim scores full marks on a written exam, yet still writes a filter that diverges in under 10 steps when the process-noise covariance is even slightly wrong, because the exam never closed the loop. Cognitive overload in any one week therefore produces not just poor test scores but robots that fail in ways the student cannot diagnose.
Checkpoint
So far: the section has introduced the weekly load formula \(L_k = \alpha T_k + \beta C_k + \gamma P_k\), explained why its three components (theory, coding, paper-reading) carry unequal costs, and shown why overload in embodied AI courses surfaces as undiagnosable hardware failures rather than just low grades; the figure and discussion below now ground that model in an actual 14-week schedule.
Figure 60.1B plots the resulting weekly load profile, showing how the composite load \(L_k\) is held under a fixed cap across all four course phases.
The weights \(\alpha\), \(\beta\), and \(\gamma\) set the cost per unit, because an hour of proof-heavy theory (\(T_k\)), an hour of debugging simulator code (\(C_k\)), and an hour of close paper reading (\(P_k\)) are not equal burdens. Summing them and tracking the weekly maximum yields one scalar per week, which exposes an overloaded week before student performance does.
The three components of \(L_k\) carry different unit costs: theory depth, coding burden, and paper-reading burden are not interchangeable hours. Summing them with weights \(\alpha\), \(\beta\), \(\gamma\) and tracking the weekly maximum gives a single scalar that makes overloaded weeks visible before performance signals the problem. Keeping \(\max_k L_k\) bounded means no single week stacks proof-heavy material, a demanding lab, and a dense paper set simultaneously, even when the schedule makes that combination tempting.
The load model is not precise accounting. It is a design check that prevents instructors from stacking a proof-heavy week, a heavy lab, and several frontier papers all at once. In practice, revisit the load balance when: (a) more than half the class misses a lab deadline, signaling \(C_k\) spiked unexpectedly; (b) paper discussion collapses into surface-level summary, signaling \(P_k\) exceeded reading bandwidth; or (c) a capstone milestone produces near-identical submissions, signaling \(T_k\) was too low to support genuine design choices. Any one of these signals warrants redistributing load across adjacent weeks before the problem compounds.
- Open with foundations, state estimation, and control so later papers have a common language.
- Pair each conceptual week with one reproducible artifact, such as a simulator run or evaluation notebook.
- Move from perception and policies into planning, world models, and deployment once students can debug the loop.
- Introduce capstone milestones early: proposal, baseline, panel, midterm failure review, final artifact.
- Reserve the last weeks for frontier synthesis and project defense rather than new core prerequisites.
| Dimension | What To Specify | Why It Matters |
|---|---|---|
| Weeks 1 to 3 | Agent loop, geometry, dynamics, control, estimation | Common technical floor. |
| Weeks 4 to 7 | Simulation, RL, imitation learning, datasets | How policies are trained and tested. |
| Weeks 8 to 11 | Language, VLAs, planning, world models | Modern embodied stacks. |
| Weeks 12 to 14 | Safety, deployment, frontier watch, capstones | Research synthesis and project completion. |
Anchoring each phase to specific systems and papers prevents the syllabus from drifting into generic survey mode. For weeks 1 to 3, the Drake tutorial notebooks (Tedrake, MIT 6.832) provide a worked differential-flatness example (a system property where states and inputs can be written as functions of a few outputs and their derivatives, which simplifies trajectory planning) students can run and break. For weeks 4 to 7, the D4RL benchmark (Fu et al., 2020) and the LeRobot dataset format give concrete offline RL and imitation targets. For weeks 8 to 11, OpenVLA (Kim et al., 2024) and SayCan (Ahn et al., 2022) are small enough to evaluate with a single GPU yet representative of the VLA design space. For weeks 12 to 14, the DARPA RACER and the ETH ANYmal deployment reports supply real failure-mode data that capstone teams can use as baselines. Naming these anchors in the weekly schedule also signals to readers which papers to prioritize when the reading list is long.
When running OpenVLA inference on classroom GPUs (8 GB or less), set batch_size=1 and pass torch_dtype=torch.bfloat16 explicitly in the model loader; the default fp32 path typically allocates roughly 14 GB and, in practice, crashes without a clear out-of-memory message on devices below that threshold. Additionally, disable torch.compile for the first student run by setting use_torch_compile=False in the inference config: compilation adds 3 to 5 minutes of wall-clock startup that students mistake for a hang. Both flags can be toggled back on once the pipeline is confirmed working.
def validate_plan(payload: dict[str, object]) -> dict[str, object]:
assert payload, "payload must not be empty"
return payload
# Graduate-course planning card.
plan = {
"weeks": 14,
"artifacts_per_week": 1,
"paper_discussion_every_week": True,
"capstone_milestones": ["proposal", "baseline", "failure_review", "final_demo"],
}
print(validate_plan(plan))
{'weeks': 14, 'artifacts_per_week': 1, 'paper_discussion_every_week': True, 'capstone_milestones': ['proposal', 'baseline', 'failure_review', 'final_demo']}validate_plan guard rejects an empty planning card, then prints the 14-week course plan dict with its four capstone milestones (proposal, baseline, failure_review, final_demo), showing the minimum schema every syllabus artifact must carry.The expected output reveals the teaching rhythm. If the course card lacks milestone structure, the semester drifts toward unscaffolded final projects.
After the from-scratch contract is clear, the practical route uses Jupyter, MuJoCo, Isaac Lab, LeRobot, GitHub Classroom, lightweight CI, paper discussion sheets. The payoff is that standard interfaces, logging, batching, and replay support move from ad hoc glue code into maintained infrastructure, while the evidence schema stays the same.
A good graduate offering uses the same lab artifact for both grading and seminar discussion. Students should be able to show a replay, defend one design choice, and connect it to a paper claim in the same class meeting.
The frontier teaching question is how to keep state estimation and contact-aware control central when VLA models such as OpenVLA-OFT and pi0 can produce plausible-looking trajectories without any explicit dynamics model. The risk is pedagogical: students who skip the Kalman filter and the friction cone in favor of prompt engineering cannot diagnose the failure modes that kill real deployments. A Franka Panda that loses end-effector tracking during fast pick-and-place because its joint torque estimates diverge by more than 5 Nm, or a Boston Dynamics Spot that falls on a 15-degree slope because sim-to-real contact coefficients were never validated, illustrates exactly that gap. The answer is not to remove foundation-model weeks but to require that each VLA lab produce a structured failure report: which failure was a perception error (depth sensor noise above 2 cm at 1.5 m range), which was a dynamics error (unmodeled payload inertia), and which was a policy error (out-of-distribution gripper orientation). That classification is only possible for students who have already implemented the underlying estimators from scratch.
The artifact should show the course-design decision, the evidence students must produce, and the failure mode that would trigger a revised assignment or rubric.
Step-Through: Computing the weekly load profile
Trace the load model \(L_k = \alpha T_k + \beta C_k + \gamma P_k\) with weights \(\alpha = 1.0\), \(\beta = 1.5\), \(\gamma = 0.8\) and a cap of \(\max_k L_k \le 8.0\). Week 3 (foundations): \(T_3 = 3\) theory hours, \(C_3 = 2\) coding hours, \(P_3 = 1\) paper hour, so \(L_3 = 1.0(3) + 1.5(2) + 0.8(1) = 3 + 3 + 0.8 = 6.8\), under the cap. Week 5 (baseline milestone): \(T_5 = 2\), \(C_5 = 4\), \(P_5 = 1\), so \(L_5 = 2 + 6 + 0.8 = 8.8\), which breaches the 8.0 cap. The fix: move one paper to week 4 and trim one coding hour by supplying a starter notebook, giving \(L_5 = 2 + 4.5 + 0 = 6.5\). The scalar made the overload visible before any student missed a deadline.
Real-World Application: Stanford CS336 and MIT 6.4210
Stanford's CS336 (Language Modeling from Scratch) and MIT's 6.4210 (Robotic Manipulation, Tedrake) both run the front-loaded-prerequisite arc this section describes: foundations and from-scratch implementations precede any use of large pretrained models, and weekly Drake or PyTorch labs feed directly into a graded capstone. MIT 6.4210 in particular pairs every lecture with a runnable Drake notebook and a single accumulating project, exactly the one-artifact-per-week-into-capstone structure modeled here.
Lab: Measure simulator-version variance on a single policy
Goal: reproduce the finding that identical algorithm implementations can differ by double-digit success-rate points across simulator versions, the reproducibility concern raised in the Research Frontier above. Tools: Python, Gymnasium, Stable-Baselines3, MuJoCo, and one fixed random seed. Steps (15 to 30 min): train a PPO policy (Proximal Policy Optimization, a clipped-objective on-policy RL algorithm) on FetchReach-v3 for 50k steps with seed 0, save the checkpoint, then evaluate it for 100 episodes. What to vary: run the same checkpoint under two MuJoCo point releases (or two Gymnasium versions) and under three evaluation seeds. What to observe: record the success rate for each configuration in one CSV, then compute the spread between the best and worst cell. If the gap exceeds a few points despite the frozen checkpoint, you have personally measured why evaluation must report the exact simulator version, not just the algorithm name.
- One-semester graduate course (14 weeks) matters when it changes an embodied agent's action under a stated observation and metric.
- Use theory depth, paper reading, and substantial labs in the same weekly rhythm.
- Strong evidence is saved as one artifact containing the baseline, the maintained-tool path, the metric panel, and labeled failures.
Design a method-matched experiment for One-semester graduate course (14 weeks). Specify the environment, observation schema, action interface, metric, and one perturbation that targets the section's core assumption.
Project Ideas
Beginner (weekend): Build a goal-conditioned reaching agent in Gymnasium's FetchReach-v3 environment using a simple MLP policy trained with Proximal Policy Optimization (PPO) from Stable-Baselines3; the key challenge is writing a reward function that distinguishes near-miss failures (end-effector within 10 cm) from contact failures so students learn to read the metric before tuning hyperparameters. Intermediate (1 to 2 weeks): Record 50 teleoperation demonstrations in MuJoCo's FetchPush-v3 using a keyboard controller, train a behavior-cloning policy with LeRobot's lerobot.train entry point, then evaluate it against the same 20 fixed goal positions with and without 5% Gaussian noise added to joint observations; the key challenge is diagnosing whether failure cases are distribution-shift errors (unseen goal positions) or compounding errors (policy drifts off-distribution mid-episode) by logging the full observation trace for each failed rollout. Advanced (2 to 3 weeks): Implement a language-conditioned manipulation stack in Isaac Lab where a small LLM (Llama-3.2-1B via Ollama) parses natural-language task descriptions into sub-goal sequences, each sub-goal executed by a pre-trained ROS2 MoveIt2 motion planner on a simulated Franka Panda; the key challenge is handling the mismatch between the LLM's open-vocabulary outputs and the closed set of valid sub-goal identifiers the planner accepts, requiring a constrained decoding step or a rejection-sampling loop with a fixed budget.
Section References
Anderson, L. W. and Krathwohl, D. R. A Taxonomy for Learning, Teaching, and Assessing. Longman, 2001.
Use for designing assessments that move from recall to analysis, creation, and evaluation.
Biggs, J. Teaching for Quality Learning at University. Open University Press, 1999.
Use for constructive alignment between learning outcomes, activities, and assessment.
What's Next?
Next, continue with the following teaching section, where the One-semester graduate course (14 weeks) contract becomes a concrete course-design decision.