政策

2026年春季学期:官方学术指南课程描述

本课程涵盖的主题包括C语言和汇编语言编程、高级程序到机器语言的转换、计算机组织、高速缓存(caches)、性能测量、并行性、CPU设计、仓库级计算(warehouse-scale computing)以及相关主题。

先修课程

CS 61A和CS 61B(或同等课程)或具有基于C语言的编程语言经验(如Java、C++)。


阅读材料

本学期(2026年春季)我们正在积极开发课程笔记,专为本课程编写。如果您在初稿中发现错误,请发送邮件至cs61c@或在GitHub上提交pull request。

课程笔记基于以下教科书:


课程形式

以下子部分包含课程主要内容的总体概述。课程包括许多学习活动和机会:讲座、实验、讨论课、办公时间等。请尝试所有方式,找出最适合您的课程组成部分组合。

讲座(Lecture)

我们将在周一、周三和周五上午11:00 - 中午12:00 PT(太平洋时间)在Evans 10教室进行50分钟的现场讲座。录播视频将在讲座后发布到bCourses上。

讨论课(Discussion)

从第2周开始,讨论课将在周一和周二进行,时长1或2小时。两天的内容相同,将讲座和作业结合起来,涉及更多概念性工作。请参阅日历标签上的讨论课时间。

本学期,我们提供三种讨论课形式常规讨论课桥梁讨论课视频讨论课。所有形式都旨在帮助学生同样好地学习课程材料。您可以选择您想要的形式。在学期退课截止日期之前可以更改形式。

常规讨论课(Regular Discussion)

这种形式是面对面授课,时长1小时,重点是讨论练习题和小组解决问题,由助教(TA)主持。要获得讨论课学分,您必须参加并由您的讨论课助教(TA)签到。第2周可以试听讨论课,不记考勤。然后,在实验00发放的欢迎表格上提交您的偏好,以分配讨论课。从第3周开始,获得任意10次(或更多)讨论课学分将获得本课程讨论课的满分。您只能获得您注册的讨论课的学分。我们将在欢迎表格上协助讨论课注册。讨论课出勤情况仅在注册结束后进行跟踪。我们强烈建议您在第1周参加各种助教(TA)的讨论课,找到适合您的教学风格!

桥梁讨论课(Bridge Discussion)

这种形式是面对面授课,时长2小时。桥梁讨论课为学生提供了体验不同教学风格的机会,同时以较慢的节奏学习与其他讨论课相同的内容。注册和出勤方式与常规讨论课相同。

视频讨论课(Video Discussion)

视频讨论课不进行面对面授课。相反,有2025年春季和夏季的录播视频,助教(TA)会讲解讨论练习题并解释关键概念。视频讨论课的所有学生将自动获得全部讨论课学分。视频讨论课的学生可以根据自己的情况跟上每周的讨论材料。所有录播视频将在整个学期内可供观看。

选择讨论课形式

视频讨论课仅推荐给有相当编程经验且自信能够在没有面对面讨论课支持的情况下成功完成课程的学生。

所有选择都是很好的。视频讨论课旨在吸引那些通过观看视频、独立工作并在需要帮助时参加临时办公时间的学生。但是常规讨论课和桥梁讨论课的面对面形式对于希望与他人合作并了解课程工作人员的学生有优势。大多数学生选择面对面讨论课。

实验(Labs)

实验是自助式的;所有学生必须将实验作业提交到Gradescope(评分系统)。实验内容将讲座和项目结合起来,涉及完成项目所需的软件工具的实践练习。

每周一次,2小时的实验课将在周三和周四举行。两天的内容相同。实验课以"实验派对"的形式进行,学生可以一起完成实验作业。助教(TA)也可能组织相关主题的小型复习课程。您可以选择参加任何您想要的实验课,或者异步完成实验。我们鼓励您以小组形式完成实验,但每个学生必须提交自己编写的解决方案。

