C 语言前置概念学习
如何学习 C 语言?** 第一步:Throw away the textbook。** 也许你可以通过以下途径:
以下方式难度由易到难,但并不意味着收获由小到大:
1.Video:B 站翁恺的 C 语言课程(非常基础,缺点是只看视频学的过浅)
2.MOOC:翁凯 C 课程的 MOOC 慕课(同上,慕课的习题和 Projects 性价比不高,几乎没有差别)
3.Web:菜鸟教程(基础但是覆盖面较广,不够深入)
4.Web:CNote(例子密集,学习曲线平滑,覆盖面广且具有深度)
📥
《C Primer Plus》(第六版中文版)(216MB)附件下载
5.Book:教材替换用书 ——《C Primer Plus》!(基础且深入的恰到好处,有一定拓展,可能后面的章节有点难懂,是一本不可多得的好书,不要忽视课本习题及 Projects)
6.MOOC:Introductory C Programming 专项课程(全英文,好处是涉及到计算机思维,包含许多常用 tools 的教学例如 git、make、emacs、gdb,视频讲解结合文档阅读,对于 C 的重要核心知识讲解透彻,难度颇高,建议用作提升)
7.Web:LinuxC 一站式编程(难度大,枯燥硬核,收获多,基于 linux)
学习建议:可以选择其一或多种学习
- 对于缺乏计算机基础(这里的基础指的是计算机的日常使用)的同学,(1、2)是不错的选择,但在学完后要选择 4、5、6 进行补充巩固提高。
- 对于有一定计算机基础的同学,直接上手 4、5、6 都是很不错的选择。
- 对于有一定 linux 基础以及计算机基础的同学,或是同时想同步学习 linux 的同学,7 是可选择的。
关于 “6.Introductory C Programming 专项课程” 的一些思考
该课程的免费修读需要在 coursera 上申请助学金(并不困难)申请教程。
对于以上几种方式,6 有其特殊性,6 不仅仅是对于 C 语言的学习,其其中包含的计算机思维,Tools 的使用等等都有其普遍适用性。对比其他方式(包含学校课程)不难发现,对于计算机思维的训练与提升,在一定程度上,我们存在着缺失,但它又是极其重要的,如果你希望在学习 C 的同时又有其他多方面的提升,强烈建议你试试该课程(不要被英语劝退!2.5 以理工科的方式阅读英语 )。
当然你也可以通过其他方式培养计算机思维以及学习 Tools 的使用。但是越早培养,越有优势。
计算机思维与计算机科学与编码能力