撕书吧!编程小白!你也能学的哈佛CS50,全美最受欢迎计算机入门课

简介: 【新智元导读】自学计算机,到底如何入门?哈佛大学计算机导论课程 CS50推荐给编程小白们,这门课是哈佛最受欢迎的课程之一,老师风趣幽默,带你少走弯路,直奔编程大门。

哈佛校园里流传着这样一句话:「如果你没听说过CS50,那么,请不要说你读过哈佛。

 

这门经久不衰的课程——CS50.,全名为计算机科学导论「Introduction to Computer Science 」,是哈佛最受欢迎的课程之一。


56.jpg


由著名的「撕书教授」戴维·马兰(David Malan)任首席讲师,Facebook联合创始人马克·扎克伯格和前微软首席执行官史蒂夫·鲍尔默都曾做客座谈。

57.jpg



课程介绍


这是哈佛大学对计算机科学的知识型企业的介绍,适用于具有或没有基础编程经验的专业和非专业的编程艺术,教会学生如何算法思考和有效解决问题。


主题包括抽象,算法,数据结构,封装,资源管理,安全性,软件工程和Web开发。语言包括C,Python,SQL和JavaScript以及CSS和HTML。

 

  • 对计算机科学和编程有广泛而深入的了解
  • 如何从算法上思考并有效解决编程问题
  • 诸如抽象,算法,数据结构,封装,资源管理,安全性,软件工程和Web开发等概念
  • 熟悉多种语言,包括C,PHP和JavaScript以及SQL,CSS和HTML
  • 如何与经验丰富,志趣相投的社区互动
  • 如何开发和向同行展示最终的编程项目

 

讲师介绍


David J.Malan

 

58.jpg

 

帅帅的Professor Malan是哈佛大学工程与应用科学学院的Gordon McKay 教授,也是CS50.的首席讲师。

 

他分别于1999年、2004年和2007年在哈佛大学获得计算机科学学士、硕士和博士学位。

 

他还有个酷酷的代号:撕书教授。

 

来源于他在一堂课上,他就用撕电话簿的形式来演示二分查找算法,邀请一位学生上台寻找 Mike Smith 这个名字,首先打开到一个随机的位置,撕掉没有该姓名的那一半,然后重复这个过程,直到只剩下要找的那一页。

 

59.jpg


Doug Lloyd

60.jpg

 

自2020年以来,Doug Lloyd一直是CS50远程学习计划的主任。

 

Brian Yu

 

61.jpg


哈佛大学计算机科学高级讲师,他于2019年获得哈佛大学计算机科学与语言学学士学位。


有趣的课堂


编程知识通常枯燥而无味,但这门课程却能让你体会到学习的乐趣。

 

举例来说,在以「演算法」为核心的课程里,老师举了有趣的例子:

 

假如班上有7 位同学,今天作业要依照分数由高至低排序,你要怎样做?

 

人类的可能做法是把所有的作业分成两堆,一边是还没看过的,一边是排好顺序的,分数假如是86、60、73、92、98、70、81 :


先比较最前面的两个数(86、60),高的86 放上面,低的60 放下面,放进有顺序的一堆里;接着拿出第三个数字73 ,小于86、大于60 ,因此排进中间;第四个92 ,大于86 ,因此取代它排在最上面……. 直到排完所有数字。

 

听起来很合理、很迅速,但假如今天你要排序的位置,是一张成绩登记表从高到低必须纸本手写上去时,问题就来了。当「第一名的分数」在比较的过程中被更新了,你就必须把后面所有分数都往后移一个位置,擦掉再写就会很辛苦。对记忆体来说就是如此。

 

这种作法叫做Insertion sort 。

 

而除此之外当然还有非常多作法(例如两两比较交换位置的Bubble sort、分成两半排序再合并的Merge sort),每种作法需要的步骤当然不一样多,最后回归到哪种做法会使用到较少的步骤,也就是对程式来说有比较高的效能。

 

62.jpg

 

CS50 是哈佛大学校园以及 edX 上人数最多的课,哈佛每年有 800+ 在校生,edX 上有来自全球的一百万注册学习者。

 

