观《斯坦福大学公开课:编程方法学》有感之一

网易公开课视频链接:斯坦福大学公开课:编程方法学

B站视频链接:斯坦福大学公开课:编程方法学28集全

这个视频因为年代久远(大概是06,07年拍摄的),所以视频质量很差,至少国内这个课的视频画质都很差,根本看不清代码,所以推荐有java基础的同学们进行学习。

我目前大三,在自学Android开发,从对着《疯狂Android讲义》敲代码开始到现在大概也有一年了,没上过Java课,只学过c语言,平时随带着看《Java核心技术》和看看网课学java,所以我对于面向对象编程的基础可以说是很弱了。在刚看这个视频时,这位老师强调了不少次“自顶而下”的编程方法,他说我们在编程的时候应该是确定实现怎样的功能,将功能划分为一个个小功能进行实现,这也被称之为“逐步求精法”。

例如,我们实现一个放假回家功能,我们可以将这个想法划分为坐公交去火车站,坐火车,坐公交回家这三个“方法”,然后具体的实现写在方法中。这种逐步求精的功能实现的编程思想,让我们的所要做的流程化了,这样对我们一开始学习编程的小白是非常有好处的,会少走很多弯路,减少很多不需要浪费的时间。

课中穿插着java基础与编程方法的内容。类比我们的很多网课更多地是在教授你如何学会java语法,而这个课直接从项目实现的现象来切入,前三分之一基本上没有说什么基础,然而课中老师却说,你就算没学过编程,不会任何编程语言,只要你会开机关机就够了。

也许老师就是自信他们那全球顶级学府学生的自学能力吧,基础语法只需要课间自学就能跟上了。

我突然想起之前很多次在计算机理论知识比赛和考试中会看到“自顶而下”、“逐步求精法”等字眼,我当时只是背下了这几个字,根本没有理解。在看了视频之后,若是要实现什么功能,我都会先去定义其方法名,再去填充方法内容,这样做真的让我的思路清晰了不少,对代码的梳理更明了。

猜你喜欢

转载自blog.csdn.net/NULL_thing/article/details/85217483