方其桂
(安徽省教育科學(xué)研究院,安徽 合肥 230061 )
程序設(shè)計(jì)是各類高校計(jì)算機(jī)專業(yè)主要課程,傳統(tǒng)的教學(xué)模式以編程語(yǔ)言的語(yǔ)法教學(xué)為主線,通常是教師先講解編程用到的語(yǔ)句,再通過(guò)練習(xí)鞏固所學(xué)的語(yǔ)法規(guī)范。教師講解時(shí)學(xué)生難以掌握大量的專業(yè)名詞,等到上機(jī)實(shí)踐時(shí),往往要么無(wú)從下手,要么只是將書(shū)上程序搬運(yùn)到計(jì)算機(jī)中,遇到實(shí)際問(wèn)題無(wú)法編寫(xiě)出相應(yīng)程序。
在程序設(shè)計(jì)類課程中開(kāi)展項(xiàng)目學(xué)習(xí),引導(dǎo)學(xué)生經(jīng)歷發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題,將知識(shí)建構(gòu)、技能培養(yǎng)與思維發(fā)展,融入解決問(wèn)題的過(guò)程中。其主要過(guò)程分為“項(xiàng)目選題”“項(xiàng)目分析”“項(xiàng)目規(guī)劃”“實(shí)施項(xiàng)目” “項(xiàng)目支持”和“評(píng)價(jià)總結(jié)”等階段,如圖1 所示。與傳統(tǒng)教學(xué)模式相比,能有效提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力。
圖1 程序設(shè)計(jì)項(xiàng)目學(xué)習(xí)流程圖
將項(xiàng)目學(xué)習(xí)模式應(yīng)用于程序設(shè)計(jì)課程教學(xué)中,首先教師要依據(jù)課程目標(biāo)和實(shí)際情況設(shè)計(jì)項(xiàng)目。項(xiàng)目是教學(xué)活動(dòng)的核心,項(xiàng)目合適與否,對(duì)教學(xué)效果將會(huì)產(chǎn)生直接的影響。項(xiàng)目必須讓學(xué)生在規(guī)定的教學(xué)時(shí)間內(nèi)完成,因此,項(xiàng)目的選題非常重要。項(xiàng)目的選題立足點(diǎn)是教學(xué)目標(biāo),同時(shí)要充分考慮學(xué)生的實(shí)際[1]。
程序設(shè)計(jì)教學(xué)目標(biāo)是讓學(xué)生通過(guò)學(xué)習(xí),更好地運(yùn)用計(jì)算機(jī)高級(jí)語(yǔ)言編寫(xiě)程序,解決實(shí)際問(wèn)題,提高思維能力,重點(diǎn)在于培養(yǎng)學(xué)生的計(jì)算思維。目前各類高校程序設(shè)計(jì)語(yǔ)言大多數(shù)有Python、C、Java 等,教師在教學(xué)之前,首先需要將這些編程語(yǔ)言在教學(xué)中的相關(guān)知識(shí)點(diǎn)整理成體系,然后對(duì)知識(shí)進(jìn)行合理切片,融入相應(yīng)的項(xiàng)目中,項(xiàng)目不能過(guò)大或過(guò)小,使之能在一次課(可能是二節(jié)課連上)中讓學(xué)生達(dá)成教學(xué)目標(biāo),如一般情況下,一次課很難完成“圖書(shū)管理系統(tǒng)”之類大項(xiàng)目,但是如果把項(xiàng)目設(shè)定為“兩個(gè)數(shù)比較大小”,又很難覆蓋太多知識(shí)點(diǎn)。要搞清楚項(xiàng)目對(duì)應(yīng)的知識(shí)點(diǎn),要讓學(xué)生在項(xiàng)目學(xué)習(xí)后,能掌握這些知識(shí),并能運(yùn)用知識(shí)解決簡(jiǎn)單問(wèn)題,提升學(xué)生的計(jì)算思維[2]。
首先要了解學(xué)生的情況,項(xiàng)目要建立在學(xué)生已有知識(shí)和能力的基礎(chǔ)之上。因此要了解學(xué)生的興趣愛(ài)好、學(xué)習(xí)條件。也就是說(shuō),項(xiàng)目要貼近學(xué)生的興趣點(diǎn),符合學(xué)生的能力,讓學(xué)生有能力解決。學(xué)生真實(shí)世界中遇到的問(wèn)題往往是復(fù)雜的,教師需要緊緊圍繞教學(xué)目標(biāo)進(jìn)行改造,使其變得簡(jiǎn)單易行,規(guī)??煽兀寣W(xué)生跳一跳能夠夠得著,才能激發(fā)其參與的積極性。另外,項(xiàng)目需要有一定的探究性或啟發(fā)性,否則會(huì)造成學(xué)生參與興趣不濃、積極性不高的現(xiàn)象,進(jìn)而導(dǎo)致學(xué)生在規(guī)定時(shí)間內(nèi)難以保證項(xiàng)目的完成。例如,教師可以將Python 的turtle 庫(kù)設(shè)計(jì)成創(chuàng)意繪圖項(xiàng)目,如在國(guó)慶節(jié)時(shí)繪制國(guó)旗、情人節(jié)時(shí)繪制一朵玫瑰花等,很受學(xué)生的歡迎。
項(xiàng)目分析是項(xiàng)目學(xué)習(xí)中的關(guān)鍵環(huán)節(jié),通過(guò)分析,發(fā)現(xiàn)問(wèn)題、找出解決問(wèn)題的方法,培養(yǎng)學(xué)生的思維能力。教師對(duì)項(xiàng)目的背景、目標(biāo)要求、相關(guān)的知識(shí)點(diǎn)進(jìn)行詳細(xì)分析,適當(dāng)講授項(xiàng)目中的重點(diǎn)和難點(diǎn),幫助學(xué)生理解項(xiàng)目,知道要做什么,要學(xué)習(xí)知識(shí),練習(xí)的技能,達(dá)到的目標(biāo),以此培養(yǎng)學(xué)生的思維能力。
項(xiàng)目的價(jià)值在于它貼近生活實(shí)際,實(shí)際生活的項(xiàng)目都是比較復(fù)雜的,不是簡(jiǎn)單的數(shù)學(xué)題,要從真實(shí)的情境中將解決問(wèn)題條件分析出來(lái),將無(wú)關(guān)的因素去除,便于后面構(gòu)建數(shù)學(xué)模型。在分析項(xiàng)目問(wèn)題時(shí),要明晰項(xiàng)目中可能涉及的知識(shí)和項(xiàng)目背景知識(shí),弄清楚程序設(shè)計(jì)課程內(nèi)容中所蘊(yùn)涵的應(yīng)用情境。例如分析“出租車(chē)計(jì)收費(fèi)”項(xiàng)目的已知條件時(shí),為了便于理解出租車(chē)是如何收費(fèi),可以采用圖示的方法理解題目已知條件。
鼓勵(lì)學(xué)生就項(xiàng)目提出各種各樣的問(wèn)題,因?yàn)樘岢鰡?wèn)題也是一種能力,而且這種能力比解決問(wèn)題的能力可能更為重要。教師需要通過(guò)提問(wèn)、頭腦風(fēng)暴、分組討論等各種方式,將學(xué)生的思維活動(dòng)激發(fā),讓學(xué)生盡可能就項(xiàng)目提出各種各樣的問(wèn)題,即使解決問(wèn)題的方法很簡(jiǎn)單、考慮不夠全面也應(yīng)受到鼓勵(lì)。
項(xiàng)目學(xué)習(xí)的最終目標(biāo)是解決問(wèn)題,在解決問(wèn)題的過(guò)程中提升學(xué)生的信息素養(yǎng),培養(yǎng)學(xué)生利用信息技術(shù)解決問(wèn)題的能力。解決什么樣的問(wèn)題,做到什么程度,需要定位,就是要確定學(xué)習(xí)的目標(biāo)。通過(guò)師生共同討論,分析出項(xiàng)目最終要解決什么樣的問(wèn)題,其結(jié)果用什么方式輸出。只有明確起點(diǎn)和終點(diǎn),才有可能找到解決問(wèn)題的路線和方法。比如分析“走迷宮”項(xiàng)目,要找出走出迷宮的最優(yōu)路徑,首先要知道迷宮結(jié)構(gòu)數(shù)據(jù)是如何存儲(chǔ),然后根據(jù)不同的存儲(chǔ)形式設(shè)計(jì)不同的算法。另外,通過(guò)項(xiàng)目目標(biāo)分析,學(xué)生要知道解決什么問(wèn)題,在解決這個(gè)問(wèn)題自己需要的知識(shí)儲(chǔ)備、解決問(wèn)題的方法,以及解決問(wèn)題中可能遇到的問(wèn)題。而教師要知道在學(xué)生解決問(wèn)題的過(guò)程中給他們能提供什么樣的幫助及學(xué)習(xí)資源等[3]。
在確定好編程的目標(biāo)任務(wù)之后,需要學(xué)習(xí)基礎(chǔ)知識(shí),然后研究編程思路、分析編程算法,制訂出程序編寫(xiě)的實(shí)施方案。
以前高校的程序設(shè)計(jì)課程以教授編程語(yǔ)言的知識(shí)為主,強(qiáng)調(diào)的是知識(shí)的學(xué)習(xí),現(xiàn)在則將培養(yǎng)計(jì)算思維作為重中之重。以訓(xùn)練思維為主的項(xiàng)目學(xué)習(xí),也離不開(kāi)知識(shí)的學(xué)習(xí),需要知識(shí)作為解決問(wèn)題的支撐,因此在項(xiàng)目學(xué)習(xí)之前,教師需要教授學(xué)生一些基本知識(shí)作為準(zhǔn)備,當(dāng)然,這種教授方式可以是教師講解,作為項(xiàng)目學(xué)習(xí),更主要是教師課前準(zhǔn)備相關(guān)知識(shí)的微課,不同學(xué)生根據(jù)需要進(jìn)行自主學(xué)習(xí),隨學(xué)隨用,學(xué)習(xí)效率相對(duì)比較高。這些準(zhǔn)備知識(shí)主要是相關(guān)命令、語(yǔ)句、函數(shù)等的基本格式、語(yǔ)法和基本使用方法。例如分析“智能胖瘦分析程序”項(xiàng)目時(shí),除了數(shù)學(xué)知識(shí)外,還需要用到If 語(yǔ)句、float()浮點(diǎn)數(shù)轉(zhuǎn)換、“/”除運(yùn)算符等相關(guān)知識(shí)。這些知識(shí)不需要講得太多,它的學(xué)習(xí)主要是通過(guò)后面的項(xiàng)目實(shí)施來(lái)讓學(xué)生深入領(lǐng)會(huì)。
通過(guò)討論、觀察、閱讀、實(shí)踐、分析、探究、實(shí)驗(yàn)等各種學(xué)習(xí)活動(dòng),找到項(xiàng)目解決的基本思路,也就是要完成這個(gè)項(xiàng)目,編寫(xiě)這個(gè)程序需要哪幾步,每一步解決什么問(wèn)題,用什么方式解決,其解決思路可以讓學(xué)生分步驟寫(xiě)出,有的復(fù)雜項(xiàng)目為了便于理解、表述,最好用思維導(dǎo)圖工具梳理思路。
編程的核心是算法,是將生活中的實(shí)際問(wèn)題轉(zhuǎn)變成能用程序解決。規(guī)劃編程算法要做的,也就是要將計(jì)算機(jī)的處理問(wèn)題過(guò)程具體描述出來(lái),讓計(jì)算機(jī)知道做什么和怎么做的具體步驟。通常,為了便于讓人們清晰直觀了解算法,編程時(shí)大多數(shù)使用流程圖來(lái)描述算法。
對(duì)于復(fù)雜項(xiàng)目,教師需要引導(dǎo)各項(xiàng)目小組對(duì)項(xiàng)目進(jìn)行分解、細(xì)化,制訂出項(xiàng)目計(jì)劃,包括項(xiàng)目主題、任務(wù)清單、小組成員及分工、時(shí)間安排、工作步驟和方法等。項(xiàng)目計(jì)劃是整個(gè)教學(xué)過(guò)程的重要依據(jù),計(jì)劃制訂是不是合理,直接關(guān)系到項(xiàng)目完成的效果優(yōu)劣。如果項(xiàng)目?jī)?nèi)容較多,也可以考慮將大項(xiàng)目分解為若干的子項(xiàng)目。
復(fù)雜項(xiàng)目一般要分組進(jìn)行,需要將其進(jìn)一步細(xì)化,形成一個(gè)初步可行的方案,包括制定任務(wù)分配表及進(jìn)度表等。
項(xiàng)目實(shí)施是項(xiàng)目學(xué)習(xí)的核心環(huán)節(jié),對(duì)于程序設(shè)計(jì),需要在本環(huán)節(jié)編寫(xiě)出程序,然后調(diào)試、優(yōu)化,最終目標(biāo)是讓每個(gè)學(xué)生能順利完成項(xiàng)目。此處應(yīng)該注意,每個(gè)同學(xué)根據(jù)任務(wù)分配表選擇任務(wù)時(shí),有的同學(xué)負(fù)責(zé)編程、有的同學(xué)負(fù)責(zé)程序測(cè)試,有的同學(xué)負(fù)責(zé)制作演示文稿進(jìn)行匯報(bào)等,在各項(xiàng)目的實(shí)施中選擇不同類型的任務(wù),達(dá)到各方面鍛煉的目的。
學(xué)生根據(jù)前面所學(xué)的基礎(chǔ)知識(shí),將算法用程序設(shè)計(jì)語(yǔ)言的不同命令、語(yǔ)句表現(xiàn)出來(lái),集合到一起,就構(gòu)成程序。在這個(gè)過(guò)程中,教師要擺正自己的位置,以一個(gè)參與者的身份,走進(jìn)學(xué)生小組之中,幫助他們解決問(wèn)題,不能直接演示編寫(xiě)代碼的過(guò)程。特別是在編程學(xué)習(xí)到中后期,由于學(xué)生學(xué)習(xí)的命令越來(lái)越多,掌握的算法逐步豐富,因此不同學(xué)生編寫(xiě)的程序?qū)?huì)有較大差異,這個(gè)是好現(xiàn)象,教師不需要強(qiáng)迫學(xué)生編寫(xiě)的程序完全一樣,那樣學(xué)生就變成編程代碼的搬運(yùn)工,只是簡(jiǎn)單將紙上的程序錄入編程語(yǔ)言中,完全失去編程的意義。對(duì)于較大的項(xiàng)目、較復(fù)雜的程序,最好通過(guò)分組教學(xué)來(lái)實(shí)施,即組內(nèi)成員經(jīng)過(guò)充分研究、討論、探究,形成程序,這樣也能培養(yǎng)學(xué)生團(tuán)隊(duì)協(xié)作、人際溝通等能力。
大多數(shù)情況下,編程不會(huì)一蹴而就,一次就能運(yùn)行通過(guò),需要通過(guò)調(diào)試找出程序中的語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤,分析錯(cuò)誤原因并改正。對(duì)于大的程序,需要分階段進(jìn)行調(diào)試。這個(gè)過(guò)程非常符合人們?nèi)粘I钪刑幚韱?wèn)題的方法。所以,合理運(yùn)用程序調(diào)試工具調(diào)試程序可以培養(yǎng)學(xué)生的耐心和發(fā)現(xiàn)問(wèn)題、分析問(wèn)題和解決問(wèn)題的能力。教師可以把編程語(yǔ)言調(diào)試工具的使用制作成微課,供學(xué)生隨時(shí)學(xué)習(xí),掌握調(diào)試的基本方法。
用不同語(yǔ)言編寫(xiě)一個(gè)程序能訓(xùn)練學(xué)生思維的廣度,用多種方法解決一個(gè)問(wèn)題可以訓(xùn)練學(xué)生思維的深度。由于一個(gè)項(xiàng)目可以由多種算法寫(xiě)出不同的程序解決,教師要引導(dǎo)學(xué)生掌握算法效率分析的方法,對(duì)程序進(jìn)行優(yōu)化,通過(guò)不斷優(yōu)化,訓(xùn)練學(xué)生的思維。如“我要站在誰(shuí)后面”項(xiàng)目要求學(xué)生了解各種排序的方法。教師可給幾種排序的算法基本思想,讓學(xué)生根據(jù)自己對(duì)各種排序算法的理解程度,自主選擇算法進(jìn)行研究,并根據(jù)所選算法分組,再通過(guò)討論、學(xué)習(xí)相應(yīng)的算法,完成程序的編寫(xiě),再分小組匯報(bào),比較各種算法。匯報(bào)的過(guò)程是同學(xué)們比較的過(guò)程,同學(xué)們接觸不同的排序算法,各抒己見(jiàn),并與先前自己編寫(xiě)的程序進(jìn)行對(duì)比,很快能發(fā)現(xiàn)可以根據(jù)不同的情況選擇不同的算法,如排序的量較大時(shí),則應(yīng)采用快速排序,它是目前基于比較的內(nèi)部排序中被認(rèn)為是最好的方法。程序設(shè)計(jì)課程的教學(xué)重點(diǎn)是訓(xùn)練學(xué)生的思維,提高學(xué)生解決問(wèn)題的能力。更重要的是,讓學(xué)生將算法解決的思路和方法,遷移到生活中類似問(wèn)題的解決之中,有利于培養(yǎng)學(xué)生的發(fā)散性思維能力,還有利于訓(xùn)練學(xué)生思維的嚴(yán)謹(jǐn)性。
項(xiàng)目學(xué)習(xí)主要是由學(xué)生自主探究學(xué)習(xí)完成,在學(xué)習(xí)過(guò)程中,需要給其提供足夠的支持,使其能夠順利開(kāi)展學(xué)習(xí)。
項(xiàng)目學(xué)習(xí)的重要目標(biāo)是要掌握相關(guān)知識(shí)與概念,但這些知識(shí)與概念只是作為工具在項(xiàng)目中使用,從外表難以看出知識(shí)體系,為了彌補(bǔ)這一缺位,教師需要將本項(xiàng)目涉及的知識(shí)進(jìn)行歸納、總結(jié)。學(xué)生在前面的完成項(xiàng)目中已經(jīng)對(duì)所涉及的知識(shí)有了一定的感性認(rèn)識(shí),再學(xué)習(xí)這些知識(shí)就水到渠成,容易很多。而且,通過(guò)這部分學(xué)習(xí),可以幫助他們形成編程知識(shí)體系,掌握學(xué)科的核心概念和原理。例如,教師可以把知識(shí)點(diǎn)與項(xiàng)目結(jié)合起來(lái),與學(xué)生一起在完成項(xiàng)目的過(guò)程中,用思維導(dǎo)圖工具,繪制課程的知識(shí)圖譜,整體上把握知識(shí)體系。
由于編程項(xiàng)目對(duì)學(xué)生的抽象思維能力要求比較高,而且程序本身也有較高的要求,如程序中符號(hào)、縮進(jìn)稍不注意就會(huì)出現(xiàn)南轅北轍的計(jì)算結(jié)果,因此,教師需要對(duì)程序中的重點(diǎn)語(yǔ)句、容易出現(xiàn)問(wèn)題的語(yǔ)句進(jìn)行講解,降低編程難度,讓學(xué)生盡快調(diào)試通過(guò)程序,讓其收獲成功的喜悅,保持學(xué)習(xí)編程序的興趣。同時(shí),教師要?jiǎng)?chuàng)造條件、營(yíng)造良好的互幫互助的氛圍,同伴之間的學(xué)習(xí)往往更容易釋疑解惑。
項(xiàng)目學(xué)習(xí)中,學(xué)習(xí)的主體是學(xué)生,不是教師,教師不用不停講解與演示。但學(xué)生畢竟是在學(xué)習(xí)全新的知識(shí)與技能,學(xué)生在自主探究過(guò)程中肯定會(huì)遇到各種各樣的問(wèn)題,因此教師有必要針對(duì)學(xué)生會(huì)遇到的主要問(wèn)題制作相應(yīng)的微課,供學(xué)生在遇到問(wèn)題時(shí)自主學(xué)習(xí)。更為主要的是,自主學(xué)習(xí)不是自由學(xué)習(xí),這種學(xué)習(xí)是按教師預(yù)設(shè)的學(xué)習(xí)方案展開(kāi)的,因此,教師要提供學(xué)生學(xué)習(xí)方案。項(xiàng)目完成時(shí),教師需要組織學(xué)生對(duì)作品進(jìn)行評(píng)價(jià),因此要準(zhǔn)備評(píng)價(jià)量規(guī)和評(píng)價(jià)表。為了讓學(xué)生方便使用這些資源,最好能借助一定的教學(xué)平臺(tái),將這些資源有組織地存放到教學(xué)平臺(tái)上[4]。
在項(xiàng)目學(xué)習(xí)后期,學(xué)生編寫(xiě)出預(yù)定的程序之后,需要教師對(duì)其進(jìn)行評(píng)價(jià),總結(jié)項(xiàng)目學(xué)習(xí)過(guò)程的得失,同時(shí)讓學(xué)生交流分析問(wèn)題、解決問(wèn)題的方法。
讓學(xué)生將完成的項(xiàng)目在小組或全班進(jìn)行展示,展示內(nèi)容包括:其編程思路及方案、算法、如何學(xué)習(xí)編程中用到的知識(shí)、程序的核心代碼、遇到的困難和問(wèn)題,交流編程過(guò)程的感悟,組織學(xué)生自評(píng)和互評(píng)。教師對(duì)各小組進(jìn)行過(guò)程性和總結(jié)性評(píng)價(jià)。項(xiàng)目學(xué)習(xí)評(píng)價(jià)不以成績(jī)檢測(cè)來(lái)評(píng)價(jià)學(xué)生,評(píng)價(jià)的重點(diǎn)不再是學(xué)到了什么知識(shí),而是應(yīng)用知識(shí)解決真實(shí)問(wèn)題的能力。需要指出的是,雖然項(xiàng)目學(xué)習(xí)最理想的情況是每個(gè)學(xué)生(或小組)都能夠提交出最優(yōu)化的程序,但是,如果學(xué)生的程序不是很成功,也不能說(shuō)明項(xiàng)目學(xué)習(xí)沒(méi)有取得好的效果。如果學(xué)生在項(xiàng)目中確實(shí)學(xué)到了知識(shí),掌握了技能,并且能夠知道程序不成功的原因以及改進(jìn)辦法時(shí),可以說(shuō)他的學(xué)習(xí)是成功的,已經(jīng)達(dá)到了項(xiàng)目學(xué)習(xí)的目標(biāo)。
教學(xué)中,教師應(yīng)組織學(xué)生通過(guò)多種數(shù)字化平臺(tái)提交作品及相關(guān)文檔(設(shè)計(jì)思想、技術(shù)文檔、交流文稿等),開(kāi)展項(xiàng)目成果的交流與評(píng)價(jià),并選擇典型成果進(jìn)行課堂展示和交流評(píng)價(jià)。
通過(guò)評(píng)價(jià),同學(xué)和老師能提出一些建設(shè)性的意見(jiàn),據(jù)此改進(jìn)、完善程序。
項(xiàng)目總結(jié)的主要任務(wù)是讓學(xué)生總結(jié)項(xiàng)目學(xué)習(xí)中的成功與失敗之處,有助于學(xué)生下一個(gè)項(xiàng)目的學(xué)習(xí),并幫助教師提高項(xiàng)目學(xué)習(xí)實(shí)施的質(zhì)量。在評(píng)價(jià)的基礎(chǔ)上引導(dǎo)學(xué)生完善、改進(jìn)程序,完成知識(shí)與能力的迭代,再通過(guò)總結(jié),盡可能將項(xiàng)目所學(xué)向外延伸,擴(kuò)展所學(xué)的價(jià)值??偨Y(jié)典型算法,尤其是總結(jié)出常見(jiàn)錯(cuò)誤,避免以后再犯類似錯(cuò)誤。
項(xiàng)目總結(jié)的主體應(yīng)當(dāng)是學(xué)生,包含個(gè)人和小組。教師要鼓勵(lì)和引導(dǎo)學(xué)生從自我建構(gòu)知識(shí)、掌握技能、學(xué)習(xí)情況(包括學(xué)習(xí)態(tài)度、時(shí)間觀念、認(rèn)真程度)等方面對(duì)項(xiàng)目進(jìn)行小結(jié)。項(xiàng)目小組也應(yīng)當(dāng)從項(xiàng)目任務(wù)執(zhí)行過(guò)程中的分工情況、協(xié)作能力、創(chuàng)新能力、項(xiàng)目完成情況等方面進(jìn)行總結(jié)。
通過(guò)對(duì)項(xiàng)目活動(dòng)總結(jié),對(duì)項(xiàng)目進(jìn)行完善,同時(shí)對(duì)項(xiàng)目學(xué)習(xí)過(guò)程的得失進(jìn)行總結(jié),為下一個(gè)項(xiàng)目學(xué)習(xí)奠定良好基礎(chǔ)。學(xué)生通過(guò)一系列目標(biāo)式學(xué)習(xí)活動(dòng)后,一定要及時(shí)引導(dǎo)其對(duì)學(xué)習(xí)過(guò)程中的成功或失敗經(jīng)驗(yàn)進(jìn)行反思,使之能遷移應(yīng)用到與其相關(guān)的其他問(wèn)題解決之中。
程序設(shè)計(jì)課程傳統(tǒng)教學(xué)過(guò)程是講授編程知識(shí),根據(jù)范例上機(jī)訓(xùn)練,考查的是知識(shí)的記憶力。項(xiàng)目學(xué)習(xí)的過(guò)程是項(xiàng)目選題、項(xiàng)目分析、項(xiàng)目規(guī)劃、實(shí)施項(xiàng)目、項(xiàng)目支持、項(xiàng)目評(píng)價(jià)等,訓(xùn)練的是計(jì)算思維,培養(yǎng)的是創(chuàng)新精神和實(shí)踐能力。有趣的項(xiàng)目可以提高學(xué)生的學(xué)習(xí)積極性,靈活的項(xiàng)目可以培養(yǎng)學(xué)生自主學(xué)習(xí)的能力,綜合性的項(xiàng)目可以訓(xùn)練學(xué)生的計(jì)算思維,提高學(xué)生的核心素養(yǎng)[5],實(shí)用性的項(xiàng)目可以培養(yǎng)學(xué)生利用學(xué)習(xí)到的知識(shí)與技能解決實(shí)際問(wèn)題的能力,從而達(dá)到預(yù)期的實(shí)踐教學(xué)效果。因此,項(xiàng)目學(xué)習(xí)非常適合在各類高校程序設(shè)計(jì)教學(xué)中推廣,讓學(xué)生真正成為學(xué)習(xí)的主體。當(dāng)然,要克服我們一直習(xí)慣的教學(xué)模式,前面的路任重道遠(yuǎn)。