資訊內容
少兒編程為什么要從Scratch起步?
對于6-8歲初學編程的少年兒童來說,從“拖拽編程”起步是最好的選擇。”拖拽編程”是一種基本的技術,可以讓你通過拖拽塊創建代碼,而不是手動編寫基于文本的代碼。也就是說,我們可以在不細究語言語法格式的情況之下,很容易地理解編程原理。
? ??Scratch是一款由麻省理工學院(MIT)設計開發的一款面向少年的簡易編程工具。它采用的就是“拖拽編程”技術。
Scratch的積木化操作具有簡單、可視等特點,有趣的界面可以制作動畫、游戲等,能充分調動學生學習興趣。我們只需使用鼠標拖動相應模塊到程序編輯欄后,再進行部分參數的設定,就可以完成程序,實現一段動畫、一個小游戲等,讓孩子在編程中體會成就感。
學習編程最重要的是編程概念的掌握,Scratch雖然是以積木形式進行的編程,但它包含了常見的編程概念,如程序的三種基本結構:順序結構、循環結構和選擇結構,還有變量的定義和鏈表(數組)的使用等。Scratch在程序設計時還引入了事件、線程、同步的概念。例如Scratch中包含多種事件,比如判斷角色是否碰到邊界;而多線程則是讓舞臺上的不同角色各自執行不同的腳本;在程序中不同角色間可以通過發送廣播和接收廣播實現同步。這樣,學生在使用過程中自然而然就掌握了正確的編程概念,為日后學習更深層次的編程語言打好基礎。
Scratch編程不是為游戲而生
1、Scratch不是編程
?? Scratch是一款兒童圖形化編輯軟件,它僅是編碼,它編程的產物。
?? Scratch編程對于青少年來說很容易上手,可能僅僅一節課,孩子就能編寫一個看似復雜的游戲。但是問題就在“編碼游戲”!從一個游戲陷阱掉到另一個游戲陷阱。
?2、Scratch是孩子學習編程的啟蒙
?? 入門簡單,無需編程基礎。
?? 讓孩子做一些應用型軟件,而不是單純的玩游戲。
?? 讓Scratch成為孩子學習的工具。讓孩子能夠通過Scratch明白什么是數理,幾何甚至是文理。
?? 讓孩子在應用設計過程中逐漸形成邏輯分析、獨立思考創新的思維方式,學會提出問題,解決問題。
scratch積木模塊包括8個大類,100多個功能。包括了一個完整程序的每個環節。這些圖形化的積木使用需要老師或者家長循序漸進的正確引導,孩子從模仿的過程中,能感悟到條件語句,循環語句,判斷,能理解參數和命令的區別。
Scratch提供了圖像、顏色、聲音、運動、計算等基礎能力,再加上使用者的奇思妙想,組合出無限種可能,包括但不限于游戲、動畫、音樂、圖畫、數理化計算等。
Scratch編程讓孩子從底層理解游戲邏輯、規則、關卡、獎勵等事件,當他學會編寫游戲再來玩游戲時,就相當于一個熟練的汽車修理師傅在開車,自己能看透游戲背后的“秘密”,沉迷程度自然大大減小
Scratch的優勢:
Scratch的門檻低,小學及以上的人群都可以使用,Scratch的操作體驗人性化,各功能模塊設計得易于使用,使用者不需要認識英文單詞,也不需要會使用鍵盤,更不需要像成人編程那樣——記憶大量的命令,一切操作只需要使用鼠標,將積木模塊按自己的需求逐個拼搭,過程有些類似于堆積木,也像組裝樂高玩具。
學習Scratch的意義,并不在于學習了某種特殊的技能,或早早地把孩子培養成程序員,重要的是,在這個過程中,培養了孩子邏輯思維能力、創新實踐能力、拆解任務、解決問題的能力,并且,這個創造的過程,是最讓孩子快樂的。
可以預見,在不久的人工智能時代,人和機器之間的對話、互助、合作都會變得平常,甚至成為工作的一部分。到那時,我們的孩子,他們即使不是這些智能機器的制造者,但也必須了解它,會與它共處!?就像今天,我們并不會生產制造電腦,但如果不會使用電腦,很多非常普通的工作已無法勝任!
Python在少兒編程教學領域中的優勢
在我們的常規認知中,編程是一件枯燥且略帶難度的事情,很多家長更是擔心孩子學不懂,不想學。這是很多編程機構面臨的問題,也是他們一直在解決的問題。但目前來看,通過游戲化教育,能夠培養孩子的學習興趣,而能夠承載這一教學目標的當屬Python語言了。
伴隨著“Python”加入浙江高考大綱,許多家長也開始有些恐慌,我們一無所知的Python要加入高考,到底Python是什么,什么時候開始學,以及Python有哪些優點呢?
首先,什么是Python?
Python,英文“大蟒蛇”的意思。Python的發明者是荷蘭人Guido van Rossum。?
Guido在1989年圣誕節期間,為了打發圣誕節的無趣,于是想著要開發一個新的腳本解釋程序,所以就有了Python。而之所以選中Python(大蟒蛇的意思)作為程序的名字,據說因為Guido是一個名為Monty Python的喜劇團體的愛好者。雖然Python的誕生似乎源于一種偶然,然而Python能夠在誕生之后不久就風靡程序員的圈子似乎又是一種必然。
其次,孩子什么時候開始學Python?
山東省最新出版的小學信息技術六年級教材也加入了 Python 內容,更是又一次把這一問題拋在了大眾面前。其實,在美國連嬰幼兒都有 Python 編程書。打開亞馬遜,就會看到很多嬰幼兒 Python 編程書,美國確實是一個非常重視編程技能培養的國家,從比爾·蓋茨 13 歲學習編程,Facebook創始人扎克伯格 11 歲開始學習編程這些事例中也可見一斑。其實年齡在7歲左右的孩子,學過一點Scratch或者機器人編程的都可以學習Python語言。這個年齡段的孩子思維模式和認知能力都已經可以接受Python語言課程。
再次,Python的優點和長處有哪些?
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注于解決問題而不是去搞明白語言本身。
易學:Python極其容易上手,因為Python有極其簡單的說明文檔。
速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C寫的,運行速度非常快。
免費、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。
可擴展性:如果需要一段關鍵代碼運行得更快或者希望某些算法不公開,可以部分程序用C或C++編寫,然后在Python程序中使用它們。
可嵌入性:可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。
C/C+是什么,能用來做什么?
1、從C到C++
計算機誕生初期,用機器語言或匯編語言編寫程序;
第一種高級語言FORTRAN誕生于1954年;
BASIC語言(1964)是由FORTRAN語言的簡化而成的是為初學者設計的小型高級語言;
C語言是1972年由美國貝爾實驗室的 D.M.Ritchie 研制成功的。它是為計算機專業人員設計的;
大多數系統軟件和許多應用軟件都是用C語言編寫的。隨著軟件規模的增大,用C語言編寫程序漸漸吃力了,于是便創造出了C++語言。
2、C++的特點
C++是由 AT&T Bell實驗室 于20世紀80年代初在C語言的基礎上成功開發出來的。C++保留了C語言原有的所有優點,并增加了面向對象的機制。
C++是由C語言發展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集。C++既可用于面向過程的程序設計,又可用于面向對象的程序設計,是一種功能強大的混合型程序設計語言。
備注:C++不是純面向對象語言。
3、C++是對C語言的“增強”
(1) 在原來面向過程機制的基礎上,對C語言的功能做了很多擴充。
(2) 增加了面向對象的機制。
面向對象程序設計,是針對開發較大規模的程序而提出來的,目的是提高軟件開發的效率。不要把面向對象和面向過程對立起來,面向對象和面向過程不是矛盾的,而是各有用途互為補充的。
所以,通俗來講,大家在學習的過程中不要把C語言和C++做為兩門獨立或者對立的語言來學習,本身他們就可以看成是一門語言,任何一款支持C++的編譯工具都支持C語言。C++就是C語言的超集,包括了所有C語言的特性,所以你把C++學會了,C語言自然也就會了。如果你之前學過C語言,那么再學習下C++的面向對象思想,那么兩者你也就都會了。
給大家舉個例子:
學習編程的人針對譚浩強這個名字應該幾乎都聽過。譚浩強老師的C語言/C++語言的編程書籍可以說是國內很多大學的標桿教材了。
他有一本《C語言程序設計》專門講解C語言的,還有一本《C++程序設計》專門講解C++的,書挺厚的,包括了C語言的部分。還有一本是《C++面向對象程序設計》是專門講解C++的,所以可以這么說:《C語言程序設計》+《C++面向對象程序設計》=《C++程序設計》,這也充分體現了C語言和C++的關系。
4、用途:C語言和C++都能做什么呢?
C語言:操作系統底層、系統驅動、單片機、嵌入式方面 等等;
C++:網絡游戲開發、音視頻技術、Socket網絡通信,另外,蘋果/谷歌/微軟 等大型軟硬件公司的系統或者軟件上面都支持C/C++語言的集成開發。
你常用的軟件大多數都是C++寫的,例如:Office軟件:MS Office,WPS Office,OpenOffice/LibreOffice,你所用的Windows也用了大量的C++,你說你在用C#和SQL,那我告訴你你用的 VS IDE 核心部分是C++寫的,你用的C#,C# 的.Net執行框架也是C++寫的,你用的Sql數據庫,是Sql Server吧?很不幸,Sql Server也是cpp寫的、你上網頁在用瀏覽器嗎?很不幸,瀏覽器內核都是C++寫的,界面大多數瀏覽器界面也是C++寫的,你聊天用的 QQ、YY、Skype 等也是C++寫的。這些都是你絕對有在用的,至于其他,還有很多,殺毒軟件、PhotoShop、Maya,N多行業軟件,幾乎所有的端游 等等,都是C++寫的。你問我C++能做什么實際的東西,我告訴你什么也做不了,你信嗎?
C++ 的幾個常見的發展方向:客戶端,游戲,服務端,嵌入式,移動端(移動只要是跨平臺的移動端用C++寫通用部分,GUI可以用平臺特性,也可以用C++的跨平臺框架)
針對界面UI方面C++的選擇也是很多的,其實C++還是擅長“內功”的方面。如果你想帶個GUI界面的話,也有很多類似Qt之類的框架和界面庫可以使用,網上有很多,而且很多都跨平臺,還開源,不管是 Windows,還是Mac,還是Linux,還是移動端平臺,通吃的。本身C/C++就是跨平臺的。
另外,說點大家感興趣的,什么遠程控制軟件,什么木馬,什么外掛等等,可以說95%以上都是用C/C++來寫的。
難道這么多的用途還不值得大家來好好學學C/C++嗎?
另外,聞道有先后、術業有專攻,C++雖然功能很強大,幾乎什么都能做,但有的地方也是不適合,不是不能做而是不適合。比如網頁開發,C++也能做,但是還是建議使用Java-Web或者PHP之類的語言來做,畢竟他們就是為了Web開發而生的。
我認為少兒編程重點不在于學習編程軟件的使用和編程語言,而在于思維的鍛煉。讓孩子在愉悅的學習環境中,盡情的將自己內心的想法表達出來,通過項目制的學習方法,掌握分析問題,解決問題的能力。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
