国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁 » scratch編程資訊

資訊內(nèi)容

游戲+數(shù)學(xué)+程序員=小學(xué)生也懂的Scratch : 編程是什么?難不難?

極客小將2021-02-10-
在進入正式的課程前,我想首先來回答很多人,特別是很多家長和孩子們,都關(guān)心的兩個問題,那就是: 編程究竟是什么? 編程到底難不難?

在進入正式的課程前,我想首先來回答很多人,特別是很多家長和孩子們,都關(guān)心的兩個問題,那就是:

  1. 編程究竟是什么?

  2. 編程到底難不難?

upload/article/images/2021-02-10/b5aefda7ec6eea9cb9b8872c2f8c99fd.jpg

先來談?wù)劦谝粋€問題。

編程究竟是什么?

在今天,“編程”已經(jīng)成為了一個很多人都耳熟能詳?shù)拿~了,或者你以前也接觸過,或者你僅僅是聽說過,并正準(zhǔn)備通過Scratch來學(xué)習(xí)怎樣編程。但無論如何,在進入到我們的正式的Scratch課程之前,稍微的關(guān)心一下,什么是編程,是不無裨益的。

當(dāng)然,要想非常理論化的說清楚這個概念,既不容易,也不是我們這個課程的目標(biāo),更為重要的是,我向來覺得,編程和中國人之間,是天然親和的。

因為,在我們從小所接受的那種系統(tǒng)化的教育 ,尤其是數(shù)學(xué)的教育中,所經(jīng)過的種種訓(xùn)練,和習(xí)得的種種技巧,本身就有著一種非常強烈的,強調(diào)機械化和程式化的傾向,這一點,和西方數(shù)學(xué)強調(diào)以演繹為核心的思路截然不同,雖然近些年來,也一直因其相對顯得刻板,為一些人詬病,將其視為是導(dǎo)致中國缺乏頂級創(chuàng)造力的原因之一(當(dāng)然,我并不承認(rèn)這點),但這確確實實是中國式教育的特質(zhì)所在。

而且,更為重要的是,在這樣耳濡目染下出來的中國人,幾乎就可以無障礙的一步就跨進編程的世界中。

拿加法的學(xué)習(xí)來做例子。

我們先是在一年級,通過大量的反復(fù)的練習(xí),死記硬背住了10以內(nèi)所有的個位數(shù)和數(shù)的加法的結(jié)果(別懷疑,實際上你能不假思索的說出7+8=15,所依靠的就是死記硬背住所得來的“知識”,而不是什么邏輯);

之后,我們開始被教會使用“豎式”,來進行更為復(fù)雜的多位的運算,而全部的運算技巧,總起來,就是下面的這三句“口訣”:

每位對齊,從個位算起,逢10進1

而一些所謂的“速算”,則很多是在這個口訣上的一些修補和改變,比如,讓你從高位算起,等等,但無論如何,其本質(zhì)仍然是口訣,而當(dāng)我們依據(jù)這些口訣,反復(fù)的進行著訓(xùn)練時,我們其實就已經(jīng)開始了一次次非常完美的構(gòu)建在頭腦和筆頭上的編程實踐!

對的,你沒有看錯,這就是編程,你以前把他們叫做口訣,叫做套路,叫做規(guī)則,......,那么,從今天開始,你則可以開始,大聲的把通過這些“知識 + 口訣”的方式,來解決問題的過程,叫做編程了。

你還是不信?好的,那么,不妨我們來根據(jù)這個規(guī)則,寫個程序試試。

要稍微說一點的是,上面的這個演示,在個位數(shù)加法方面,我沒有采用“記憶”的模式來實現(xiàn),而是設(shè)計了一個看上去更加“演繹”一些的方法(或者叫更加愚蠢更合適?)即:

所謂a + b,就是在按序排列的整數(shù)列表中,找到a后,再往后數(shù)b個數(shù),所對應(yīng)的那個數(shù)

