国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Karel在面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)中的應(yīng)用

2015-05-30 10:48:04趙欽佩李江峰史揚(yáng)
計(jì)算機(jī)教育 2015年11期
關(guān)鍵詞:面向?qū)ο?/a>程序設(shè)計(jì)

趙欽佩 李江峰 史揚(yáng)

文章編號(hào):1672-5913(2015)11-0061-06

中圖分類號(hào):G642

摘要:探討教育編程語言Karel在面向?qū)ο蟪绦蛟O(shè)計(jì)課程入門介紹中的應(yīng)用,通過實(shí)踐和調(diào)查指出教育編程語言可以降低學(xué)習(xí)難度,利用Karel設(shè)計(jì)的游戲競(jìng)賽可以顯著提高Java初學(xué)編程者的興趣。

關(guān)鍵詞:面向?qū)ο?;教育編程語言Karel;程序設(shè)計(jì);編程初學(xué)者;游戲競(jìng)賽

0 引 言

隨著計(jì)算機(jī)編程技術(shù)的發(fā)展,面向?qū)ο蟮某绦蛟O(shè)計(jì)(obj ect-oriented program,OOP)是目前軟件開發(fā)人員所必須掌握的一項(xiàng)基本技術(shù),因此面向?qū)ο蟮木幊陶Z言如面向?qū)ο蟮腃++、Java也成為軟件工程專業(yè)的基礎(chǔ)課程。面向?qū)ο蟪绦蛟O(shè)計(jì)理念以“對(duì)象”代表一個(gè)客觀世界中的具體事物,而將具有相同屬性和操作的對(duì)象集合定義為“類”的概念,每個(gè)對(duì)象是類的實(shí)例化。另外,與過程式編程語言相比,OOP加入了繼承性和多態(tài)性,這些基本概念如對(duì)象、類、繼承和派生等往往是編程初學(xué)者的“攔路虎”。對(duì)于教師而言,在入門介紹時(shí)單純地講解概念一般得不到很好的教學(xué)效果;對(duì)于學(xué)生而言,晦澀的概念和枯燥的語法很容易打擊他們的學(xué)習(xí)積極性;另外,對(duì)于軟件工程專業(yè)來說,編程基礎(chǔ)是整個(gè)課程體系的基礎(chǔ),由此可見面向?qū)ο蟪绦蛟O(shè)計(jì)課程的重要性。

對(duì)于以實(shí)踐操作為主、技術(shù)性較強(qiáng)的計(jì)算機(jī)語言來說,面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)需要一種理論和實(shí)踐融合的教學(xué)方法和模式,以培養(yǎng)學(xué)生根據(jù)實(shí)際問題動(dòng)手的能力。結(jié)合現(xiàn)場(chǎng)編程和啟發(fā)式的教學(xué)方式是比較常見的,案例教學(xué)被認(rèn)為是一種具有發(fā)展?jié)摿Φ慕虒W(xué)方法。雖然案例教學(xué)對(duì)初學(xué)者學(xué)習(xí)編程具有一定的作用,但是學(xué)生在選擇案例材料并以此進(jìn)行課程設(shè)計(jì)時(shí)則感覺比較困難。針對(duì)編程入門課程,國外大學(xué)引入競(jìng)爭(zhēng)模式和團(tuán)隊(duì)合作項(xiàng)目,這種模式對(duì)于增強(qiáng)課程的趣味性有一定幫助。通過對(duì)程序設(shè)計(jì)類課程的教學(xué)特點(diǎn)和方法進(jìn)行研究,結(jié)合國內(nèi)外的教學(xué)經(jīng)驗(yàn),我們?cè)诿嫦驅(qū)ο蟪绦蛟O(shè)計(jì)課程的入門介紹中引入教育編程語言。教育編程語言是一種教育性質(zhì)的程序設(shè)計(jì)語言,每種語言都建立在其他語言的基礎(chǔ)上,使得學(xué)生能夠適應(yīng)從簡(jiǎn)單又易于理解的娛樂性編程環(huán)境到專業(yè)開發(fā)環(huán)境的轉(zhuǎn)變。適用于學(xué)習(xí)OOP的教育編程語言,第一個(gè)被引入的是Karel。Karel給編程初學(xué)者提供一個(gè)簡(jiǎn)單直觀的環(huán)境,使得他們能擺脫大多數(shù)編程語言復(fù)雜的特性,學(xué)習(xí)基本的編程思想。在這個(gè)思路上,類似的教學(xué)編程語言還包括Jeroo等。

