Skip to content

Introduction to Linear Dynamical Systems

Course Overview

  • Institution: Stanford University
  • Course code: EE 263
  • Track: Control Systems
  • Tier: S
  • Role: Mainline
  • Level: Not standardized by provider (use prerequisites)
  • Last reviewed: 2026-07-28

Stanford University's Introduction to Linear Dynamical Systems provides a linear-systems spine through videos, notes, practice, exams, and code, with an unusually complete loop despite dated MATLAB materials.

Why choose this course

Mainline course. A particularly complete and well-structured option for this track.

Before you start

  • Recommended foundation: Signals and Systems
  • Recommended foundation: Engineering Mathematics

Verifiable learning outcomes

  • Explain the core models in Control Systems, including their assumptions and limits
  • Solve representative derivations and problems, checking units, limiting cases, or numerical results
  • Complete a reproducible experiment or implementation with raw data, parameters, versions, and verification

Workload and pacing

13 weeks at 11 hours/week. This maintainer planning estimate is derived from course role and the density of public practice and labs; it is not a provider workload promise. Pilot two weeks while logging instruction, practice, lab, and review time, then adjust the remaining plan when actual effort differs by more than 25%.

Safety level

Simulation only. The default practice scope is software, computation, or simulation only; a lab label in the resource inventory does not authorize connecting physical equipment, and any hardware extension requires provider-scope verification and a new risk assessment.

Course Resources

Software, hardware, and cost

Software

  • Maintainer-suggested open-source/free verification path: Python 3, Jupyter, python-control, SciPy, and GNU Octave
  • The resource inventory lists public code coverage; pin interpreter, dependencies, toolchain, datasets, and PDK versions where applicable

Hardware

  • The resource inventory lists lab coverage, but this course's maintainer path explicitly limits it to computational or simulation work. It assumes only a general-purpose computer able to run the software above and retain results; do not purchase or connect a course-supported low-voltage plant, sensors, actuators, real-time controller, and emergency shutdown

Cost note

The current maintainer path uses computation and simulation only, with no dedicated hardware purchase, and prefers open-source/free tools. This is not a provider requirement; platform, commercial-software, or cloud-compute costs still vary by provider, region, and plan.

Public resource coverage

Resource type Completeness
Video Complete
Notes Complete
Practice Complete
Labs Partial
Exams Complete
Code Complete

Resources and access

Resource Access License Status Verified
Course home Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
additional exercise — see.stanford.edu/hw1extra.pdf Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
additional exercises — see.stanford.edu/hw2extra.pdf Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
additional exercises — see.stanford.edu/hw3extra.pdf Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
additional exercise — see.stanford.edu/hw5extra.pdf Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
additional exercise — see.stanford.edu/hw7extra.pdf Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Least squares and least norm solutions using Matlab Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Solving general linear equations using Matlab Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Syllabus Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
DOWNLOAD All Course Materials Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 01 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 02 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 03 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 04 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 05 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Lecture 06 (HTML) Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/56 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/57 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/58 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/59 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/60 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/61 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Watch Now — see.stanford.edu/62 Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28

“Listed by official page” means the link was discovered on a successfully fetched official source on the verification date; it does not guarantee that every region or account can open the target directly. Access does not grant redistribution rights. Re-check the provider page, target link, and third-party notices before downloading, adapting, or publishing material.

Practice and Verification

Practice loop

Introduction to Linear Dynamical Systems · Stanford University EE 263: Robust Closed-Loop and Model-Mismatch Audit

This is a maintainer-suggested self-study project for Introduction to Linear Dynamical Systems · Stanford University EE 263, not an official course assignment. Design baseline and improved controllers for a simulated plant in Control Systems, quantifying stability, tracking, disturbance rejection, saturation, and parameter mismatch.

Origin: Maintainer-suggested project

Deliverables

  • Plant equations, parameter ranges, actuator and sensor constraints, and control metrics
  • Open-loop model, baseline controller, improved controller, and simulation tests
  • Raw state, control, and metric data for step, disturbance, noise, and parameter sweeps
  • A report comparing stability margins, overshoot, settling time, energy, and failure regions

Verification

  • Keep the nominal closed loop stable and meet predeclared overshoot and settling-time thresholds
  • Cover zero reference, maximum reference, actuator saturation, sample delay, and parameter extremes
  • Cross-check time-domain results with pole or frequency margins or a Lyapunov argument
  • Increase parameter mismatch until the first instability and report the stability boundary and safe degraded behavior

Reproducibility

  • Commit model, controller, scenario, test, analysis, and plotting sources
  • Pin solver, step size, parameters, random seeds, and controller version
  • Preserve raw trajectories, controller configurations, and the generated report

Safety boundary: Simulation only — Control simulated plants only; do not deploy the exercise controller to real motors, vehicles, drones, medical, chemical, or power equipment.

Risks, gaps, and boundaries

The MATLAB materials are old but can be migrated to Python; the remaining learning loop is unusually complete.

Completion evidence

  • Weekly learning log with time, questions, corrected errors, decisions, next steps, and links to that week's reproducible artifacts
  • Theory dossier with explicit assumptions, notation, derivation, units, and boundary conditions, checked by at least one independent method
  • Simulation package with model or netlist, inputs, solver and version, parameter-sweep script, benchmark comparison, expected results, and one rerun command
  • Code repository with pinned dependencies and toolchain, a minimal run command, tests or waveform/benchmark checks, expected output, and license notes