在9个习题集(即编程作业)和最终项目中获得满意分数的学生有资格获得证书。这是一个自定进度的课程,您可以按照自己的时间表参加CS50x。

相关文章
|
前端开发 NoSQL JavaScript
常见接口和服务幂等性问题及解决方案
常见接口和服务幂等性问题及解决方案
912 0
|
安全 网络安全
华为防火墙原来是这样应对多个运营商接入互联网的,涨知识了
华为防火墙原来是这样应对多个运营商接入互联网的,涨知识了
1315 0
|
安全 C# 开发者
C#中的默认接口方法:接口演化的新篇章
【1月更文挑战第11天】本文探讨了C# 8.0中引入的默认接口方法,这一特性允许在接口中定义具有默认实现的方法。文章介绍了默认接口方法的语法、使用场景,以及它们如何影响接口的设计和实现,同时讨论了默认接口方法带来的好处和潜在的陷阱。
|
7月前
|
存储 弹性计算 大数据
阿里云服务器38元、99元、199元特惠详细配置、适用场景及购买条件介绍
阿里云特惠云服务器全解析:入门款:轻量应用服务器(2核2G200M带宽+40G ESSD盘)38元/年,日均0.1元。进阶款:经济型e实例(2核2G3M带宽+40G ESSD Entry盘)99元/年,续费同价。性能款:通用算力型u1实例(2核4G5M带宽+80G ESSD Entry盘)199元/年,企业独享,续费同价。三款配置覆盖个人建站、中小企业应用及轻量级企业服务,通过大数据精选用户常用配置,实现价格与性能的精准匹配。本文将详细解析这些阿里云服务器的配置、价格、限购条件以及购买指南,帮助大家更好地了解和选择适合自己的云服务器。
|
存储 缓存 数据挖掘
StarRocks 原理详解:探索高效 OLAP 的奥秘
StarRocks 是一款高性能分析型数据仓库,采用向量化、MPP架构、CBO等技术,实现多维、实时、高并发的数据分析。它支持从各类数据源高效导入数据,兼容MySQL协议,并具备水平扩展、高可用等特性,广泛应用于实时数仓、OLAP报表等场景。StarRocks 解决了传统数仓在查询性能、数据导入、扩展性和灵活性等方面的挑战,助力企业实现数据驱动的决策。其分布式架构和智能物化视图等功能显著提升了查询效率,适用于大数据生态中的各种复杂需求。
2200 15
|
7月前
|
Java API 开发者
京东 API 零基础快速上手教程
京东API是京东开放平台提供的接口服务,支持开发者获取商品、订单等数据。本文介绍从注册、创建应用、申请权限到调用API的完整流程,涵盖Python示例代码及测试优化方法,助你快速上手开发。
|
8月前
|
安全 Java 编译器
JD-GUI,java反编译工具及原理: JavaDecompiler一个Java反编译器
Java Decompiler (JD-GUI) 是一款由 Pavel Kouznetsov 开发的图形化 Java 反编译工具,支持 Windows、Linux 和 Mac Os。它能将 `.class` 文件反编译为 Java 源代码,支持多文件标签浏览、高亮显示,并兼容 Java 5 及以上版本。JD-GUI 支持对整个 Jar 文件进行反编译,可跳转源码,适用于多种 JDK 和编译器。其原理基于将字节码转换为抽象语法树 (AST),再通过反编译生成代码。尽管程序可能带来安全风险,但可通过代码混淆降低可读性。最新版修复了多项识别错误并优化了内存管理。
6254 1
|
12月前
|
机器学习/深度学习 存储 人工智能
2025年阿里云GPU服务器的租赁价格与选型指南
随着AI、深度学习等领域的发展,GPU服务器成为企业及科研机构的核心算力选择。阿里云提供多种GPU实例类型(如NVIDIA V100、A100等),涵盖计算型、共享型和弹性裸金属等,满足不同场景需求。本文详解2025年阿里云GPU服务器的核心配置、价格策略及适用场景,帮助用户优化选型与成本控制,实现高效智能计算。
|
SQL Java 数据库
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
624 0
|
Java 数据库连接 API
从0到服务器开发——TinyWebServer(下)
从0到服务器开发——TinyWebServer
482 2