您的位置:首頁>科技>正文

斯坦福大學:孩子長大不一定“程式設計”,但一定要培養“程式設計思維”

說到程式設計, 我再熟悉不過了, 逃媽我本科和研究生讀的都是電腦專業, 算上後來工作的那些年, 可是當了將近20年的“程式猿”啊。 不過咱們那會兒的“程式設計”至少是高中以後的事, 可完全不像現在這樣, 已經大搖大擺地走進了小學、幼稚園。

兒童程式設計這幾年在美國不能僅僅用“熱”來形容, 之前奧巴馬還在各個程式設計大會中狠狠地宣導推動了一把, 現在已經不用再推了, 因為它基本上就像閱讀、數學一樣, 成為孩子的一門必修基礎學科。 很多比較好的學區從小學低年級, 甚至學前班開始就開設程式設計課,

各種課後興趣班, 程式設計俱樂部也非常火爆。 就在我寫這篇文章的時候, 還正好看到社區鄰居在朋友圈裡貼了她家兒子今天上程式設計課的照片:

另一朋友前幾天也分享了和孩子在家玩程式設計桌遊的場景:

有同學可能會納悶, 為何程式設計對孩子這麼重要呢?我可不想孩子以後當“碼農”, 甚至可能都不會讀理工科啊, 那還用得著學程式設計嗎?

兒童程式設計為啥火?

這得從2006年, 卡內基梅隆大學的Jeannette Marie Wing教授所提出的“人人都需要培養程式設計思維”說起。 她認為, 程式設計思維是每個人的基本技能,

不該僅屬於電腦科學家, 在閱讀、寫作和數學之外, 我們應當將程式設計思維加到每個孩子的培養能力之中。

2013年, 斯坦福大學教育學院網站上的一篇文章“Learning to code isn't enough”(“只學寫代碼是不夠的”)再次強調了兒童學習程式設計的重要性, 不僅僅是要學寫代碼, 更重要的是培養程式設計思維。

那究竟什麼是程式設計思維呢?

其實它跟我們平時所說的“批判性思維”、“邏輯思維”類似, 都是指人腦的某種理性思考活動。 但它遠比這些思維的含義寬廣, 編寫一個電腦程式, 跟做一道菜, 完成一個專案, 管理一家公司, 甚至於治理一個國家, 本質上都具有相同的目標——就是要解決問題。 程式設計過程培養的思維林林總總,

比如:

A - 框架設計思維

寫一個軟體, 需要先做設計, 搭架構;寫一段程式, 也需要有個大體框架, 這種高屋建瓴統籌規劃全域的思維幾乎在任何的學習、工作專案中都要用到;

B - 大問題拆解思維

一個複雜的問題, 看起來千頭萬緒沒有思路, 程式設計者需要把它拆解成一個個簡單的問題, 再逐個擊破。 這跟我們生活中很多事情是類似的, 比如孩子策劃一個生日派對, 聽起來是個很龐大的任務, 但只需要“拆解”細分, 比如分成確定邀請多少客人, 買些什麼食品, 派對上些什麼節目……這樣就好辦了。

C - 函數思維

程式設計者通常會把那些將會被重複使用到的運算過程先編寫並儲存為函數, 需要時就直接調用, 根據調用的場景、前提條件不同相應地改動輸入參數即可,

不用每次都重新編寫。 我們平時工作、生活中經常會用的模版, 其實就是應用了“函數思維“, 需要時直接拿出來用就好, 不用每次都從頭開始, ”白手起家“。

其他還有很多, 比如抽象, 迴圈, 併發……我就不一一列舉了, 總之, 最重要的, 具有程式設計思維的人, 能夠將一個問題清晰具體地描述出來, 並且通過收集、分析資料來理解和思考問題, 並將問題的解決方案表示為一個資訊處理的流程。 簡單說, 培養孩子的程式設計思維就是培養他理解問題、找出解決問題路徑的能力。

說得再遠一些, 良好的程式設計思維在我們未來的“人際”交往溝通中也相當重要。

首先, 程式是一系列告訴機器做什麼, 怎麼做的指令,可以說是我們和機器之間的溝通語言。在不久的將來,我們和機器打交道的情況會越來越多,甚至,人和機器的“界限”也會越來越模糊。

可別覺得玄乎,相信這一天不會太久,想當年我們讀大學的時候還是每週末排著隊等IC電話打給家裡呢,現在大家甚至連電話功能都很少用了。我對科學技術革新的速度還是充滿信心的。

總之,無論是把握當下,還是放眼未來,孩子們的程式設計思維培養都非常重要,它完全有理由成為一門必修課程。

程式設計思維怎麼培養?

不用說,最簡單直接的方法就是——學程式設計,比如逃媽我當年學寫的第一個C#程式是這樣子的~~~

