编程思想

in #cn5 years ago

最近和朋友聊天,正好他家的孩子也在学习编程。于是就聊到了怎么教孩子编程,该教些什么,以及什么是编程思想的问题上。

image.png
图源:Pixabay

其实在很多年前就和同事们讨论过这个问题。大家一致认为编程的过程其实就是一种逻辑思维的过程,是如何将一个现实世界的问题逐步分解,再用算法将其高效实现的过程。因此,在整个编程思维的训练过程中,最重要的是训练思维的逻辑性。

记得上大学的时候,在数学系,计算机系,和计算中心等好几个系中都有程序设计的高手,这些人都有一个共同的特点,就是他们的数学功底都非常好。有的是数学系科班出身的,有的虽然不是数学系毕业的,但数学功底是非常深厚的。记得曾经一起做过项目的一个南开大学数学系退休返聘的老教授,负责最核心的算法部分,每次手写的代码,成百上千行,几乎都是一次性通过测试。他缜密的思维能力让人佩服万分。究其原因,其实就是数学好的人,无一例外的,逻辑思维都非常清晰,而这是在编程中最为重要的部分。

曾经有人打过一个比方,学习编程的过程,有点类似金庸小说中的武功修炼。不仅有各种实用的招式,也需要有深厚内功的辅助才行。在编程的学习中,数据结构,算法等基础性课程就好比是内功。如果内功修炼的够深厚了,无论用什么编程语言,什么框架,都会使的得心应手,做出优秀的软件来。当然,在内功好的基础上,如果能辅以高效的框架和编程语言,就能更加有效的开发软件。

回到教孩子编程这个问题上来,我认为首先是培养他们的兴趣。但在培养的过程中,一定注意启发他们积极思考,将程序设计中的逻辑性贯穿到每个例子中。一旦他们真正掌握了这种思维方式,以后再学习任何其他语言或者框架时才能举一反三,事半功倍。

Sort:  

都给你补拍手完了