首页 > 后端开发 > C++ > 我对哈佛计算机科学的诚实评论:提示、指南和免费证书

我对哈佛计算机科学的诚实评论:提示、指南和免费证书

WBOY
发布: 2024-08-30 11:07:50
原创
1129 人浏览过

2024年5月,经过3个月的努力,终于完成了哈佛CS50X课程。最后,我完成了整个旅程,并获得了哈佛的免费证书。这是我学过的最好的课程之一。这是我的证书,

My Honest Review of Harvard’s CS: Tips, Guidelines & Free Certificate

既然您在这里,我可以假设您对 CS50x 有所了解。这是哈佛大学的编程入门课程,教您编程世界的基础知识。我在开始之前看到了很多误解。我将尽力提供全面的概述和一般指南,以帮助您充分了解 CS50x。最终,你可以像我一样获得哈佛的免费证书。开始吧

概述:

那么什么是CS50?哈佛说,

这是哈佛大学的 CS50,为集中人员和非集中人员(无论是否有编程经验)介绍计算机科学和编程艺术的知识企业。

课程由 11 周(部分)的学习材料组成,每个部分都会给你一个问题集,你需要自己完成,不需要人工智能或任何其他方法的帮助。最后11周,你要提交一个最终项目,需要你发挥自己的创造力来完成。

My Honest Review of Harvard’s CS: Tips, Guidelines & Free Certificate

CS50 的一大特色是其导师 David Malan 和支持 CS50 的团队。您一定会爱上大卫·马兰的教学风格。他的演讲和教学非常精彩。我对这门课程的教学没有任何抱怨。

第11周:

以下是所有几周的全面概述。随意跳过。本博客后面将介绍如何完成这些部分

  1. **第 0 周划痕:
    **在本节中,您将学习一些计算机科学的入门概念,例如计算思维、问题解决、二进制、ASCII、Uniconde、算法等。
    David 将通过一种名为 Scratch 的婴儿语言向您展示一些关于编程基础知识的思考。作为挑战,您必须提交自己的 Scratch 项目。说实话,这很有趣。

  2. **第 1 周 C:
    **您将在本节中编写实际的程序。您将学习如何用 C 语言进行编程。这包括编程语言的基础知识,例如条件、循环、变量、数据类型、基本终端命令。 Malan 将深入探讨一些深层概念,例如整数溢出和截断。
    这里要完成的问题是马里奥、现金和信用。
    马里奥和现金很简单,但信用却很棘手。

  3. **第 2 周数组:
    **您将学习处理和编译步骤、调试以及重要的编程概念,例如数组和字符串。您将在课堂上制作两个程序“greet.c”和“touppercase”
    问题是拼字游戏和可读性。请注意,可读性很困难。另外,您必须提交以下项目之一,
    凯撒(比较容易)和替补(较难++)。

  4. 第 3 周算法:
    在课程中,您将学习渐近符号来计算算法效率。该视频展示了搜索操作和排序,如线性搜索、二分搜索、冒泡排序、合并排序和选择排序。这里还展示了一个美丽的编程概念,即递归。
    您必须强制完成排序和复数。可选的有 Runoff 和 Tideman。您需要完成两者中的任何一项。我的建议是完成径流,因为它更容易。 Tideman 是您一生中遇到的最困难的问题之一。

  5. 第四周记忆:
    本周,马兰教授记忆如何运作。这里介绍了指针、malloc、free 和基本内存执行(如堆和堆栈)。您还将了解内存泄漏、垃圾值和文件 I/O 操作。
    作为问题,您必须提交卷、恢复和任何一种版本的过滤器。我提交了两个过滤器问题。

  6. 第 5 周数据结构:
    您将学习一些数据结构基础知识。这里涵盖了队列、堆栈、堆、链表、搜索树、哈希表和尝试等概念
    问题是Speller和Inheritance,比前面的问题相对简单。如果你已经做到了这一步,我相信你有能力完成整个旅程。

  7. 第 6 周 Python:
    您将应用以前的编程语言概念,但使用更简单的语言 Python。
    问题集很简单。事实上,您实际上是在用 Python 重写以前的 pset 解决方案。请注意,您可能会发现 DNA 问题有点棘手。

  8. 第 6.5 周人工智能:
    您将了解现代人工智能如何做出决策并在决策背后发挥作用。这里讨论了即时工程、机器学习、深度学习和生成人工智能的一些基础知识。
    这里没有问题。

  9. 第 7 周 SQL:
    让我们深入了解关系数据库的世界。您将学习 sqlite3 数据库的基础知识以及表、行、索引、函数和注入攻击等概念
    如果您专注于视频中的主题,那么问题集对您来说太容易解决了。问题是歌曲、电影和 FiftyVille。
    我就是喜欢五十维尔。相信你也会喜欢的。

  10. 第 8 周 HTML、CSS 和 JavaScript:
    视频中讨论了基本的网络概念,例如互联网的工作原理、TCP、IP、HTTP 等。然后您将学习网站的构建块,即 HTML、CSS 和 JavaScript。您只会对这些技术有一个简单的了解。
    您必须提交Trivia 和Homepage 两个问题的解决方案。你必须使用 HTML、CSS 和 Javascript 制作自定义网站来解决这个问题

  11. 第 9 周烧瓶:
    Flask 是一个基于 Python 构建的库,用于使网站动态化。该视频涵盖了 Flask、路由、请求、响应、会话、Cookie 等主题,并展示了基本的 Jinja 语法。
    您必须通过使用 Flask 和 jinja 制作两个动态网站来解决生日和财务两个问题。财务是一个困难但有趣的问题。

  12. 第 10 周网络安全:
    视频中介绍了网络安全的基础知识,该视频没有任何与网络安全相关的问题需要完成。您只需完成一个最终项目即可完成整个课程。您可以在这里借助人工智能的帮助,但您的项目必须是独一无二的。为了制作该项目,您可以选择您想要制作的任何内容以及您想要选择的任何技术。

