首页
/ UCB EE16A&B 电路与信息设备系统自学指南:在 cs-self-learning 中从传感电路走向数据预测

UCB EE16A&B 电路与信息设备系统自学指南:在 cs-self-learning 中从传感电路走向数据预测

2026-09-07 17:53:36作者:齐冠琰

导读

本文基于 EE16.md 课程条目展开,面向零电路基础的计算机与电子方向自学者,系统介绍 UC Berkeley 大一必修课 EE16A&B(Designing Information Devices and Systems I&II)的课程定位、A/B 两学期的内容侧重、课程资源分布与配套自学建议。读完后你将明确:这门课解决"电路如何感知物理世界"到"数据如何支撑预测与决策"的完整链路,并掌握在 cs-self-learning 课程地图中为它规划先修与后续衔接的方法。

课程概览

属性 内容
所属大学 UC Berkeley(加州大学伯克利分校)
课程全称 EE16A & EE16B: Designing Information Devices and Systems I&II
先修要求
编程语言 Python
课程难度 ★★★(三星,属入门友好型)
预计学时 150 小时

这是 UC Berkeley 电子与计算机工程(EECS/EE)系大一学生的入门课程。它不追求让新生立刻掌握艰深的电路分析理论,而是通过电路基础知识与大量动手 lab,让学习者完整体验一条信息处理流水线:从环境中通过传感器收集信息,再对信息进行分析、作出预测与反馈。对计算机方向的自学者而言,这恰好弥补了纯软件知识体系中对"物理世界接口"的认知空白。

为什么这门课值得进入电子基础板块

CS学习规划.md 的"电子基础 → 电路基础"小节中,该文档作者给出了明确推荐理由:

作为计算机系的学生,了解一些基础的电路知识,感受从传感器收集数据到数据分析再到算法预测整条流水线,对于后续知识的学习以及计算思维的培养还是很有帮助的。

这句话点出了 EE16A&B 在本仓库课程地图中的生态位:它不是孤立的模拟电路课,而是把电路当作感知与计算的底层载体,服务于后续所有需要接触信号、硬件与数据链路的方向。EE16 与同目录下的信号与系统类课程(如 UCB EE120: Signal and SystemsMIT 6.007 Signals and Systems)构成了电子基础板块内由浅入深的递进关系,详见 docs/电子基础 目录。

EE16A 与 EE16B:两个学期的侧重分工

课程按学期拆分为上下两门,设计目标互补:

  • EE16A:侧重通过电路从实际环境中收集和分析数据。学习者从电阻、电容等基本元件与电路定律起步,逐步搭建可采集真实信号的电路系统,理解电压、电流如何携带并传递来自传感器的信息。
  • EE16B:在 A 学期建立的传感与采集基础上,转向从已收集的数据中进行分析并做出预测行为,引入更接近"系统智能"的视角,即设备如何利用采集到的信息反馈控制自身、对物理过程建模并作出预判。

这种 A/B 两段式结构,把"感知(sense)— 分析(analyze)— 预测与反馈(predict & act)"拆成了两个可独立评估的阶段,恰好与课程全名 Designing Information Devices and Systems 呼应:信息设备(传感器电路)与信息系统(分析预测算法)两者都覆盖。

课程资源与获取方式

根据原课程条目,资源分布如下:

资源类型 说明
课程网站 EE16A、EE16B 各自有独立课程主页(原文注明了 su20 与 eecs16b.org 两处入口),公布每周 schedule、slides 与 lab 说明
课程视频 可在 B 站直接搜索课程名或 "EE16A / EE16B" 查找搬运录像
课程教材 无独立指定教材,以课程官方 notes 为准,随课程主页发布
课程作业 同步发布在课程主页,含书面作业与 lab 两部分
配套资源汇总 仓库文档记录了 @PKUFlyingPig 的学习资源与作业实现汇总,便于对照自查

远程 lab 是自学的关键资产

原文特别强调了一个对自学者极为有利的事实:由于疫情,该课程所有 lab 都制作了远程在线版。这意味着即便没有真实的示波器、面包板和元件箱,也能通过虚拟仿真/远程实验平台完成动手环节。对不具备校内实验室条件的独立学习者而言,"所有 lab 可在线远程完成"直接消除了硬件门槛,这也是 cs-self-learning 将其列为推荐自学课程的重要原因之一。

动手建议:lab 是课程的灵魂

该课程的价值密度集中在 lab 而非纯理论 lecture。建议自学节奏上至少保留 1/3 以上的时间给 lab:先通读当周 notes 中的电路概念,再对照 lab 说明逐步搭建并记录数据,最后用 Python 完成数据分析与可视化,形成"理论—电路—代码"的闭环。作业与 lab 的官方答案一般不直接公开,可通过文末提到的学习社区资源交流解法思路。

学习前置与衔接建议

  • 先修:官方标注无先修要求,数学上不预设线性代数功底(相关数学可并行补强,例如本仓库的 MIT 线性代数 MITLA离散数学概率论 CS70);编程上课程使用 Python,若完全没写过代码,可先完成 CS61ACS50P 级别的入门训练,会显著降低 lab 中的编程负担。
  • 后续衔接:修完 EE16 若对"信息如何在系统中流动"产生兴趣,可自然过渡到电子基础板块的下一层——信号与系统课程(EE120 信号与系统 侧重傅里叶变换与大量 Python 编程作业,MIT 6.007 侧重理论体系);若对"设备如何自主感知与决策"更感兴趣,则可衔接机器学习入门课程(见 docs/机器学习)。
  • 工程角度:从 EE16 中学到的"感知—建模—预测"闭环思维,会在后续 CS61C(机器结构)、CSAPP(深入理解计算机系统)等底层系统课程中反复以硬件形态出现,提前建立直觉非常有益。

与全仓库学习地图的关系

EE16A&B 在仓库中的完整定位可参见 CS学习规划.md 的"电子基础"章节,以及总入口 index.md英文版)。仓库同时提供该条目的 EE16 英文版,其中保留了更细化的资源链接列表(课程主页、录像播放列表、notes 与作业专区入口),英文阅读无碍的读者建议两版对照使用,以便直接定位到各学期的官方资料页面。

结语

EE16A&B 以"无先修门槛 + 全程可远程的 lab + Python 落地"三大特性,成为跨入电子基础领域性价比极高的一门课。它对计算机学生的真正价值不在于培养电路工程师,而在于用 150 学时建立起从物理世界采集信号到用数据驱动决策的完整心智模型——这正是"信息设备与系统设计"的精髓。结合本文的资源地图与本仓库的课程衔接建议,你可以在纯软件的自学路径上补上扎实的"硬件接口"一课。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
897
5.8 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
594
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
916
1.83 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.58 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.01 K
516
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
547
388