1 課程特點(diǎn)及難點(diǎn)

1.1 課程間的聯(lián)動(dòng)性

面向?qū)ο蟪绦蛟O(shè)計(jì)方法是在吸收了軟件工程領(lǐng)域?qū)嵺`經(jīng)驗(yàn)的基礎(chǔ)上而發(fā)展起來的一種軟件開發(fā)方法,它集抽象性、封裝性、繼承性和多態(tài)性于一體,可以幫助人們開發(fā)出模塊化,數(shù)據(jù)抽象程度高,體現(xiàn)信息隱蔽、可復(fù)用、易修改和擴(kuò)充等特性的程序。面向?qū)ο蟪绦蛟O(shè)計(jì)課程是軟件工程專業(yè)基礎(chǔ)課程,由于和Java編程與應(yīng)用結(jié)合緊密,因此可將Java語言作為學(xué)生學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)方法的途徑。由于Java的特性給其他課程如數(shù)據(jù)庫原理、算法與數(shù)據(jù)結(jié)構(gòu)、移動(dòng)計(jì)算等的學(xué)習(xí)提供了方便,而課程之間具有聯(lián)動(dòng)性,因此學(xué)生學(xué)習(xí)該課程的效果可能會(huì)直接影響其他課程的教學(xué)效果。

1.2 入門介紹的復(fù)雜性

“萬事開頭難”,編程語言的入門介紹往往比較困難。傳統(tǒng)的入門介紹往往從簡(jiǎn)單的程序開始如“Hello World”,逐漸地引入復(fù)雜的編程案例和項(xiàng)目。這種傳統(tǒng)的入門介紹方法提供了一個(gè)平緩的學(xué)習(xí)曲線,能為學(xué)習(xí)者遞增地提供吸收和構(gòu)建知識(shí)結(jié)構(gòu)的時(shí)間。然而,我們認(rèn)為在進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)課程的入門介紹時(shí),應(yīng)該考慮以下幾點(diǎn)。

首先需要考慮授課對(duì)象。大學(xué)低年級(jí)的編程初學(xué)者往往具有參差不齊的能力和分散的興趣點(diǎn),因而一種能激起所有學(xué)生積極參與的教學(xué)方式對(duì)于改進(jìn)教學(xué)效果有很大的幫助。在編程入門介紹課程中,教學(xué)方式往往具有多樣性,然而這些教學(xué)方式有一個(gè)共同點(diǎn),就是刺激初學(xué)者使其能更加積極主動(dòng)地學(xué)習(xí)。我們認(rèn)為,游戲競(jìng)爭(zhēng)的方式可以激發(fā)初學(xué)者積極參與的動(dòng)力。

其次需要考慮授課內(nèi)容。面向?qū)ο蟮某绦蛟O(shè)計(jì)涉及內(nèi)容太多、太雜,分散了學(xué)生的精力和學(xué)習(xí)重點(diǎn)。我們根據(jù)教學(xué)經(jīng)驗(yàn)發(fā)現(xiàn),編程初學(xué)者往往對(duì)面向?qū)ο缶幊陶Z言所提出的新概念如類、對(duì)象、繼承等難以掌握。例如,如何設(shè)計(jì)一個(gè)類、對(duì)象是如何使用的、怎么區(qū)分過程式編程語言(如C)和面向?qū)ο缶幊陶Z言(如Java)等問題。除了基本的概念,異常處理、I/O、網(wǎng)絡(luò)通信、數(shù)據(jù)庫訪問、GUI編程等都是面向?qū)ο缶幊陶Z言的難點(diǎn)。

最后是預(yù)期的教學(xué)結(jié)果。對(duì)于編程初學(xué)者而言,具有濃厚的編程興趣和具備基本的編程技能是教學(xué)結(jié)果最大的預(yù)期。

將以上幾點(diǎn)融人課程設(shè)計(jì)中才是一個(gè)好的入門介紹。培養(yǎng)學(xué)習(xí)興趣是入門介紹中最重要的輸出。

1.3 競(jìng)賽中的趣味性

編程能力的培養(yǎng)需要從編程理念和實(shí)際動(dòng)手能力的培養(yǎng)兩方面出發(fā)。動(dòng)手能力差是很多初學(xué)者普遍存在的問題,有時(shí)一個(gè)“;”都會(huì)令很多學(xué)生找不到問題所在,最終導(dǎo)致他們對(duì)編程喪失興趣。在編譯出錯(cuò)后,一些學(xué)生根據(jù)英文的錯(cuò)誤提示往往能定位出大部分的錯(cuò)誤,這也是需要大量的實(shí)踐積累才能獲得的經(jīng)驗(yàn)。在這種情況下,選擇合適的上機(jī)內(nèi)容并提高趣味性,對(duì)于提高學(xué)生的動(dòng)手能力非常重要。很多學(xué)生學(xué)習(xí)積極性差,卻在游戲競(jìng)技方面顯現(xiàn)出濃厚的興趣,因而將游戲引入到面向?qū)ο蟪绦蛟O(shè)計(jì)過程中使學(xué)習(xí)更加有趣,不失為一個(gè)促進(jìn)學(xué)習(xí)的好方法。文獻(xiàn)中介紹了如何將游戲引入編程課程并取得了一定的成果。

2 教育編程語言的應(yīng)用

教育編程語言是教育性質(zhì)的程序設(shè)計(jì)語言,是與用于編寫真實(shí)環(huán)境下應(yīng)用程序的編程語言不大相同的一種編程語言。理解編程概念最好的方式就是將其轉(zhuǎn)化成現(xiàn)實(shí)中的東西,教育性編程語言往往有很強(qiáng)大的可視化/圖形組件,幫助面向?qū)ο蟮某鯇W(xué)者“看”到實(shí)際對(duì)象。

2.1 Karel小機(jī)器人

小機(jī)器人Karel作為一門教育編程語言被設(shè)計(jì)用來幫助面向?qū)ο缶幊痰某鯇W(xué)者。在編程基礎(chǔ)的教學(xué)中,學(xué)生需要擺脫大多數(shù)編程語言復(fù)雜的特性,學(xué)習(xí)基本的編程思想。面向?qū)ο缶幊陶Z言中的語法限制很少,最大的特點(diǎn)是具有可拖拽的界面,操作性強(qiáng)。Karel的原理使其自身產(chǎn)生了多個(gè)變種,隨著Java的流行,新的Karel設(shè)計(jì)兼容Java及其集成開發(fā)環(huán)境(IDE) Eclipse。作為一個(gè)入門編程環(huán)境,Karel具有簡(jiǎn)單易用的界面,能讓學(xué)生教一個(gè)機(jī)器人解決簡(jiǎn)單的問題。

Karel生活在一個(gè)簡(jiǎn)單的世界中(如圖1所示),這個(gè)世界是由墻壁Wall、水平和垂直的街道、Karel機(jī)器人以及蜂鳴器Beeper組成。

簡(jiǎn)單的Karel具有4種功能/方法:①move()往前單步走;②turnLeft()Karel左轉(zhuǎn)90°;③putBeeper()在Karel所處的位置放置一個(gè)蜂鳴器;④pickBeeper()Karel將所在位置的蜂鳴器撿走。Karel的世界是由墻壁包圍起來的,Karel不能穿過墻壁,而只能在墻的周邊走動(dòng),整個(gè)世界的大小可以隨著需求而作調(diào)節(jié)。當(dāng)Karel試圖穿墻或撿起不存在的蜂鳴器時(shí),就會(huì)出現(xiàn)錯(cuò)誤提示。

預(yù)定義的命令和語法規(guī)則定義了Karel編程語言。類似于孩童玩的樂高玩具,利用Karel編程所做的工作就是將Karel所具有的功能組合成更高級(jí)的功能并執(zhí)行某些任務(wù)。

2.2 Karel在面向?qū)ο缶幊倘腴T上的應(yīng)用

該課程的一個(gè)重要目的是讓初學(xué)者學(xué)習(xí)和理解面向?qū)ο蟮母拍睿缋^承、多態(tài)、類、異常等,這些概念使得面向?qū)ο蟮木幊陶Z言區(qū)別于基于過程的編程語言,也是多數(shù)學(xué)生容易產(chǎn)生困惑的地方。大多數(shù)時(shí)候,該課程在入門時(shí)的授課內(nèi)容常局限于利用辦公軟件PPT進(jìn)行舉例講解,然而,我們發(fā)現(xiàn)學(xué)生對(duì)于這些概念往往是在后期的實(shí)踐中輔以實(shí)際的編程經(jīng)驗(yàn)才會(huì)慢慢理解。因此,我們引入Karel用以介紹面向?qū)ο蟮幕靖拍?,通過游戲競(jìng)爭(zhēng)的方式讓學(xué)生自己領(lǐng)悟編程基礎(chǔ),對(duì)面向?qū)ο蟮幕A(chǔ)概念有初步了解,方便后續(xù)內(nèi)容的介紹。在教學(xué)環(huán)節(jié)上,除了理論課教學(xué)、課內(nèi)實(shí)驗(yàn)、課外作業(yè)等,我們還分配12個(gè)課內(nèi)學(xué)時(shí)用以入門介紹,包括面向?qū)ο蠡舅枷搿⒄Z法特性、基本概念以及方法與技術(shù)。

在引入Karel后,我們期待學(xué)生能有一定的收獲。首先,他們可以了解Java的集成開發(fā)環(huán)境Eclipse,作為主要的開發(fā)工具,Eclipse的使用不需要過多地介紹界面,真正需要的是熟練使用,因此通過使用Karel,學(xué)生可以在實(shí)踐中慢慢地熟悉Eclipse;其次,在Karel編程中,學(xué)生可以學(xué)習(xí)基本的編程語言規(guī)則,如循環(huán)語句、判斷語句、函數(shù)/方法等,另外,由于良好的可視化界面,學(xué)生可以通過Karel理解面向?qū)ο缶幊陶Z言中的基本概念,如類、對(duì)象、繼承等;最后,解決問題的能力是最重要的收獲,通過簡(jiǎn)單的語法和界面,學(xué)生可以學(xué)習(xí)從宏觀的角度利用編程語言解決問題,完成任務(wù)。

2.3 基于Karel的程序設(shè)計(jì)實(shí)踐

在學(xué)習(xí)了Eclipse和Karel的基本概念以后,我們?cè)O(shè)計(jì)了4個(gè)階段的程序設(shè)計(jì)實(shí)踐環(huán)節(jié),通過循序漸進(jìn)的方式讓學(xué)生了解、掌握并精通Karel的程序設(shè)計(jì)方法?;贙arel的程序設(shè)計(jì)實(shí)踐要求學(xué)生以小組形式完成,這一方面有助于減少初學(xué)者的畏懼心理,另一方面可以增加團(tuán)隊(duì)合作和競(jìng)爭(zhēng)的趣味性。

1)基礎(chǔ)版。

基礎(chǔ)版的程序設(shè)計(jì)中,我們首先要求每個(gè)小組設(shè)計(jì)一個(gè)10×10大小的迷宮,Karel初始狀態(tài)在左下角;然后每個(gè)小組在自己設(shè)計(jì)的迷宮上,利用Karel基本的方法如move()、turnLeft()等編寫程序,使得Karel走到迷宮右上角,學(xué)生可以有半小時(shí)的練習(xí)時(shí)間;接著,各個(gè)小組之間交換迷宮,使得每個(gè)小組都是在其他組的迷宮上完成任務(wù)。此次競(jìng)賽的獲勝標(biāo)準(zhǔn)是時(shí)間,哪組最快地完成任務(wù)將獲勝。由于時(shí)間是決勝關(guān)鍵,因此團(tuán)隊(duì)間需要分工合作,有人負(fù)責(zé)將其他組的迷宮畫出來、有人可以將路線通過編程語言表述出來、有人負(fù)責(zé)驗(yàn)證等。

基礎(chǔ)版程序設(shè)計(jì)實(shí)踐的內(nèi)容比較簡(jiǎn)單,初學(xué)者只需要會(huì)運(yùn)用Karel的基本函數(shù),是否有編程基礎(chǔ)對(duì)結(jié)果的影響不是很大。此競(jìng)賽容易調(diào)動(dòng)初學(xué)者的興趣,不會(huì)令初學(xué)者在開始的時(shí)候被一堆概念所嚇倒。

2)提升版。

提升版的程序設(shè)計(jì)實(shí)踐是基礎(chǔ)版的升級(jí)。我們?cè)O(shè)定所有組在同一個(gè)迷宮上以最少的代碼完成任務(wù)的組將贏得競(jìng)賽,這需要學(xué)生在編程過程中思考,學(xué)習(xí)運(yùn)用循環(huán)結(jié)構(gòu)和方法的概念。舉例來說(如圖2所示),基本的Karel沒有提供右轉(zhuǎn)的方法,我們可以通過3個(gè)左轉(zhuǎn)完成一個(gè)右轉(zhuǎn);通過Karel提供的單步走move(),我們可以設(shè)計(jì)多步走的函數(shù)moveSteps()。

提升版的程序設(shè)計(jì)實(shí)踐需要學(xué)生開始思考,通過自己設(shè)計(jì)方法了解方法( method)的定義、方法之間的調(diào)用關(guān)系等,此處漸漸引入了編程的基礎(chǔ)概念。

3)高級(jí)版。

在基礎(chǔ)版和提升版程序設(shè)計(jì)實(shí)踐的基礎(chǔ)上,我們還設(shè)計(jì)了一個(gè)提高版的問題。Karel中除了簡(jiǎn)單版的Karel類,還有一個(gè)SuperKarel類,該類中包含的功能更多,如可以判斷前方是否有阻礙frontIsClear()等。學(xué)生可以在課后考慮利用SuperKarel類設(shè)計(jì)一段適用于所有迷宮場(chǎng)景的代碼,這個(gè)思考題需要學(xué)生學(xué)習(xí)算法的概念。算法也是編程語言中需要學(xué)習(xí)的一個(gè)重要概念,通過此題,學(xué)生可以理解算法在解決問題中的作用。

再深入地,我們借由Karel可以引入面向?qū)ο缶幊陶Z言的一些基本概念如類。機(jī)器人Karel就是一個(gè)類,這個(gè)類集合了所有Karel對(duì)象的共同行為和狀態(tài)屬性;SuperKarel也是一個(gè)類,這個(gè)類繼承了Karel類的所有功能,但同時(shí)還具有Karel類所沒有的功能;我們自己設(shè)計(jì)的類也繼承了Karel類。一個(gè)類的實(shí)例即對(duì)象可以通過它在空間中的位置、面向的方向、所擁有蜂鳴器的個(gè)數(shù)等一些特性指定;對(duì)象也具有行為,即它在世界中響應(yīng)來自其他對(duì)象的命令的方法,每個(gè)小組設(shè)計(jì)的迷宮中的Karel機(jī)器人就是一個(gè)對(duì)象。

3 教學(xué)效果

為了了解學(xué)生對(duì)于在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中引入教育編程語言Karel的反應(yīng)和教學(xué)效果,我們?cè)O(shè)計(jì)了一份問卷調(diào)查并進(jìn)行總結(jié)整理。參與調(diào)查問卷的為學(xué)習(xí)該課程的學(xué)生,有效的問卷為58份。其中,63.8%為男性,36.2%為女性;曾經(jīng)學(xué)習(xí)過一門編程語言的占67.2%;100%的參與者認(rèn)為在課程中引入競(jìng)賽機(jī)制使用Karel比較有意思。問卷調(diào)查統(tǒng)計(jì)后部分結(jié)果如圖3所示,其中支持Karel用于教學(xué)的支持度(10%~30%、30%-60%、60%-90%、>90%)的比例如圖3 (a),支持度在90%以上的占調(diào)查人群的65.40%;在教學(xué)中引入Karel之后,學(xué)生的興趣顯著提高(圖3(b)),興趣大增的占調(diào)查人群的52.80%。

另外,我們分析了編程基礎(chǔ)與引入Karel后編程興趣提高之間的關(guān)系,以及參與者編程基礎(chǔ)對(duì)于Karel的支持程度的影響。從圖3(c)和3(d)可知,沒有編程基礎(chǔ)的參與者在引入Karel后編程興趣明顯提高,有編程基礎(chǔ)的有5.4%的參與者認(rèn)為Karel沒有提高他們的編程興趣,其余的人則認(rèn)為有提高;在對(duì)Karel的支持度方面,同樣也是沒有基礎(chǔ)的參與者給予的支持力度比有基礎(chǔ)的參與者高。從兩個(gè)結(jié)果可知,Karel對(duì)于入門級(jí)編程者的作用更大一點(diǎn)。

在引入Karel后,40%的學(xué)生對(duì)Java的集成開發(fā)環(huán)境(IDE)工具Eclipse有了更深一步的了解,26.7%的參與者認(rèn)為自己對(duì)Java語言的語法規(guī)范有了更深的認(rèn)識(shí),22.7%的人了解了Java原理。對(duì)于面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念如類、對(duì)象、方法、繼承性、多態(tài)性等,70.7%的參與者有模糊、基礎(chǔ)的認(rèn)識(shí),20.7%的人則認(rèn)為非常了解。通過這些數(shù)據(jù)和分析,我們發(fā)現(xiàn)Karel在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中對(duì)于提高學(xué)生學(xué)習(xí)興趣和教學(xué)效果有積極的作用。

4 相關(guān)討論

面向?qū)ο蟮幕A(chǔ)概念(如對(duì)象實(shí)例化、方法調(diào)用、繼承等)在課程中出現(xiàn)的時(shí)機(jī)往往很難把握。過早地介紹概念,學(xué)生沒有足夠的時(shí)間消化,過晚地介紹使得很多其他的概念得不到很好地解釋,因此在整個(gè)課程教學(xué)中,教師往往需要不停地講解這些概念。學(xué)生雖然可能熟知名詞,但是不一定能真正理解面向?qū)ο蟮脑O(shè)計(jì)理念。

我們?cè)谑谡n過程中發(fā)現(xiàn)給編程初學(xué)者進(jìn)行入門介紹非常關(guān)鍵。如果入門介紹過多地關(guān)注理論概念,學(xué)生的接受程度不是很高;而啟發(fā)式或案例式的教學(xué)方式需要合適的案例供學(xué)生進(jìn)行討論和分析,為入門級(jí)概念選取合適的案例具有一定挑戰(zhàn)性。目前,也有用教育編程軟件為初學(xué)編程者提供入門級(jí)介紹。教育編程軟件Karel在斯坦福大學(xué)計(jì)算機(jī)一年級(jí)課程CSI上的成功應(yīng)用給了我們啟發(fā),我們?cè)诿嫦驅(qū)ο蟮某绦蛟O(shè)計(jì)課程中引入Java版的Karel。由于用Karel編程降低了編程初學(xué)者所面臨的復(fù)雜細(xì)節(jié),提供了對(duì)象的設(shè)計(jì)方法以及可視化的界面,因而可以降低初學(xué)者在入門初期的學(xué)習(xí)難度。在授課過程中,采用競(jìng)賽的方式介紹理論知識(shí)還比較少見,我們認(rèn)為競(jìng)爭(zhēng)意識(shí)和游戲會(huì)給學(xué)生帶來激情和創(chuàng)造力,也能吸引學(xué)生注意力。通過問卷調(diào)查,學(xué)生對(duì)課程中引入Karel的支持度也得到了證實(shí)。在后期的工作中,我們將在課程中完善基于Karel的程序設(shè)計(jì)實(shí)踐部分,不止是單純的迷宮找路線游戲,還會(huì)將引入Karel之后的學(xué)生成績(jī)進(jìn)行分析,通過統(tǒng)計(jì)分析更確鑿地驗(yàn)證課程中引入Karel后的實(shí)質(zhì)作用。

5 結(jié)語

在面向?qū)ο蟮某绦蛟O(shè)計(jì)這門課程中,面向?qū)ο蟮幕A(chǔ)(如類、對(duì)象、繼承等)和傳統(tǒng)過程式編程基礎(chǔ)(如循環(huán)、迭代、選擇等)給教師和學(xué)生都帶來了挑戰(zhàn)。我們介紹了在課程入門階段引入教育編程軟件Karel,通過問卷調(diào)查的方式對(duì)其在編程初學(xué)者接納編程語言時(shí)的作用進(jìn)行了統(tǒng)計(jì)分析,結(jié)果證明Karel給教師和學(xué)生都帶來了學(xué)習(xí)編程的快樂,使學(xué)生更容易理解編程語言的設(shè)計(jì)理念,提高了編程初學(xué)者對(duì)編程的興趣,取得了一定的教學(xué)效果。

猜你喜歡
面向?qū)ο?/a>程序設(shè)計(jì)
基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
電子制作(2019年9期)2019-05-30 09:42:04
面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
OBE理念下基于Greenfoot的Java程序設(shè)計(jì)課程教學(xué)改革
基于面向?qū)ο蟮腛ffice評(píng)測(cè)系統(tǒng)的分析
峰叢洼地農(nóng)作物面向?qū)ο笮畔⑻崛∫?guī)則集
遙感信息(2015年3期)2015-12-13 07:26:54
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
三級(jí)甲等公立醫(yī)院績(jī)效考核程序設(shè)計(jì)
宣威市| 穆棱市| 如皋市| 高要市| 宁远县| 蚌埠市| 阿拉尔市| 从化市| 铁岭县| 武定县| 鄂尔多斯市| 渭南市| 弋阳县| 犍为县| 峨山| 河北省| 利辛县| 宁化县| 宝应县| 临泉县| 高青县| 谷城县| 揭东县| 宿州市| 车致| 桂东县| 五寨县| 榆中县| 嘉祥县| 清水河县| 勐海县| 广昌县| 马关县| 辽宁省| 曲松县| 柳林县| 安吉县| 确山县| 济宁市| 正阳县| 开原市|