CS50 适合我吗?

虽然 Cs50 可以使大多数人受益,但在开始之前您应该考虑某些事项。否则,您可能会感到失望或可能无法完成课程并浪费时间。

如果满足以下条件,CS50 绝对适合您:

  1. **您以前从未编码过:
    **虽然一点点编码经验会节省很多时间,但如果您以前从未编码过,那么您应该从 CS50 开始。如果你能完成它直到最后,你就会变得势不可挡。请注意,大多数初学者没有完成课程,因为它看起来太难了。

  2. **您想全面了解编程世界:
    **无论您是员工、创意工作者还是大学生,CS50 都将帮助您建立对编程世界的良好理解。你可能会找到一条职业生涯的发展之路。就像我一样。
    我是一名前端开发人员,主要从事前端工作并构建美观的 UI。完成CS50后,我开始走向后端。

  3. 您想提高解决问题的能力:
    CS50 有大量问题需要解决。每周,问题都会变得更加困难和有趣。我确信,如果您想提高解决问题的能力,同时了解编程世界的概况,CS50 绝对是一个不错的选择。

  4. 寻求认可的证书:
    获得哈佛大学的证书是您一生中一件了不起的事情。这么想一下,
    如果您是人力资源部门并选择在一个职位上招聘两名候选人,那么之前完成 CS50 的候选人将始终在您的列表中处于方便的位置。尽管其他因素也很重要。

如果出现以下情况,CS50 不适合您:

  1. **您想聘请某个领域的专家:
    **这是很重要的一点。根据我自己的经验,我可以说CS50x并不是一门让你专攻某个领域的课程。无论是 Web 开发、移动还是后端开发。它仅向您提供技术世界的基本概述。您将获得有关编程世界的丰富知识。那么你的任务就是选择一个领域并了解更多相关知识。 CS50 也有自己的 Python 或 Web 课程。你可以检查一下。

  2. 您想要尽快找到工作:
    我想向您传达这一重要信息。正如我之前所说,CS50x 不是一门专业课程,它不会让你成为专家或让你对某个领域有透彻的了解。对于这一点,你的知识还不够完整。这是我在社区中发现的一个常见的误解。如果您想要一份工作,请尽早寻找其他一些完整的课程或学习路径。 CS50 提供 Python、R 或 Web 等课程。你可以检查它们。但毫无例外,只靠 CS50x 找到工作是很困难的。您可以在 Twitter 上私信我,以便我可以帮助您。
    注意:CS50的证书可能会帮助您入围面试

  3. 你没有时间承诺:
    当我开始时,我以为我可以通过极大的努力在 1 个月内完成这门课程。
    请记住,CS50 是一门艰苦的课程,这是它的特色。需要时间才能完成。有时您可能需要重新观看讲座才能理解这些概念。至少需要2个月的专注工作才能完成。 Ngl 我花了3个月才完成CS50。时间投入是必要的。

  4. 其他因素:
    你的日程很忙,或者你是一名程序员,不想深入学习 C 等低级语言。
    也许您已经处于学习某些东西的过程中,并且您的脑海中不断有一些东西在召唤 CS50。先完成学习,然后就可以随时来CS50了。