這貌似更加符合自然數(shù)中,關(guān)于加法的本來定義,但實際卻并不高效。更為高效的,其實還是我們所熟悉的那種“記憶模式”,即:可以通過一張包含從0到9,每個數(shù)字和數(shù)字之間的加法和的“巨大”的“表格”,來代替我們在傳統(tǒng)教學(xué)中,所要求學(xué)生熟練記住的那部分“知識”,然后,加法則演化成為了在這一表格中的一種檢索過程,這在實際的編程中,其是是一個非常常見的提高效率的策略,我們在后續(xù)的Scratch,甚至其他編程的學(xué)習(xí)實踐中,也會經(jīng)常的碰到,即:

以空間換時間,用存儲來替代運算

此外,還有一點也要在這里聲明下,在以二進制為核心的計算機體系中,我們實際上是不會用這個方式來實現(xiàn)加法的,因此,這就僅僅是一個“正確”的演示,但卻足以說明,我們從一年級開始,花了不少時間和精力,來學(xué)習(xí)加法,本質(zhì)上并不僅僅是在習(xí)得一個技能,也是在不斷的熟悉如何用一種非常機械化的方式,來按部就班的解決問題的方法。

不免稍微吐槽一下,現(xiàn)在的某些教育,天天在想著,如何讓小孩子更快的度過這個階段,因為覺得這個實在不夠“素質(zhì)”,不夠“編程思維”,但究竟什么是“編程思維”?“編程思維”又僅僅是體現(xiàn)在上幾門計算機編程課,甚至是上一些看上去高大上的課程上么?我倒覺得未必,有時候,“編程思維”,可能就隱藏在這一次次的看似簡單的訓(xùn)練之中。

編程到底難不難?

那么,編程究竟難不難呢?這里的答案,就恐怕并不能讓所有的“初學(xué)者”們感到滿意了,因為:

編程真的很難!

那么,編程又難在哪兒呢?

大家聽到最多的答案,可能會說是“算法”,也因為很多算法,確實的和數(shù)學(xué)密切相關(guān),以至于很多人甚至?xí):幊毯蛿?shù)學(xué)的界限,覺得編程 = 數(shù)學(xué),將編程的難,等同于了數(shù)學(xué)的難。

數(shù)學(xué)之于編程,當(dāng)然非常重要,要不然,我也不會把這一系列的課程,統(tǒng)一定名為:《游戲+數(shù)學(xué)+程序員=小學(xué)生也懂的Scratch》了。

但編程的難,卻不僅僅體現(xiàn)在了數(shù)學(xué)上,之所以選用數(shù)學(xué),純粹是因為一些簡單的編程,所涉及到的相關(guān)數(shù)學(xué)背景知識,也比較簡單直接而已。事實上,如果我們要將背景知識這一項,也加進去,那么編程的難,幾乎會是全方位的:開發(fā)一個包含碰撞的游戲時,我們能會遇到“力學(xué)”的難;開發(fā)一個光的演示程序時,又可能會遇到“光學(xué)”的難,等等等等。

因此,我覺得,有必要在這里,對這個“難”,稍微的作下限制,并以此作為相關(guān)后續(xù)課程的基礎(chǔ)。在我看來,很多時候,編程本身的難,和我們學(xué)習(xí)任何一種語言,不管是古文,還是英語時,所感受到的難,是非常一致的,他主要體現(xiàn)在:

編程,自有其自身的范式和給定的軟硬件限定條件,因此,編程難就難在,我們經(jīng)常要像一個戰(zhàn)士一樣,和這些范式以及限定條件進行戰(zhàn)斗!

這也導(dǎo)致了,在很多情況下,對于某些問題的表達和實現(xiàn),哪怕你在“邏輯”上知道,應(yīng)該怎么做,但在現(xiàn)實編程過程中,可能還是會覺得無從下手,有些,甚至需要通過一些“非常高級”的技巧去解決。