实验作业在Gradescope(评分系统)上自动评分。由于自助式实验没有出勤学分,您的实验成绩将完全基于您的测试用例(即,如果您通过80%的测试用例,您将在该实验中获得80%的分数)。

作业(Homework)

作业旨在让您练习讲座中涵盖的材料。我们鼓励您以小组形式完成作业问题,但每个学生必须提交自己编写的解决方案。

作业通过PrairieLearn(作业系统)在线提交,并根据正确性评分。

项目(Projects)

项目旨在让您获得课程内容应用的实战经验。本课程将有三个项目。项目提交到Gradescope(评分系统)并根据正确性评分。您可以选择与一个合作伙伴一起完成每个项目。

您有责任:

  • 根据课程指南创建您的代码仓库;请参阅实验0。(如适用)创建项目仓库后,您不能添加、更改或移除合作伙伴。
  • 在Gradescope(评分系统)上"激活"您想要评分的提交;默认情况下,Gradescope(评分系统)会对您的最后一次提交进行评分。
  • 仔细检查您项目仓库中的所有工作以及在Gradescope(评分系统)上提交的内容。
  • (如适用)在Gradar上注册您的合作关系。将另一名学生添加到您的Gradescope(评分系统)提交中不会创建正式的合作关系。
  • (如适用)将您的合作伙伴添加到每个Gradescope(评分系统)提交中。

如果您选择与合作伙伴一起工作,所有工作必须以同步结对编程的方式完成。通过建立合作关系,您和您的合作伙伴都对仓库中的工作和提交的内容负责。

考试(Exams)

将有一次Quest考试(Quiz + Test,即测验+测试),安排在计算机化考试中心(Computer-Based Testing Facility, CBTF)进行,时长1小时,时间为2月18日至2月20日(周三至周五)。重考时间为2月25日至2月27日(周三至周五)。

将有一次纸质期中考试,安排在3月17日星期二晚上8:00 - 10:00 PT(太平洋时间)。

纸质期末考试安排在5月12日星期二晚上7:00 - 10:00 PT(太平洋时间)。

考试仅面对面进行。期中考试将提供一次替代考试时间。您有责任在发现冲突后尽快通知我们。您越早联系我们,就越有可能找到解决方案。所有详细信息将在临近考试时在Ed上发布。

覆盖政策(Clobber policy)。我们重视学期期间的进步和学习。如果期末考试的z分数更高,将取代期中考试的z分数。请注意,即使您没有参加期中考试,此政策仍然适用。

办公时间

助教(TA)和讲师在整个学期将主要举办面对面办公时间,极少有在线办公时间。

讲师办公时间(Instructor Hours):讲师办公时间是面对面的,以小组形式进行。"概念办公时间(Concept OH)"专门针对CS 61C的概念和考试准备。"茶话时间(Teatime Hours)"是另一组讲师办公时间,用于解答一般课程问题、学术咨询或关于学术/行业的见解。这些时间不用于解答概念性问题。欢迎自带茶/咖啡和/或可重复使用的杯子。

助教(TA)办公时间:我们使用OH队列(OH Queue)来处理帮助请求。

请不要期望助教(TA)为您调试代码。这不是他们时间的良好用途,本课程的目标之一是将培养成优秀的测试员和调试员。然而,助教(TA)可以帮助您找到并修复错误。

因此,在来办公时间之前,您应该:

  • 运行valgrind并修复所有内存泄漏和编译器警告
  • 编写一个测试来隔离/演示问题(不是工作人员提供的测试)
  • 使用调试器逐步执行测试以找到代码中有问题的区域
  • 确认问题在hive机器上仍然存在,除非作业支持本地机器

如果您未完成上述所有项目,助教(TA)将要求您完成它们才能帮助您。所有项目规格中都包含测试说明,前几个实验涵盖Valgrind、(C)GDB和调试。

请将您的请求(ticket)标记为概念性或调试性。对于概念性请求,助教(TA)将一次帮助一组学生(等待时间较短),但不会查看代码。对于调试性请求,助教(TA)将查看您或您小组的代码,但如果队列很长,每个请求的时间可能有限制。

