來源:黑馬程序員廣州中心 2018-06-14 10:24:58
在當前 “鼓勵孩子們學習編程”的熱潮下,探究一下編程與計算機科學之間的差異,我認為還是值得一做。
歷史
我在學校學習了的Logo Turtle語言,在家學習了BBC BASIC語言,這都是學習如何編程。我按照說明,對著書本依葫蘆畫瓢,并且為了私人化自己的程序做了一些小調整。
在高級程度,我開始學習“分析決策”,而不是深奧的微積分和枯燥的公式。它著眼于如何富有邏輯地解決問題。這是學習如何成為一位程序員的完美開始,我堅信,在學校里沒有關于教授編程的對話,是編程背后完全沒有科學的理論認識的表現。
一個例子
這是我展示給想要了解計算機科學基礎的人們的一個示例。
將下列數字排序:
7,8,1,3,2,7,6
在你的頭腦中就足以做這件事了,不是嗎?
OK,向我解釋一下你是怎么做到的吧?
我們接下來討論這是什么問題-我們排序數字時使用的方法是什么?由高到低?還是由低到高?字母序的?實際上,我們想要對這些數字做什么呢?
我們可以給出怎樣一系列的簡單說明,以至于完全的傻瓜都可以依據這些說明得到正確的答案呢?
“陷阱”在哪兒呢?如果兩個數字是一樣的,那么它們應該如何排序呢?有關系嗎?
有一些更加效率的方法將數字排序嗎?效率低的時候好嗎?
你看-我們已經開始探索計算機科學了。我們可以設計出算法,學習它們是如何發揮作用,為何重要的,寫出偽代碼,尋找漏洞。
學習編程
以上是對計算機科學的很好的介紹。現在讓我們看看學習編程教了人們一些什么。
sort([7, 8, 1, 3, 2, 7, 6]);
或者,應該是這樣的
var numbers = [7, 8, 1, 3, 2, 7, 6];
相關推薦:
小升初試題、期中期末題、小學奧數題
盡在奧數網公眾號
歡迎使用手機、平板等移動設備訪問幼教網,幼兒教育我們一路陪伴同行!>>點擊查看