不過,用來教孩子程式設計的畫風可不能這麼晦澀枯燥。在美國,兒童程式設計已經是一個成熟的教育產業,很多大公司都出品了非常有趣好玩、適合低齡孩子學習程式設計的工具和遊戲,很容易入手,我給大家列一列。

程式設計工具

1 - ScratchJr

適合年齡:2-5歲

由美國麻省理工學院媒體實驗室開發,完全免費的ScratchJr是一款有故事書一樣翻頁設計的程式設計工具,程式指令很簡單,介面卡通可愛,它還在2014年推出了iPad版本,使用起來非常方便,很吸引低齡孩子。

2 - Scratch

適合年齡:6-10歲

ScratchJr的進階版,美國這邊不少學前班的程式設計課就是學習Scratch,孩子可以通過拖拉方塊的方式學寫程式,不同種類的方塊有不同功能,孩子就像玩拼圖、積木一樣玩中學,也逐漸開始瞭解迴圈、判斷等程式設計語言的基本功能。

3 - Code.org

適合年齡:6+歲

Code.org的名氣很大,獲得眾多科技巨頭及奧巴馬的支持和推薦,曾發起全球超過2億人參與的“程式設計一小時(Hour of Code)”活動。它和Scratch類似,也是通過拖拉方塊的方式學寫程式。比較有特色的是,Code.org裡還有很多和動畫片相關的角色可選,比如《星球大戰》、《冰雪奇緣》等,孩子很喜歡。

程式設計桌遊

我個人認為,如果是從來沒有接觸過程式設計或者剛剛開始啟蒙入門的低齡孩子,可以先從一些程式設計桌遊開始,它們的好處是,既能學習程式設計的基本概念,也不用老盯著電腦螢幕看。另外,桌游很適合閒置時間和爸爸媽媽圍坐著一起玩,孩子興趣會更濃。以下兩款是逃逃玩過,也特別喜歡的程式設計桌遊,推薦給大家。

1 - 程式設計烏龜 Robot Turtles

適合年齡:3-6

程式設計烏龜的玩法很簡單:先將珠寶卡放在中心位置,再把冰城堡、木城堡、木箱子隨意放置在地圖上。孩子要做的是,根據烏龜所在的位置,和中間每次出一張的行動指令卡,用前進、左拐或者右拐等方法,最後移到珠寶處就算勝利。中間還會有些障礙,比如如果烏龜面臨冰城堡擋住去路時,可以出一張鐳射卡,將冰城堡融化。這種闖關路徑的設計就鍛煉了程式設計解決問題的思維。

2 - 程式設計大師 Code Master

適合年齡:5-12

程式設計大師一開始簡單的關卡和程式設計烏龜的玩法很類似,著重在設計闖關路徑。但隨著關數往後,會增加條件權杖,邏輯和步驟也越來越複雜。條件權杖類似於程式設計中的判斷條件,如果前面的結果滿足判斷條件,則通過綠勾路徑,如果不滿足,則通過紅叉路徑。

比如Repeat Until的邏輯:

分支邏輯:

隨著路徑設計越來越複雜,孩子不可能每次都恰好一下就擺對順序,這時就需要在闖關指南上,不斷調整行動權杖的順序,然後重新行動,直到成功,正好對應程式設計中的調試和改bug。程式設計大師的特點是關卡難度跨度挺大,孩子可以玩很久,這款遊戲是逃逃5歲生日時一位朋友送的,現在他都9歲了,有時也還要拿出來玩一下。

我曾經的“碼農“圈子裡,其實有些同學現在都不怎麼寫程式了,比如我自己,碼字遠比碼代碼多~~~但”碼農“年代的那些積累,比如目標明確,理性分析利弊,尋找合理解決問題路徑等等思維方式,無論做其他什麼事情都用得上,我感覺是受益終身的。

上面介紹的這些遊戲和程式設計工具都設計得非常有趣好玩,孩子不會有 “學習”的負擔感,在“玩”的過程中,悄悄培養了程式設計思維。如果都還沒玩過,我推薦各位一定要試試,可以從玩桌遊開始啟蒙,熟悉之後再學電腦、Ipad上的程式設計工具。當然,如果麻麻覺得太“燒腦“,建議粑粑來陪^_^

這是逃媽和九歲兒子逃逃在美國打造的號,逃媽主寫侃育兒,逃逃主講學英語,關注下?

怎麼做的指令,可以說是我們和機器之間的溝通語言。在不久的將來,我們和機器打交道的情況會越來越多,甚至,人和機器的“界限”也會越來越模糊。

可別覺得玄乎,相信這一天不會太久,想當年我們讀大學的時候還是每週末排著隊等IC電話打給家裡呢,現在大家甚至連電話功能都很少用了。我對科學技術革新的速度還是充滿信心的。

