关于作者:程序猿石头(ID: tangleithu),从十八县贫困农村一路逆袭上清华(点这里查看我的逆袭之路),BAT某厂P7,是前大疆(无人机)技术主管。
本文首发于微信公众号,原文链接,转载请全文保留。后台回复关键字 “1024” 获取程序员大厂面试指南。
[toc]
背景
大家好,我是石头哥。
今天这篇文章,墙裂建议想提高核心竞争力的程序员同学重点关注,并付出行动。
我曾经在 从一道面试题谈谈一线大厂码农应该具备的基本能力这篇文章中,强调我们在仓促地码着繁琐的业务代码时候,希望不要抛弃一些基础的东西,多培养一下我们的编程素养。
在用编程语言,利用各种工具来实现我们想要达到的目的的时候,能做到“知其然,知其所以然”更好。
数据结构就是其中最重要的基础之一。
我也曾经在多次场合推荐过(比如万字长文讲述我是怎样保送清华的 | 寒门学子奋斗史(四)),清华计算机系的邓老师这门公开课《数据结构》。
偶然发现这门课程,2021 年上半年又开课了,今天特此又来推荐给大家,发自内心推荐,实名点赞。一有机会,都会各种到处宣传。
邓老师深受清华校内外的学生喜爱,他和他的课程也获奖无数,后文你将看到大家对邓老师的评价,
缘起
我在清华时,上过邓老师的 2 门课程:《数据结构》、《计算几何》。《计算几何》研究生期间选修的专业课程,《数据结构》是旁听本科生的课程。
亲身体验过,那是真的很赞,被实力圈粉。他在讲授《数据结构》和《计算几何》方面拥有20多年的经验,课堂用的 PPT 和 动画效果也特别赞、特别赞、特别赞(还能额外学到人文知识!)。
这是我上过现场效果最好,最生动的课程(没有之一)。在学校时候,线下教室也饱满,线上公开课学堂在线也是爆满。
这真不是我在这里爆吹,这门课程是清华大学评选出的首批 7 门标杆课程之一。你可以去看看知乎上的讨论(https://www.zhihu.com/question/306632594)。
识邓公好比遇美酒
邓俊辉,清华大学计算机系教授。1993和1997年分别于清华大学计算机系获学士、博士学位,1997年起在清华大学任教,他在讲授“数据结构”和“计算几何”方面拥有20多年的经验。
古人云,“天若不爱酒,酒星不在天;地若不爱酒,地应无酒泉”,天地爱酒,人亦如此。
有学子言:“识邓公好比路遇美酒:越存越香,越品越醇”,好比美酒的“邓公”所言即是清华大学新百年教学成就奖的获得者,计算机系教授 —— 邓俊辉。(来源:https://news.tsinghua.edu.cn/info/1070/40526.htm)
邓老师说,数据结构与算法(简称DSA)是个非常开放的专题,学习过程没有终点,任何一门课程都不可能穷尽:(内容来自邓老师课程主页)
若将DSA比作汽车,则熟悉基本的数据结构的基本功能与使用方法,犹如拿驾照会开车能上道。
- 懂得不同DSA之间的差异及其适用场合,懂得针对问题需要选取适当的DSA,犹如懂得如何选购适宜于自己的汽车。
- 懂得对DSA做适当的裁剪、扩充和改造,并优化组合,犹如玩车的行家里手,有DIY的能力和乐趣。
- 探索DSA的优化极限,能够完成从内部优化到外部封装的整个过程,则是设计师与工程师的任务与要求。
课程内容
PPT、板书、教材(示例代码)、教学演示,无一不称赞。
制作精美的 PPT
首先,我们来看看 PPT(文末附 PPT 下载)
大部分章节的首页,均有一两句“引言”:或是名言名句,或者名著节选,也有歌词。
可怕的是,还基本上都会和本节的内容有关系!有关系!有关系!(可见邓老师的用心程度之高!)
比如随便选了其中的 3 页 PPT:
- 栈 —— “陛下用群臣,如积薪耳,后来者居上”,语出《史记·汲郑列传》。
- 红黑树 —— “这时,我看见两只大蚂蚁,一只红不棱登,另一只个儿特大,差不离有半英寸长,是黑不溜秋的,它们两个正在相互凶殴…”,美国作家 亨利·戴维·梭罗 的《瓦尔登湖》
- 图的广度优先搜索 —— 《五环之歌》,岳云鹏
<,,>
不好意思,知识储备不够,看《数据结构》PPT,让我一边百度一边,学起了人文知识。难怪听说不少非计算机相关专业的学生也来旁听课程,原来是为了学人文知识,笑😁
生动的板书演示
我们再来看看,邓老师的板书演示。
课堂效果好的背后其实还有一套软件,叫“LectureMate”,是邓老师开发的教学演讲辅助工具。
邓老师也是无偿捐献出来供非盈利使用,可直接到老师主页下载使用。
不得不说,邓老师的字也是非常漂亮。
教材、教学演示
我们再来看看教材。(在公众号“程序猿石头”后台回复“清华数据结构” 免费下载)
教材,到目前为止一共出了 3 版,最新版如下所示:
我手里有的实体书是第二版,长这个样子:
目前,邓老师教材均以 C++语言作为示例,但其实数据结构掌握并不依赖于某一门特定的语言。重点是我们要掌握其中的思想。
我看邓老师,早年期间(2006年)也出过 Java 版本的教材,如下:
邓老师一直把教书育人、传播知识放在首位。你看,他将上述所有相关教学材料均向公众开放。
还在等什么呢?抓紧去学堂在线学习邓老师的数据结构课程吧。
这门课程不仅适用于在校生,工作之后,若想补齐巩固相应的基础,也是很好的选择,关键还免费(证书认证收费)。
这不比外面各种培训班香太多吗?
也感谢现在科技的发达,同时也感谢邓老师的无私,让你足不出户即可享受清华名师的教学。
后记
真正能学好了这门课程,什么 BAT 大厂,都是小 case,学完后你找我,帮你推荐到各个大厂。
大家抓紧去清华学堂免费在线注册学习吧(学堂在线,打钱!),视频公开课(点击左下角阅读原文即可访问)、配合邓老师的教材,真的很棒!
为了方便大家,我已经把相关学习资料下载好了(当然你也可以到邓老师课程主页下载),你只需要在公众号后台回复“清华数据结构”,我就将上述所有资料提供给你。
关于作者:程序猿石头(ID: tangleithu),从十八县贫困农村一路逆袭上清华(点击这里查看我的逆袭之路),目前在BAT某厂打工,是前大疆(无人机)技术主管。
欢迎扫码加入互联网大厂内推群 & 技术交流群,一起学习、共同进步。后台回复关键字 “0” 送阿里技术大礼包。