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

極客小將

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

資訊內(nèi)容

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

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

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

  1. 編程究竟是什么?

  2. 編程到底難不難?

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

先來(lái)談?wù)劦谝粋€(gè)問題。

編程究竟是什么?

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

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

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

而且,更為重要的是,在這樣耳濡目染下出來(lái)的中國(guó)人,幾乎就可以無(wú)障礙的一步就跨進(jìn)編程的世界中。

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

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

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

每位對(duì)齊,從個(gè)位算起,逢10進(jìn)1

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

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

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

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

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

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

以空間換時(shí)間,用存儲(chǔ)來(lái)替代運(yùn)算

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

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

編程到底難不難?

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

編程真的很難!

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

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

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

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

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

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

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

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

  • 作為一種語(yǔ)言的Scratch,是怎樣來(lái)表達(dá)問題的,即他的編程范式是什么

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

現(xiàn)在來(lái)說這些,好像有點(diǎn)“虛幻”,就以市場(chǎng)上,如汗牛充棟般的Scratch教程中,幾乎都會(huì)在一開始所給出的一個(gè)程序?yàn)槔伞?

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

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

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

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

這個(gè)缺省真的沒有!

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

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

比如像這樣:

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

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

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

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

課后習(xí)題

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

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

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

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

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

預(yù)約試聽課

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

主站蜘蛛池模板: 龙江县| 仪陇县| 宜良县| 博爱县| 莱阳市| 清水河县| 原阳县| 乐陵市| 绥中县| 错那县| 萨迦县| 皋兰县| 龙山县| 会宁县| 两当县| 建水县| 淮南市| 马公市| 山东省| 平顺县| 新田县| 台南县| 青岛市| 竹山县| 克什克腾旗| 苍溪县| 丘北县| 民和| 葫芦岛市| 信宜市| 龙川县| 信宜市| 万载县| 英吉沙县| 龙胜| 监利县| 兰西县| 漾濞| 应用必备| 贵德县| 宜君县|