如果您参加在线办公时间,可以在EdStem上找到zoom链接。要获得帮助,请进入任何开放的分组讨论室(breakout room),在OH队列上创建一个请求,并记得注明您所在的分组讨论室。


特殊安排(DSP及其他)

我们将为所有注册伯克利残疾学生计划(Disabled Students Program, DSP)的学生提供适当的特殊安排。为确保您获得适当的特殊安排,请让您的DSP专家提交一封信确认您的身份和特殊安排。

如果您未注册DSP,或正在由DSP办理入学手续,您仍可能有资格获得特殊安排(如延长考试时间或延长截止日期)。如果学期期间出现严重的情有可原的情况,您也可能有资格获得特殊安排。如果您认为自己可能需要特殊安排,请发送邮件至cs61c@。

重要:如果您有涉及考试的特殊安排,请确保尽快向加州大学伯克利分校的系统提交一封信,以便我们为您的特殊安排做好计划。我们并不总是能在短时间内满足特殊安排请求。

作业延期

如果您需要作业延期,无论您的DSP身份如何,请通过Flextensions提交请求。提交内容仅对课程讲师和我们的学生支持人员可见。

任何不超过24小时的延期请求都将被批准;有作业延期特殊安排的DSP学生的请求将根据其特殊安排比例自动批准。每个学生在学期期间将获得一次长延期机会。之后,额外的长延期需要强有力的理由,并且仅在讲师酌情决定的情况下根据具体情况批准。

关于延期的一些规则:

  • 提交延期请求永远不会受到处罚。这指的是您请求的延期次数、延期长度等。每个请求都将根据具体情况进行审查和回复。
  • 延期截止日期不会在PrairieLearn(作业系统)上显示。只要您在延期截止日期前提交,就不会产生任何逾期处罚(您的请求一经批准,您应该会收到一封列出延期截止日期的邮件)。
  • 当您提交延期请求时,请不要等待回复再完成作业。我们在批准作业延期时不会考虑提交表格和收到通知之间的时间。

如果您想与学生支持人员交谈,请在您的请求中提及这一点或发送邮件至cs61c-extensions@。

我们的目标是在一个工作日(工作日)内回复。在截止日期前后,处理可能会延迟。


评分

为了促进协作环境,CS 61C采用固定评分标准。课程满分300分,以下是分数到字母等级的映射:

课程分数等级
275+A
[265,275)A-
[250,265)B+
[230,250)B
[220,230)B-
[210,220)C+
[190,210)C
[180,190)C-
[140,180)D
[0,140)F
作业分数
Discussion10 points
Labs24 points
Homework36 points
Project 120 points
Project 230 points
Project 330 points
Quest25 points
Midterm50 points
Final75 points
Total300 points

在学期结束时,A+等级(仅保留给课程表现优异的学生)将由讲师决定。

等级划分不会改变(即我们不会在学期结束时调整等级划分或进行四舍五入)。

行政退课

如果您在第3周开始前(2026年2月2日)未提交任何作业,您可能会被行政退课。如果您目前在候补名单上,或打算稍后注册,您必须跟上所有作业。无论出于何种原因,我们不会批准因延迟添加课程而申请的延期。


课程公告和计算机资源

Ed (EdStem)

所有重要的课程公告将在Ed(课程讨论论坛)上发布。我们将自动为所有人注册。除非在办公时间由工作人员指示,否则我们不会回答私人Ed问题。

Ed礼仪

