上图就是几乎是每天的学习状态了吧。
我学计算机入门是从C语言开始的,看了mooc 浙江大学 翁恺 老师的视频,我是快速把前几章的视频看一遍,上课跟着编代码,然后再做PTA上面的题目。然后接下来再刷剩下来章节的视频和题目。
学习时把所有写过的代码都舍不得删除,但是保留在电脑又占空间,发现了竟然有CSDN这个神奇的论坛,所以这个论坛也成为我的一个备忘录和笔记。
在做题时遇到不会的可以直接谷歌这道题,看别人的思路。好多时候,是读不懂这道题在表达什么意思。现在做了这么多题感觉,就是感觉把题目弄懂了,然后自己在纸上画画大概的流程和思路,在动手去写代码,代码毕竟只是思路的一个实现。如果有不会的一些技术性问题,直接在StackOverflow上面进行搜索。
后面我就接着学习数据结构了,就是mooc 浙江大学陈越的课程,刷视频和看书结合,在图论之前。开始做题,发现要实现stack和queue的功能,关用C语言上学习的那点东西,要用链表和指针表示,很是麻烦。看见别人有c++ 上面STL竟然可以直接实现。然后又去学习了C++的内容,类、对象、继承、多态、IO、运算符重载、异常、模板、STL,再去做数据结构的题目。
因为现在就在斯坦福这边,所以呢就看了一下他们的CS的课程设计。从Python入门,然后就开始学Programming Astraction in C++,开始上课也是两个相结合,上半节介绍C++和Python的不同,以及这个语言的特点,下半节就开始讲递归,抽象数据的实现。每周还就三次课,一次课一个小时。我可能先入为主的按照自己的这套体系,所以一下子要按照他们的那个节奏走,有点吃不消。
计算机是一门手艺活,只有自己多练习了。
《Programming Astraction in C++》这本书我有电子版的,有需要的可以在公众号(葡萄小迷糊)后台回复C++。