Stanford CS329A: Self-Improving AI Agents