常见问题
以下是关于这门课程最常被问到的 个问题的答案。对于其他问题,请在 CS50 的任何社区中提问!
这些常见问题更新至最新。我们上次更新于 2026 年 5 月 28 日 18:57 UTC。
我应该选修这门课程吗?
我或我的孩子是否太年轻不适合选修这门课程?
我们的课程可能最适合 12 岁及以上的学习者。年龄较小的学习者可能需要家长的帮助。请注意,你当地的法律和政策可能会阻止特定年龄以下的学习者使用与此课程相关的免费第三方服务。因此,年龄较小的学习者在注册这些免费服务时可能需要你的帮助。
这门课程有前置要求吗?
虽然你不必修读或出示通过先修课程的证明,但我们强烈建议你查看我们的课程地图以确定这门课在你目前的学习阶段是否适合你。
这门课程可以用于满足我的大学、学院或学校的官方学术要求吗?
我们的免费和认证证书并非来自哈佛或其任何附属机构的经认证的学术学位。我们提供这些证书用于自学和职业发展用途。
世界各地的学校和大学对于具体什么可以被接受作为学分转换有不同的规定。因此,你应该咨询你的学术顾问关于你个人的情况。有可能(但你需要向你的顾问核实)我们的证书将满足他们的要求。事实上,我们的一些课程(通过 edX)被美国教育委员会(ACE)推荐为大学学分,你所在的学术机构可能会认可。
如果你正在寻找经认证的学术课程或本科或研究生级别的证书,可以考虑Harvard Extension。
如何利用美国教育委员会(ACE)的学分推荐?
ACE,用他们网站的话说,帮助学习者寻求”快速启动他们的大学生涯获得学分转换,或用徽章开启新的就业机会”。此外,他们指出”ACE 国家指南可用于查找提供大学学分或能力认证推荐的课程和考试”。
我们的一些课程,通过 edX 的认证证书计划,已被收录在ACE 国家指南中。截至这些常见问题的最新修订,我们出现在 ACE 国家指南中的课程包括:
你现在或未来的学院或大学可能会接受我们已被收录在 ACE 国家指南中并且你已获得 edX 认证证书的课程。但是,强烈建议你在选修我们的课程之前与你的学校核实,是否希望它们被接受为官方学分。免费的 CS50 证书不能用于满足 ACE 的要求。
获取此类学分的流程如下:
- 从 ACE 国家指南中选择我们的一门课程(见上文)。
- 向你的学术机构核实他们是否会接受 ACE 国家指南中列出的这门课程作为学分。
- 注册课程的 edX 认证通道并完成支付。你可以使用以下链接之一:
- 获得并领取课程的 edX 认证证书。
- 从 edX 获取官方的 ACE 学分笔记或 ACE 成绩单。有时,仅 edX 认证证书可能就足以作为 ACE 证明文件,前提是认证证书明确包含 ACE 学分推荐。
- 在 Credly 上领取你的 ACE 学分徽章。edX 通常会在颁发 edX 认证证书时提供链接或邀请以领取 Credly 徽章。
- 保留你的 edX 认证证书、ACE 证明文件(如学分笔记或成绩单)以及 Credly 徽章。
- 在适当的时候,将这些证明文件出示给你的学术机构。
如果你之前在 ACE 国家指南网站上列出的注册期间完成了课程并获得了认证证书,你将能够追溯获取以上内容。但是,课程完成必须在注册期间内,该期间会不时更改。如果你希望在你完成课程后升级为 edX 认证证书,在确认你的注册期间在 ACE 国家指南规定的期间内后(见上文),你可以查看我们的证书升级说明。
所有关于 ACE 学分的咨询应直接联系 edX 支持。
我可以获得确认注册和课程详情的信函吗?
我们无法提供个性化的邮件详细说明你在这门课程中的注册情况。但是,欢迎你注册 edX 的认证证书,用于提供你已注册该课程的证明。此外,你可以从课程页面打印包含课程详情的 PDF 副本。最后,关于课程的时间要求,你可以自己合计每周的课程讲座时间。对于必修作业所需的时间,最好估计每周的问题集在 10-20 小时之间。
注册
如何注册这门课程?
你可以按照课程页面上的逐步说明进行注册。
认证证书和 CS50 证书之间有什么区别?
一份认证证书,你可以从 edX 购买,”可以为雇主、学校或其他机构提供证明,证明你已成功完成在线课程。”
一份CS50 证书是 CS50 本身的免费证书。
如果我注册了认证证书,还能获得免费证书吗?
可以。
必须注册 edX 吗?
是的。无论你追求哪种证书(免费或认证),你都必须注册 edX。
edX 要求我付费才能注册课程:如何获取免费证书?
最好在注册时仔细重新阅读 edX 网站上的问题。有一个”免费”或”旁听”选项,无需付费。
如果我将来想要 edX 认证证书,必须在开始课程前付费验证吗?
不需要!如果你想要来自 edX 的认证证书,你可以在任何时间点支付验证费用,直到这门课程最终截止日期前 10 天,即使是在完成所有课程作业之后。但是,我们强烈建议你在完成这门课程之前进行验证,以避免任何可能导致证书发放延迟的后勤问题。否则,我们在下文中提到的 30 天等待期只有在 edX 验证你的身份后才会开始。因此,在你完成这门课程后再等待注册认证证书,可能会延迟收到你的认证证书 30 天或更长时间。
如果我在完成课程后支付了认证证书,需要通知你们吗?
如果你在这个日历年完成了课程:不需要。只要你的成绩册显示你已完成这门课程,你就将在向 edX 支付认证证书费用后最多 30 天内收到你的证书。
如果你在这个日历年之前完成了这门课程:需要。请将你的 CS50 证书副本、你用于完成这门课程的 edX 和 GitHub 用户名,以及你购买 edX 认证证书的收据发送给我们。你必须使用之前完成这门课程时使用的同一 edX 账户购买 edX 认证证书。
我可以为今年之前完成的 CS50 课程获取认证证书吗?
是的,我们可以为 2019 年至今的任何课程完成提供认证证书。前提是你可以将你的 CS50 证书副本、你用于完成这门课程的 edX 和 GitHub 用户名,以及你购买 edX 认证证书的收据发送给我们。如果没有这些信息,我们无法提供此类证书。
如果我在这个日历年之前支付了认证证书,我需要再次付费吗?
不需要,你的验证应该有效一整年,但如果已过期,你应该可以通过 edX 的仪表盘重新验证自己。
追踪你的进度
如何知道我是否已完成证书的所有要求?
你的成绩册显示你对这门课程最新版本中每次作业提交的结果。你的成绩册顶部显示你在这门课程中的当前状态,显示你已完成的必修作业数量。如果你的成绩册显示你未注册这门课程,最好注册并开始完成必修作业。
这门课程需要多个作业在某些周提交,而在其他周只需一个作业。当你完成给定周的要求时(即在该周所有必需问题上获得 70% 或更高的分数),该周的编号将显示为绿色,你的进度指示器将更新以反映这一点。
一旦你在所有必修作业中获得至少 70% 的分数,你将看到该页面顶部出现一个绿色横幅,确认你已完成课程,并为你提供获取证书的后续步骤。
这门课程的成绩册在哪?
CS50x 使用我们自己的成绩册。如果你以前从未访问过该链接,你需要点击链接进行”注册”,这实际上只是启用你的成绩册访问权限!在 edX 上注册(无论是免费证书还是认证证书)是必需的。
为什么 成绩册 显示我未注册?
造成此问题的原因有很多。以下是最常见的原因。第一,你可能以前从未注册过这门课程。第二,你可能从未将你的 edX 账户链接到你的成绩册。最好按照你的成绩册中的屏幕说明来解决此问题并完成注册。
这门课程有分数吗?
没有。这门课程使用数字分数。获得 70% 或更高分数的作业被视为通过。
我的成绩册只显示我是否达到问题及格线?如何查看我的实际分数?
如果你通过了已提交的作业,你的成绩册将显示绿色对勾;如果你未通过已提交的作业,则将显示红色”x”。
你的整体问题分数按 75% 的正确性和 25% 的风格加权计算。为了获得表示完成的绿色对勾,你的整体分数必须达到 70% 或更高。例如,如果你的 check50 分数是 7/8,风格分数是 0.95,你的整体分数将是 (7/8 * 0.75) + (0.95 * 0.25) = 89%。你可以点击你的成绩册中的问题名称来查看你单独的 check50 和 style50 分数。
我在前一年完成了一份作业或这门课程。为什么我的成绩册不再显示我之前的进度?
在每个日历年开始时,我们会清理我们的成绩册并”重置”它。你的进度如何变化取决于你上次提交课程作业的时间。
为什么 edX 认为我的分数是 0%?
这门课程不使用 edX 内置的成绩册,因此所有学生的分数在 edX 成绩册中始终显示为 0%。不用担心,请查看你的成绩册以获取你的实际结果。如果你最近完成了这门课程,edX 可能需要最多 30 天才能在你的 edX 仪表盘上确认你的完成情况。
我观看了 edX 或 YouTube 上的所有视频:为什么我没有证书?
除了观看这门课程的讲座外,这门课程还有大量的作业必须完成。最好查看这门课程的菜单,其中列出了课程的各种作业。
为什么我的 edX 仪表盘显示即使我已经完成了这门课程,我仍可以”继续”这门课程?
你的 edX 仪表盘可能会显示查看课程或继续课程,这是为了方便你返回或查看这门课程。它并不表示完成或未完成。
GitHub 禁用了我的账户。我该怎么办?
最好查阅 GitHub 关于账户恢复的文档。我们无法将你过去的进度转移到新的 GitHub 账户。此外,我们无法从已禁用的 GitHub 账户访问你的文件。如果你无法重新获取你的 GitHub 账户的访问权限,你将需要重新开始这门课程。
问题集、作业与评估
这门课程有考试吗?
这门课程没有总结性测试或”期末考试”。虽然我们在哈佛学院和 Harvard Extension 的课程通常有期末考试,但这门课程没有。你只需要完成这门课程每周或每个模块中列出的作业。
”较少舒适”和”更多舒适”问题之间有什么区别?两个都需要做吗?
在一些早期的问题集中,你可以在”较少舒适”和”更多舒适”问题之间进行选择。
”较少舒适”问题可以被视为问题的”标准”版本,专为先前经验很少或没有经验的学生设计。”更多舒适”问题是”挑战”版本,专为因在本课程之前有先前学习/经验而认为自己较有实力的学生设计。因此,它们可能需要比课程中目前涵盖的更多概念。
如果你发现自己真的在”更多舒适”版本上挣扎,你应该切换到”较少”版本(或者如果你已经完成了那个,只需继续前进,也许可以在以后的某周再回头看)。跳过这个问题也比因为过于沮丧而完全退出这门课程要好。作为参考,在 2019 年秋季的哈佛课堂上,只有 20-30% 的学生提交了”更多舒适”问题。
做”更多舒适”问题不会获得任何额外分数。如果你两个都提交,分数较高的那个将计入你的整体课程进度。
你收到我的提交了吗?
一旦你按照作业规格说明中的指示使用相应的slug执行submit50命令,你的成绩册将立即更新你的通过状态,前提是你的提交通过了!在使用submit50之前,最好先使用check50确保你已在提交前完成了整个问题。
我提交了一个项目,但我的成绩册中没有任何内容显示我已提交。为什么?
前提是你已按照作业规格说明中的指示使用相应的 slug 执行了submit50命令,你的通过状态应立即发布到你的成绩册。首先,最好对你的作业运行check50以确保它满足要求。其次,如果仍然不起作用,请确保你用于登录CS50.dev的 GitHub 用户名与你的成绩册顶部显示的 GitHub 用户名相同。
如果我提交了一个问题但没有达到 70% 的及格线,我可以重新提交吗?
可以!你可以重新提交;我们只会将你最近的提交计入你的进度。
如果我的 check50 分数不符合预期,可能是什么原因?
你的 check50 分数是准确的。运行 check50 后,请注意,将提供一个链接指向你的结果。请注意,check50 会检查你是否精确满足各项检查条件。因此,如果它期望在输出后有一个换行符但没有这样的换行符存在,该检查将显示为未满足。在某些情况下,check50 结果中的预期输出和实际输出可能看起来完全一样。在这种情况下,最好考虑空格和其他不可见字符可能在其中起作用。当然,也有可能你误解了作业的一部分,需要重新阅读问题集的规格说明。
如果我的代码风格分数不符合预期,可能是什么原因?
你的风格分数将基于你提交中每个源代码文件的 style50 结果。当你运行 submit50 时,请确保你的文件夹只包含问题集所需的文件。如果其中有任何额外的测试文件,这些也将计入你的分数。从文件夹中移除额外文件并重新提交以获得更新的风格分数。
为什么我没有通过 我的最终项目?
提交你的最终项目后,你可以在你的成绩册中查看你的提交,了解有关你的分数以及你未通过原因的详细信息。
你的最终项目未获得通过分数的最常见原因是你没有遵循最终项目规格说明。
你的最终项目未获得通过分数的第二个最常见原因与你的文档有关(你的最终项目的 README 或 DESIGN 文件)。当你的 README 或 DESIGN 文档未满足规定的要求时,你将无法通过最终项目。文档文件应该相当充实。没有完成包含大量段落的充实文档文件的学生将不会获得通过分数。强烈建议你创建一份充实的文档文件,包括最终项目规格说明中提到的精确小节。此外,请注意,最终项目规格说明包括了文档的大致字数要求。遵循这些规格说明将确保你的文档文件包含你能够通过所需的所有细节。
如果我完成了 70% 的问题,能获得证书吗?
不能。你必须完成所有必修作业,并且每项都至少获得 70% 的分数。
我是否在作弊?
最好参考我们的学术诚信政策查看。
截止日期
截止日期是什么时候?
这门课程没有针对各项作业的单独截止日期。欢迎你按照自己的节奏进行学习和提交。
这门课程的整体截止时间目前为UTC时间 2026 年 12 月 31 日晚上 11:59,有时被称为 Zulu 时间。为方便起见,我们通常会将其渲染为你当地时区的时间(2026-12-31T23:59:00+00:00)。
如果所有必修作业在上述时间之前提交,并且最终获得满意的分数(无论是在该截止时间之前还是之后不久),你将被视为已完成这门课程。
如果我在 2026 年 12 月 31 日结束前没有完成这门课程,会发生什么?
如果这门课程延续到下一年,2026 年完成的所有作业将被带到 2027 年。如果这门课程在 2026 年之后更新为 2027 年版本,你可能只能提交 2027 年版本的问题集,并且需要满足该课程那时的任何要求。2025 年及之前提交的作业将不会带入 2027 年。
如果我在这个日历年之前开始了 CS50x,我可以继续吗?
是的,2025 年已完成的1问题已被带入你的 CS50x 2026 成绩册。你将看到已完成的问题标有绿色对勾。接下来,你必须提交 CS50x 2026 的问题集。来自这门课程先前版本的作业可能无法提交以获得学分。2025 年之前提交的作业不计入你 2026 年的进度。
1 所谓已完成,意思是在之前的截止日期之前,你在该问题上获得了 70% 或更高的分数。
获取你的证书
如何获取我的免费 CS50 证书?
一旦你完成了这门课程并满足所有要求(按上述说明),你将在你的成绩册页面上看到一个链接,允许你申请免费的 CS50 证书,类似于此处所示。此链接将在你收到最后一项必修作业的分数并且你的成绩册中的进度条显示课程完成后大约四个小时内可用。一旦此链接出现,你应该使用你的GitHub凭据登录。如果你在访问时遇到问题,尝试退出 GitHub 并重新登录,然后重新访问该链接下载你的证书。请务必在截止日期之前下载你的免费证书。
如何从 edX 获取我的认证证书?
每三周,CS50 的工作人员会向 edX 提供已满足这门课程要求的学生列表(在所有必修问题中每个至少获得 70% 的分数)。通常,在此之后的一周内,edX 会生成学生的认证证书(针对持有有效验证的学生),此时它们应自动出现在 edX 的仪表盘上。因此,在你满足这门课程的要求后,edX 生成你的认证证书可能需要最多 30 天。请注意,edX 不会通知你,所以请务必定期检查你的仪表盘。
如果自你满足所有要求以来已经过了超过 30 天,而你仍然没有收到你的证书,尽管在此期间一直持有有效的验证,请将你的详细信息发送邮件至 证书s@cs50.harvard.edu。请不要提前发邮件;我们不接受加速处理认证证书的请求。
可以加快 edX 颁发我的认证证书吗?
不可以。
为什么 30 天后我还没有收到认证证书?
首先,请记住,你的 edX 认证证书将在满足以下三个条件后最多 30 天内由 edX 颁发:(a) 你的成绩册显示你已完成所有必修作业,且每项至少获得 70% 或更高的分数;(b) 你已向 edX 付款并完成了他们的验证流程,在你的 edX 仪表盘上显示已验证徽章;(c) 你已将你的成绩册链接到你的 edX 账户。因此,你应该确保自上述三个条件全部满足以来已经过了 30 天。
其次,只有当你已将你的成绩册链接到 edX 时,我们才能将你的通过状态告知 edX。访问你的成绩册,确保页面顶部没有显示你必须将你的成绩册链接到你的 edX 账户的黄色横条。如果你看到这样的黄色横条,请完成链接流程。然后,重新阅读上述关于你可能期望何时收到证书的时间说明。
最后,如果你仍然没有收到你的 edX 证书,最好确保你的成绩册顶部显示的 edX 用户名与你的edX 仪表盘顶部显示的 edX 用户名相同。如果这些用户名不匹配,你需要通知 edX 他们需要将你的验证付款转移到正确的用户名,因为我们很可能已经通知他们,你的成绩册顶部显示的 edX 用户名已通过这门课程。
什么名字将出现在我的证书上?
免费证书将包含你在领取证书时提供的名字。在领取过程中,你将亲自输入你希望出现在证书上的名字。请确保你输入的是你希望出现在证书上的名字!
通过 edX 提供的认证证书将包含与你的 edX 账户关联的名字。
我可以更改我证书上的名字吗?
不可以,我们无法更改你证书上的名字。因为我们依赖你正确输入名字,并且由于我们合作的学生数量巨大,我们无法提供名字更改服务。欢迎你升级到认证证书,并通过发送邮件至 info@edX.org 与 edX 沟通关于你认证 edX 证书上会出现什么名字。
你们提供印刷版证书吗?
不提供。最好将你的数字证书带到当地的打印店,他们会为你打印。
使用你的证书
我应该在简历或其他地方如何描述我的认证证书?
在你的简历或 LinkedIn 个人资料中引用与你的认证 edX 证书相关的 HarvardX 凭证时,请使用以下模板:
对于你的简历,请使用以下措辞: HarvardX [课程名称]
要在你的 LinkedIn 个人资料中列出你的证书,请在”教育”下按如下方式输入详细信息: 学校:HarvardX 就读日期:[你参加该课程的年份] 学位:其他;[课程名称]证书 专业领域:留空 成绩:完成 活动与社团:留空
此外,edX 提供了以下可能也有帮助的博客文章:
- 将在线课程添加到简历的三个理由及如何操作。具体来说,在文章末尾,它讨论了你应如何将此信息添加到你的简历中。
- 如何将我的证书添加到我的 LinkedIn 个人资料?
软件与硬件
我的 codespace 运行异常。我该怎么办?
第一步始终是尝试重启你的 Codespace 容器。问题可能因各种原因出现,但通过访问 cs50.dev/restart 进行重启通常可以解决问题。请务必耐心等待它重建和重启,因为这可能需要几分钟。
如果这不能解决问题,最好参考我们的CS50 版 Visual Studio Code技术文档。
为什么与这门课程相关的内容或第三方服务似乎被阻止了?
你的计算机、网络或当地政府可能正在阻止你访问我们的内容或与这门课程相关的第三方工具。首先,尝试使用连接到其他网络的另一设备,看看是否是你的设备在阻止你的访问。考虑杀毒扫描器、防火墙以及其他与安全相关的工具和软件可能正在阻止你的访问。
其次,考虑你尝试访问这些资源所使用的网络可能在阻止你。你可能需要与你的网络管理员沟通,或者至少尝试寻找另一个允许你访问的网络连接。
最后,可能你的当地政府因贸易或内容相关法律而阻止访问。
在上述所有情况下,最好向我们众多社区之一寻求帮助。
你能帮我绕过阻止我访问课程及其相关第三方服务的内容封锁吗?
不能。
我可以在学习课程期间更改我的 GitHub 或 edX 用户名吗?
不可以。更改你的 GitHub 或 edX 用户名将导致你丢失课程进度。一旦丢失,我们将无法为你找回。如果你已经更改了你的用户名之一,最好将其改回来。
支持
这门课程有答疑时间吗?
没有定期的!但你仍然可以在 CS50 的任何社区中提问!此外,请查看近期有哪些即将举行的会议。
这门课程有小组课吗?
有!虽然这门课程规模太大,无法为当前学生举办实时小组课,但这里提供预录制的小组课,供学生补充其他课程材料。此外,请查看近期有哪些即将举行的会议。
你能帮我解决代码问题吗?
对于问题集或课程概念的帮助,我们希望你向我们众多社区之一寻求帮助。如果你还不是上述链接中列出的任何社区的用户,请允许我们建议你从 CS50.ai 和 Ed 开始!
课程之外
我应该选修哪门课程?
我们提供许多课程。对于每门课程,我们提供收费的认证证书和免费的证书。认证证书需要通过 edX 进行验证流程,因此可能被他人视为更具权威性。免费证书使用唯一 URL 颁发。我们的一些课程面向那些想更多了解编程和数据科学的人。我们的一些课程面向那些不想立即投入编程的专业人士。
我可以向我的学生教授这门课程吗?
如果你是一名教师,欢迎你根据许可协议采用或改编这些材料用于你自己的课程。此外,请查看CS50 教育工作坊。