这里收录了我在学习北京大学在Coursera上开设的“程序设计与算法”专项课程的PPT,笔记和作业。
这门专项课程一共有7门课,从基础的计算导论开始,然后介绍C/C++,数据结构与算法,最后完成一个做搜索引擎的大项目。
在学习过程中,我发现这门课的论坛实在是太冷清了。我看到不少小伙伴在论坛提了问题,几个月过去了依旧没人解答,还有一些 PPT 资源也没有。这门课的老师和助教看起来也像是放任不管了。因此,我打算完成全部课程,整理所有相关信息到github上,借此搭建一个交流平台。不过很遗憾,我最终只完成了三门课,然后弃坑了。
目前我全部完成的有:
- 计算导论与C语言基础
- C程序设计进阶
- C++程序设计
4.5零散的做了几道题,不值一提。
关于贡献的话就随意了,如果你有发现我的错误或者有更好的解答,都可以直接提出 pull request。
以下是个人关于这门课的一些碎碎念:
其实自学CS,我觉得看英文的公开课和英文原版书更好。国外优秀大学的公开课通常讲课有趣,资源丰富,论坛活跃,作业多以project为主,这些对自学者来说更有趣,更容易坚持,唯一的门槛可能是英语水平吧hhh。学习北大这个专项课程是因为我是在知乎上看到有人推荐,想这毕竟是北大开的,就去观摩一下人家的教学方式和习题。
第一门课李戈老师讲的计算导论还是挺有意思的,作业也都是oj的形式。写oj题虽然不如做project有趣,但是oj题能更定向的测试你学到的知识。在一次次提交失败到成功这个过程,感觉能力得到了提升。为此,我一开始就打算完成全部课程然后美滋滋的拿个证书。但是到了后面几门课,讲课就没那么出彩了,就是那种念PPT的讲课方式。我纯粹是出于做题的兴趣和填坑的动力坚持下来。
从算法和数据结构开始,由于我们学校开了类似的课程,再加上我自己开始自学一些机器学习的知识,我就中断了专项课程的学习。一开始我还打算找时间填坑,不过一直拖延着。但是今天点开这门课,卡顿的视频,枯燥的讲课,无法提交的poj,下载不了的ppt,冷清的论坛,实在是没动力坚持下去了,然后就决定彻底放弃了。
在我拖延的这期间收到了不少小伙伴的star,还有人提issue,pull request,蛮感动的,也有点愧疚自己没填完坑。不过也就这样了。
2019.03.30