跳到主要内容

📺 哈佛 CS50X This is CS50x ⭐️

课程名称: This is CS50x
课程官网地址:2023年2022年
先修课程: 零基础可学
重要程度: 哈佛大学入门第一课
课程评点: CS50系列课程可以说是哈佛大学一个现象级的课程,也是哈佛大学最受欢迎的课程之一。这门课主要面向高中生和计算机专业大一的学生。

课程说明

① 课程介绍

本课程主要是讲解计算机科学概论以及编程的艺术,如何通过算法思考并有效地解决问题。主要包括抽象、算法、数据结构、封装、资源管理、安全、软件工程和网络编程。所涉及的语言包括 C、Python 和 SQL 以及 HTML、CSS 和 JavaScript。

当学完计算机科学导论CS50之后,就可以继续学习一些进阶分支课,比如Web程序开发、人工智能、游戏开发、移动应用开发、针对法学院学生的Python分析等,这些进阶课也都是线上免费公开的。

本课程分线上版和校园版,其中校园版的CS50有800多名学生、100多个工作人员参与,最终会有2200多人参加年度的Hackathon活动,也就是说当你学完这门课以及相应的进阶课之后,你就应该要掌握 Python的Web全栈开发 ,能够使用Python开发出完整的网站原型、了解人工智能以及游戏开发。

② 课程大纲

校园版计算机科学导论CS50正课主要是教算法思维以及解决问题的能力,基本上是每周一讲,最后两周则会让你自由选择三个方向:Python全栈(HTML、CSS、JavaScript、Python、SQL)、移动应用开发(Java、Swift)、Lua游戏开发等:

  • 第零讲:Scratch
  • 第一讲:C语言
  • 第二讲:Arrays(数组)
  • 第三讲:Algorithms(算法)
  • 第四讲:Memory(内存)
  • 第五讲:Data Structures(数据结构)
  • 第六讲:Python
  • 第七讲:SQL
  • 第八讲:HTML、CSS、JavaScript
  • 第九讲:Flask
  • 第十讲:Emoji
  • 番外篇:Cybersecurity(网络安全)

③ 学习视频

这门课在B站上有录制好的视频,每一讲对应着每一周要学习的内容,除了有视频外,在官方网站上还可以下载到官方的Slides、源代码,以及每讲都有详细的课后作业Problem Sets。

B站视频:哈佛大学CS50X 2022最新版本 计算机入门课

④ 参考书籍

本课程没有配套的教材,但是官方也为学生指定了三本教材,这三本教材并不是很推荐,因为老师为了学生的成本考虑,所以推荐的教材都是免费的,所以都比较老。这里推荐大家去购买以下关于Python和C语言的教材:

研讨会Seminars

研讨会主要是来探索课程教学大纲以外的主题,这些主题和最终的毕业项目Final Project息息相关。研讨会内容包括以下内容:

  • Web应用程序在手机端、PC端的交互问题;
  • 使用Git来进行团队协作和版本控制;
  • 掌握VS Code进行本地项目的开发;
  • 使用LÖVE 2D和Lua制作小型2D游戏;
  • 了解机器学习、机器学习模型在Python的实现;

毕业项目Final Project

当学完本课之后,你需要利用你所学习到的编程知识来开发一个属于自己的软件。你可以使用任何编程语言来实现你的想法。课程建议你和其他同学两个或三个人成立一个学习小组一起来开发出包括但不限于以下的项目:

  • 使用 JavaScript、Python 和 SQL 的基于 Web 的应用程序;
  • 开发一个使用 Swift 的 iOS 应用;
  • 使用 Lua 和 LÖVE 进行游戏开发;
  • 使用 Java 开发一个Android 应用程序
  • 使用 JavaScript 开发Chrome 扩展程序
  • 使用 C 开发命令行程序
  • 给硬件设备编写应用程序

在开始开发项目时,你应该考虑清楚以下问题,毕竟创建整个项目还是蛮让人生畏的:

  • 你的软件会做什么?它会有什么特点?它将如何执行?
  • 你需要掌握哪些新技能?你需要研究哪些主题?
  • 如果和一两个同学一起工作,这个工作怎么分配?
  • 在软件世界中,大多数事情的实施时间都比你预期的要长。因此,在固定时间内完成的工作比你希望的少的情况并不少见。你认为什么对你的项目来说是一个好的结果?更好的结果?最好的结果?