Ed是一个正式的学术空间。本论坛中的帖子必须与课程相关,并符合伯克利社区原则(Berkeley's Principles of Community)伯克利校园学生行为准则(Berkeley Campus Code of Student Conduct)。我们期望所有帖子都表现出对他人的适当尊重、体谅和同情。请友好且周到;我们的社区汇集了广泛的宝贵经验。违反这些标准的帖子将被删除。

许多学生使用Ed进行异步作业帮助。为了帮助我们帮助您:

  • 发帖前先搜索。您的问题可能已经被我们或其他学生回答过。阅读其他学生的帖子可以帮助您完善问题,并给我们更多时间回答新问题。
  • 尽量避免开放式或模糊的问题,例如:"C语言是如何工作的?"或"为什么讨论题的答案是这样的?"。如果您向我们阐述您的想法并引用您觉得困惑的具体内容,我们可以更好地解决您面临的问题。具体说明有助于我们发现您可能存在的任何误解。
  • 将作业相关问题作为相应作业帖子的公开跟进发布。例如,将关于作业1的问题发布在作业1的帖子上。如果您的问题太详细或太暴露,不适合作为跟进,您的问题最好在办公时间内回答。
  • 只有在您相当确定答案时才在"回答"框中发布。不要将跟进问题或+1作为答案发布。
  • 不要在跟进中+1。相反,您应该在问题/跟进上使用心形按钮。过多的+1跟进会使帖子杂乱,使未解决的跟进更难找到。
  • 如果您希望在跟进中获得回复,请将其标记为未解决,否则我们可能看不到。

计算机资源

  • 计算机账户:您需要一个CS 61C教学账户才能访问计算机实验室和教学服务器完成作业。账户从教学第一天开始可用,并将在实验0中介绍。
  • 计算机实验室:注册学生从教学第一天开始可以通过卡片钥匙全天候访问Soda Hall的计算机实验室(Soda 271、273、275、277和330)。请注意,我们与其他CS课程共享这些实验室空间,请遵守EECS教学计算机行为准则(Rules of Conduct on EECS Instructional Computers)
  • 远程实验室访问:您也可以远程连接到教学计算机完成课堂作业。这将在实验0中介绍。如果您从校外连接,必须连接到校园VPN(如实验00中所述)。
  • 设备借用选项:学生可以通过学生技术公平计划(STEP计划)获得设备借用选项。

注意:如果您在任何时候无法访问课程资源,我们建议使用校园VPN


协作与学术不端行为

我们相信大多数学生能够区分帮助其他学生理解课程材料和作弊之间的区别。解释讲座中的一个微妙观点或讨论课程主题是我们鼓励的互动,但您必须严格自己编写解决方案。您可以获得概念性帮助,但不得分享、接收、请求或提交来自其他来源(如其他学生或Stack Overflow)的解决方案。您也不得篡改任何课程基础设施(如hive机器和自动评分器)或利用违反作业精神的漏洞。"解决方案"一词被定义为任何可能构成项目答案的内容,无论其正确性如何。

您必须确保您的解决方案不会对任何人(包括私人导师)可见。如果您使用GitHub或其他代码托管平台以电子方式存储解决方案,您必须确保您的账户配置为不公开显示您的解决方案。许多平台提供免费的私有仓库,允许您将解决方案保密。

对于包含任何形式随机化的问题(例如每个学生有不同的变体),您不得与任何人分享问题或与您收到的特定变体相关的任何内容。这包括问题文本、提供的任何数据文件以及您对该变体的解决方案。

警告:请花点时间查看学术不端行为部门政策(Department Policy on Academic Misconduct)。特别是,您应该知道,在任何时候从任何其他来源(包括但不限于其他学生、朋友、亲戚、私人导师、互联网或"人工智能")接收、复制、分享或查看解决方案的全部或部分内容,未经确认和工作人员批准,均构成作弊。

以下是一些可能被视为作弊的例子

  • 与朋友分享或接收解决方案
  • 作业截止后与朋友分享或接收解决方案
  • 学期结束后与朋友分享或接收解决方案
  • 提交朋友的解决方案以查看自动评分器的样子
  • 查看不属于您的解决方案以获取"想法"
  • 查看无人看管的笔记本电脑上的解决方案
  • 未经引用使用ChatGPT或GitHub Copilot的输出作为您的解决方案
  • 出于任何原因公开发布您的解决方案,包括用于简历
  • 与不是您在Gradar上注册的合作伙伴的其他学生分享代码
  • 忘记在Gradar上添加您想要的合作伙伴,但仍然像合作伙伴一样与他们合作
  • 在合作作业中与合作伙伴异步工作
  • 分享随机问题的特定变体(包括数字和任何相关文件)

如有疑问,请先联系工作人员。

  • 如果您怀疑发生了学术不端行为,或意外违反了我们的政策(例如,出于任何原因意外与朋友分享了解决方案),您必须立即发送邮件至cs61c@。否则,这将构成不端行为。 作为现任和前任学生,我们理解绝望的时刻可能导致绝望的措施。如果您觉得自己无法独自完成课程,请告诉我们!我们在这里支持您。

LLM的使用

我们相信学习课程内容最有效的方式是在不使用LLM的情况下参与其中。如果您在任何时候发现自己在作业、概念或任何与CS 61C相关的事情上卡住了,我们鼓励您在Ed或办公时间找到我们的工作人员!话虽如此,本课程允许使用LLM,但需极其谨慎,以下政策适用于所有与CS 61C内容相关的LLM交互:

合理问题。这些是可以向LLM提问的合理内容。

  • "为什么我们需要在C语言中使用指针?"
  • "什么是RISC-V调用约定?"
  • "错误消息是什么意思?"

需谨慎的问题。如果以下问题的答案最终生成的代码出现在您的提交中,您必须引用代码的来源。

  • "编写一段在C语言中从文件读取字符的代码。"
  • "编写一段在RISC-V汇编中创建数组的代码"

不合理问题。这些问题将极大地损害您在课程中的学习体验,不应向LLM提问。如果您从以下问题中获得了任何灵感用于您的代码,您必须在代码注释中引用提示和输出。

  • "设计一个算法来解决以下任务:<从规范中复制粘贴>"
  • 任何涉及复制、改写、意译等超过作业约15个单词的提示
  • 任何旨在生成可以直接复制粘贴到作业中只需最小修改的代码的提示。
  • 任何涉及将自己的代码交给LLM审查的提示。这包括Github Copilot、IDE中的内置LLM工具等。

我们相信学生能够区分使用LLM真正尝试更深入理解课程内容和使用LLM避免参与课程学习目标/在不了解更多内容的情况下完成作业之间的区别。我们也相信LLM非常容易给出错误答案,因此我们不会惩罚在课程平台上询问合理LLM输出的行为。例如,如果LLM给您的信息看起来是错误的,请提问!我们在这里支持您的学习并纠正您的误解,课程工作人员是61C的官方信息来源。与其在课程结束后可能内化错误信息,不如向我们提问并对回复充满信心。

任何AI生成的代码都必须引用并明确注释。违反此引用规则是严重的剽窃行为。此外,请注意,在公共论坛上发布代码的同样限制也适用于发布LLM代码。不要在课程平台上公开发布大量代码。

合作伙伴

对于允许合作伙伴的作业,您可以与正式注册的合作伙伴合作,但所有工作必须同步完成。唯一允许与合作伙伴异步处理项目的时间是在办公时间内。合作政策在您的合作伙伴关系之外仍然适用。例如,您可以与合作伙伴协作编写代码,但不能与其他任何人协作。

允许合作伙伴的作业将指定如何正式记录您的合作伙伴。这通常是在您获取代码仓库时通过Gradar完成的。我们不承认在其他地方创建的合作伙伴关系,包括Gradescope(评分系统)合作伙伴关系。

此外,如果您注意到仓库中有任何您不认识的工作,您必须尽快通知工作人员,否则可能构成学术不端行为。

警告:您和您的合作伙伴都对仓库中的工作和提交的内容负责。如果您的合作伙伴作弊,您也应对他们的行为负责,因为所有工作都应该同步完成。

作弊检测

我们将运行高级剽窃检测程序。检测作弊的工具和方法已经开发多年,试图混淆代码以避免检测:

  1. 不会奏效,并且
  2. 将会受到处罚。

处罚

任何作业中的剽窃行为都将报告给学生行为中心(Center for Student Conduct)。CSC将大多数初犯视为非报告性警告(Non-Reportable Warning,见第六节)。此外,我们还将给予成绩处罚。作业作弊的最低处罚是负分。例如,如果一项作业价值10分,您将在该作业上获得-10/10分,无论您的原始分数如何。这意味着即使只有50%的几率被抓住,不做作业也比尝试作弊更好。作业中的第二次剽窃行为将导致课程成绩为F。

提交过往学期的作业

如果您在过往学期完成了作业并希望重用您的工作,您不必提前通知工作人员。但是:

  • 我们不能保证各学期的作业完全相同。
  • 如果您想使用过往学期的工作提交项目,您不能在本学期有项目合作伙伴。如果您最初完成项目时有合作伙伴,您可以提交他们完成的那部分项目。
  • 通过提交过往学期的部分或全部工作,您声明提交的工作完全由您(以及如适用,您以前的项目合作伙伴)完成。如果您不确定该工作是否是您(以及如适用,您以前的项目合作伙伴)的原创作品,我们建议从头重做作业。

课程氛围与包容性

我们认识到我们的学生来自不同的背景,有着广泛不同的经历。

教师和工作人员致力于创建一个社区,让每个人都感到被尊重被包容和被支持。我们认识到可能会发生一些事件,有时是无意的,与这个目标背道而驰。我们可以做很多事情来改善学生的氛围,但我们需要了解挑战在哪里。如果您在课程或项目相关活动中遇到不当言论、不尊重的对待,或者感到被忽视、排斥或边缘化,请说出来。

为帮助实现这一目标:

  • 如果您的姓名和/或代词与官方记录中显示的不同,请告诉我们。
  • 在安排考试时,我们已尽力避免与主要宗教节日冲突。但是,如果我们无意中安排的考试或重要截止日期与您的宗教仪式产生冲突,请尽快告诉我们,以便我们做出其他安排。
  • 如果您觉得课堂表现受到课外经历的影响(例如家庭事务、时事),请不要犹豫,来与我们交谈。我们希望成为您的资源。我们越早了解情况,就有越多的选择来帮助您。

专业性和对多样性的尊重不仅是学生之间的问题;它们也适用于课程工作人员对待学生的方式。本课程的工作人员将以尊重我们差异的方式对待您。然而,尽管我们尽了最大努力,我们可能会犯错,希望是无意的。我们(像许多人一样)仍在学习不同的观点和身份。如果您对整体课堂动态或工作人员造成的课堂环境问题有疑虑,请随时与我们讨论。

如果课堂上有人(任何人——工作人员或同学)说的话让您感到不舒服,请告诉我们。有时,您可能不愿意直接向我们提出。以下是一些选择:

对于对课程工作人员或其他学生的极其粗鲁或不尊重的行为,我们保留向学生行为中心提交不当行为案件的权利。如果您以最基本的尊重和体谅对待他人,并且不从事对他人有积极危害的行为,您无需担心此政策。


校园资源

您的心理健康比本课程更重要。说真的。加州大学伯克利分校提供服务来帮助您解决心理健康问题或压力事件。

如果您需要笔记本电脑、Wi-Fi热点或其他必需技术,请查看学生技术公平计划(Student Technology Equity Program)


我们希望你成功!

如果您感到不知所措,请参加我们的办公时间并与我们交谈,或通过电子邮件联系我们。我们知道大学可能压力很大,我们希望你们所有人都能在这里取得成功。

最后——成绩、处罚和压力不是本课程的目的。我们真的只是希望您学习并在此过程中获得美妙的体验。请在整个学期牢记这个目标。欢迎来到CS 61C!


致谢

本政策页面的部分内容源自CS 61B 2024年春季学期和CS 61A 2025年秋季学期。