總之,無論是把握當下,還是放眼未來,孩子們的程式設計思維培養都非常重要,它完全有理由成為一門必修課程。

程式設計思維怎麼培養?

不用說,最簡單直接的方法就是——學程式設計,比如逃媽我當年學寫的第一個C#程式是這樣子的~~~

不過,用來教孩子程式設計的畫風可不能這麼晦澀枯燥。在美國,兒童程式設計已經是一個成熟的教育產業,很多大公司都出品了非常有趣好玩、適合低齡孩子學習程式設計的工具和遊戲,很容易入手,我給大家列一列。

程式設計工具

1 - ScratchJr

適合年齡:2-5歲

由美國麻省理工學院媒體實驗室開發,完全免費的ScratchJr是一款有故事書一樣翻頁設計的程式設計工具,程式指令很簡單,介面卡通可愛,它還在2014年推出了iPad版本,使用起來非常方便,很吸引低齡孩子。

2 - Scratch

適合年齡:6-10歲

ScratchJr的進階版,美國這邊不少學前班的程式設計課就是學習Scratch,孩子可以通過拖拉方塊的方式學寫程式,不同種類的方塊有不同功能,孩子就像玩拼圖、積木一樣玩中學,也逐漸開始瞭解迴圈、判斷等程式設計語言的基本功能。

3 - Code.org

適合年齡:6+歲

Code.org的名氣很大,獲得眾多科技巨頭及奧巴馬的支持和推薦,曾發起全球超過2億人參與的“程式設計一小時(Hour of Code)”活動。它和Scratch類似,也是通過拖拉方塊的方式學寫程式。比較有特色的是,Code.org裡還有很多和動畫片相關的角色可選,比如《星球大戰》、《冰雪奇緣》等,孩子很喜歡。

程式設計桌遊

我個人認為,如果是從來沒有接觸過程式設計或者剛剛開始啟蒙入門的低齡孩子,可以先從一些程式設計桌遊開始,它們的好處是,既能學習程式設計的基本概念,也不用老盯著電腦螢幕看。另外,桌游很適合閒置時間和爸爸媽媽圍坐著一起玩,孩子興趣會更濃。以下兩款是逃逃玩過,也特別喜歡的程式設計桌遊,推薦給大家。

1 - 程式設計烏龜 Robot Turtles

適合年齡:3-6

程式設計烏龜的玩法很簡單:先將珠寶卡放在中心位置,再把冰城堡、木城堡、木箱子隨意放置在地圖上。孩子要做的是,根據烏龜所在的位置,和中間每次出一張的行動指令卡,用前進、左拐或者右拐等方法,最後移到珠寶處就算勝利。中間還會有些障礙,比如如果烏龜面臨冰城堡擋住去路時,可以出一張鐳射卡,將冰城堡融化。這種闖關路徑的設計就鍛煉了程式設計解決問題的思維。

2 - 程式設計大師 Code Master

適合年齡:5-12

程式設計大師一開始簡單的關卡和程式設計烏龜的玩法很類似,著重在設計闖關路徑。但隨著關數往後,會增加條件權杖,邏輯和步驟也越來越複雜。條件權杖類似於程式設計中的判斷條件,如果前面的結果滿足判斷條件,則通過綠勾路徑,如果不滿足,則通過紅叉路徑。

比如Repeat Until的邏輯:

分支邏輯:

隨著路徑設計越來越複雜,孩子不可能每次都恰好一下就擺對順序,這時就需要在闖關指南上,不斷調整行動權杖的順序,然後重新行動,直到成功,正好對應程式設計中的調試和改bug。程式設計大師的特點是關卡難度跨度挺大,孩子可以玩很久,這款遊戲是逃逃5歲生日時一位朋友送的,現在他都9歲了,有時也還要拿出來玩一下。

我曾經的“碼農“圈子裡,其實有些同學現在都不怎麼寫程式了,比如我自己,碼字遠比碼代碼多~~~但”碼農“年代的那些積累,比如目標明確,理性分析利弊,尋找合理解決問題路徑等等思維方式,無論做其他什麼事情都用得上,我感覺是受益終身的。

上面介紹的這些遊戲和程式設計工具都設計得非常有趣好玩,孩子不會有 “學習”的負擔感,在“玩”的過程中,悄悄培養了程式設計思維。如果都還沒玩過,我推薦各位一定要試試,可以從玩桌遊開始啟蒙,熟悉之後再學電腦、Ipad上的程式設計工具。當然,如果麻麻覺得太“燒腦“,建議粑粑來陪^_^

這是逃媽和九歲兒子逃逃在美國打造的號,逃媽主寫侃育兒,逃逃主講學英語,關注下?

Next Article
喜欢就按个赞吧!!!
点击关闭提示