這實際上,也正是我的這一個系列的編程課程,所試圖真正需要向大家傳達的東西,即希望通過這樣的課程,讓所有學(xué)習(xí)者了解:

  • 作為一種語言的Scratch,是怎樣來表達問題的,即他的編程范式是什么

  • 當(dāng)我們在開發(fā)中,遇到因為環(huán)境的限制所導(dǎo)致的問題時,我們是在當(dāng)前環(huán)境所允許的前提下,挖掘出相應(yīng)的解決方案的

現(xiàn)在來說這些,好像有點“虛幻”,就以市場上,如汗牛充棟般的Scratch教程中,幾乎都會在一開始所給出的一個程序為例吧。

這個程序很簡單,就是讓大家在舞臺(至于什么是舞臺等等概念,后面的課程會詳細講,這里就不展開了)上,放上一個角色,并且,循例的喊出:“你好,世界!”(當(dāng)然,也可能是其他)

upload/article/images/2021-02-10/3e1a9b64787b615d31a38866c0f1411f.jpg

這有什么問題嗎?對于這樣的一個場景來說,當(dāng)然沒問題。但是,如果你現(xiàn)在不是這樣的想法,而是希望像一般的文字冒險類的AVG游戲,或者一些MTV一樣,直接在舞臺上的某個區(qū)域,輸出你想要顯示的文字(比如,一些過場的文字),不想看起來很“Low”的,顯示什么氣泡,那我們又應(yīng)該怎么做呢?

找遍Scratch所缺省提供的積木,我們只能非常遺憾的說一聲:

這個缺省真的沒有!

如果把這作為一個缺省環(huán)境所導(dǎo)致的限制,那么,在我們將這一功能構(gòu)建出來的過程中,所需要的,就根本不是什么數(shù)學(xué),不是什么算法,當(dāng)然也不是什么物理,等等,而純粹,就是一種:

基于當(dāng)前環(huán)境所提供元素下的一種組合和創(chuàng)造

比如像這樣:

這個當(dāng)然不像想起來那么容易,而在后面的課程中,我們也會一而再再而三的遇到這些東西。但這就是編程,既是他的難度所在,也是他的樂趣所在。

最后,作為結(jié)語,我想引文史學(xué)家Douglas Bush曾說過的一句話,即:

在所有的課程中,現(xiàn)代教育的一個主要“罪行”是不要求學(xué)生們付出艱辛的努力。

在強調(diào)減負(fù)和快樂學(xué)習(xí)的今天,對于這樣的一句話,我深以為然。

課后習(xí)題

1、為什么在我們設(shè)計的加法中,按序的整數(shù)列表只包含0 ~ 18?

2、在引入方程化問題解決方案之前,盈虧問題一直是小學(xué)應(yīng)用題的一個重點,也是難點。那么,你能嘗試整理出關(guān)于盈虧問題的機械化解決方案么?

3、嘗試第一次使用Scratch3(自己安裝桌面版本或者是直接使用在線模式均可),編程的任務(wù)當(dāng)然就是:在舞臺上,顯示一個角色,然后,在單擊“開始”后,那個角色可以說出:“你好,Scratch”

想了解這3個問題的答案和更多的相關(guān)背景知識?關(guān)注并「私信」我,私信的內(nèi)容是:s0,我已經(jīng)準(zhǔn)備好了,您還在等什么?

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

預(yù)約試聽課

已有385人預(yù)約都是免費的,你也試試吧...

主站蜘蛛池模板: 获嘉县| 西林县| 全椒县| 永丰县| 黑水县| 南溪县| 苗栗县| 麻江县| 萨迦县| 辛集市| 雷波县| 灵石县| 日土县| 宣化县| 象山县| 枞阳县| 渝北区| 佛坪县| 房山区| 灵石县| 麦盖提县| 阜新| 张北县| 漾濞| 甘谷县| 湖北省| 井冈山市| 中超| 四会市| 阿克苏市| 仁布县| 大港区| 平果县| 水城县| 平凉市| 宁晋县| 新乡县| 高要市| 武陟县| 常宁市| 肃宁县|