我的指导方针:

由于我已经完成了课程,我为您提供一些完成 CS50 的提示和指南。我希望我早点知道其中一些技巧。我相信它会在此过程中对您有所帮助。

我们选择CS50不是因为它容易,而是因为它难。

  1. 记住:这并不容易
    需要提醒您的是,如果您是初学者并且没有编程知识,CS50 是一门很难完成的课程。我很幸运,我有学习 JavaScript 的背景,其概念对我帮助很大。事情最终可能会变得困难,你可能会感到沮丧。但别担心,不仅仅是你。我们都经历过这种情况,并且已经克服了它。

  2. **从 CS50 自己的网站完成课程
    **您可以免费从 EDX 完成整个课程,但我认为从 CS50 的网站完成课程要简单得多。这绝对是你的选择。

  3. 挑战自己
    我花了 3 个月完成 CS50x 的原因之一是我已经完成了几乎所有 pset,包括可选的 pset。我向自己提出了完成所有问题任务的挑战。这也增长了我的见识。我建议您至少尝试一下完成所有 pset,无论是可选的还是必需的。

  4. 记笔记:
    您必须记下讲座中涵盖的每个重要主题,这样您就不会回头重新观看整个视频来再次理解该概念。
    CS50 视频有些复杂。有时你必须重新观看视频。如果你记笔记,那么你可能不会重新观看视频,而只浏览笔记。这很有帮助。我对概念做了笔记。如果你想要它们,请在 Twitter 上私信我。我会和你们分享。

  5. 不要跳过劳埃德的解释:
    每周大卫的课程结束后,为了让您更好地理解这些主题,我们提供了一些额外的视频。道格·劳埃德 (Doug Lloyd) 是演讲者,他试图通过一些示例来概述这些主题。我的建议是不要跳过这些。

  6. 不要陷入可选问题:
    完成强制性问题集是必要的,但有些问题会浪费很多时间。尤其是“更舒服的”。 **这是我犯过的错误之一。我被困了好几个星期才完成一个问题。不要那样做。有时跳过我是明智的选择。
    这里有一个提示:不要提交看起来太难的可选选项。只需谷歌解决方案并尝试了解问题所在。并**注意:不要提交该解决方案。

  7. 潮人太强了!!
    在第 3 周的 Pset 中,您必须提交 Runoff 和 Tideman 之一。 **潮人太难了。我再说一遍太难了。
    **我很固执,尝试了将近17天。这个问题的解决是通过递归完成的。然后我不得不继续前进。如果你觉得这很困难(显然是这样),那就继续吧。完成径流并继续前进。我希望有人之前告诉过我这一点。

  8. 从不和中寻求法律帮助
    CS50 的 Discord 社区非常有帮助。如果您遇到困难或有疑问,只需向服务器寻求帮助即可。但请注意,您不应该分享完整的解决方案。这是非法的。
    链接:CS50 Discord

  9. 诚实
    CS50 制定了学术诚信政策。从其他来源复制代码并提交解决方案,就好像它是您自己编写的一样,这是绝对非法的。 CS50 团队可能会因此取消您的证书资格。
    另外,你来这里是为了学习。为什么在这里不诚实?

  10. 最终项目提交提示:
    您应该花时间带着爱和创造力提交最终项目,就像您正在创建自己的技术产品一样。深入思考并做出一个看起来很酷的项目。
    提示:除了最终项目之外的所有其他 pset 都可以通过 CS50.dev 完成。您应该在本地环境中创建最终项目。此外,您还必须推动最终项目并创建一个长达 750 字的 readme.md 文件并录制有关它的视频。
    然后提交。但在这里你可能会面临挑战。我必须为此手动提交。

获得证书

在cs50.me上,你必须使用GitHub登录才能看到你的成绩册。完成每个必需的 psets 和最终项目后,您将有资格获得哈佛大学的免费证书。是你的了!

结论

感谢您阅读本文。我希望你能拿到哈佛大学的证书。但这与证书无关。这是从最好的导师那里学习宝贵的知识。你会喜欢整个旅程。

感谢您的阅读,这一切都是我的。我希望您在本文中找到一些有见地的东西。如果您面临任何其他挑战或有更多疑问,请随时在 Twitter 上向我发送 DM:Shihab Haque
封面来源:freecodecamp

以上是我对哈佛计算机科学的诚实评论:提示、指南和免费证书的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板