岑遠(yuǎn)紅
(重慶市九龍坡職業(yè)教育中心 重慶九龍坡 400050)
目前大多數(shù)的程序設(shè)計(jì)教程或教材都采用先理論后實(shí)踐的順序教學(xué),對(duì)于成年人或是學(xué)習(xí)意愿很強(qiáng)的學(xué)習(xí)者來(lái)說(shuō),這種方法也不失為一種好辦法。但是,對(duì)于中職學(xué)生來(lái)說(shuō),這個(gè)順序會(huì)給他們帶來(lái)很多的麻煩,甚至讓很多學(xué)生放棄這一學(xué)科的學(xué)習(xí)。目前,在職業(yè)教育領(lǐng)域被大家廣泛認(rèn)可的學(xué)習(xí)理論是情景學(xué)習(xí)理論。該理論認(rèn)為學(xué)習(xí)是在實(shí)踐中發(fā)生的,學(xué)習(xí)者在與社會(huì)互動(dòng)的過(guò)程中構(gòu)建自身的知識(shí)和技能。如果用這種觀點(diǎn)來(lái)看待程序設(shè)計(jì)的學(xué)習(xí),那就需要重新組織學(xué)習(xí)順序,使用新的方法來(lái)表述教學(xué)內(nèi)容。
在經(jīng)典的程序設(shè)計(jì)教材中,大多數(shù)使用的是先理論后實(shí)踐的順序,即先將編程需要的大多數(shù)理論知識(shí)充分講透之后再講授程序設(shè)計(jì)的技巧。具體來(lái)講,首先是介紹編程語(yǔ)言的發(fā)展歷程、特點(diǎn)、源程序結(jié)構(gòu),然后是標(biāo)識(shí)符、數(shù)據(jù)類型、常量變量、運(yùn)算符和表達(dá)式、各種流程控制語(yǔ)句等等,最后才是編寫(xiě)程序的實(shí)踐。在講授這些基礎(chǔ)理論的過(guò)程中,會(huì)講到語(yǔ)法規(guī)定的方方面面,有非常多的條款,這個(gè)時(shí)候也會(huì)舉一些脫離實(shí)踐的例子來(lái)說(shuō)明各種規(guī)定。
經(jīng)典教學(xué)過(guò)程對(duì)于很多學(xué)習(xí)者來(lái)說(shuō)是一個(gè)好辦法,因?yàn)檫@樣做有一些優(yōu)點(diǎn),便于學(xué)習(xí)者繼續(xù)深入學(xué)習(xí)。
系統(tǒng)性。經(jīng)典教學(xué)過(guò)程考慮到各知識(shí)點(diǎn)之間的相互關(guān)聯(lián)關(guān)系,使先學(xué)習(xí)的內(nèi)容能夠?yàn)楹髮W(xué)習(xí)的內(nèi)容提供支撐,對(duì)每一個(gè)知識(shí)點(diǎn)的學(xué)習(xí),可以讓學(xué)生只關(guān)注這一個(gè)新的知識(shí)點(diǎn)。
全面性。經(jīng)典教學(xué)過(guò)程對(duì)每一個(gè)知識(shí)點(diǎn)的講授是相當(dāng)全面的,包含了這個(gè)內(nèi)容在語(yǔ)法中的所有規(guī)定,便于學(xué)生對(duì)知識(shí)形成一個(gè)整體的認(rèn)知,為以后的程序設(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ)。
便于專題訓(xùn)練。因?yàn)槊恳粋€(gè)學(xué)習(xí)內(nèi)容就只有一個(gè)單一的知識(shí)點(diǎn),所以,很容易針對(duì)這個(gè)單一的知識(shí)點(diǎn)設(shè)計(jì)練習(xí)題,讓學(xué)生得到充分的練習(xí),鞏固對(duì)知識(shí)的理解。
教學(xué)過(guò)程本身并無(wú)所謂好壞,這里的缺點(diǎn)是針對(duì)使用它的人來(lái)說(shuō)的。中職學(xué)生普遍來(lái)說(shuō)有如下特點(diǎn):學(xué)習(xí)的動(dòng)力不足;不善于記憶條條款款;堅(jiān)定的實(shí)用主義者;喜歡自己動(dòng)手。鑒于中職學(xué)生的這些特點(diǎn),以上分手的經(jīng)典教學(xué)過(guò)程所體現(xiàn)出來(lái)的優(yōu)點(diǎn)在他們那里就體現(xiàn)不出來(lái)了,反面呈現(xiàn)出以下的缺點(diǎn)。
單個(gè)的知識(shí)點(diǎn)不能完成一個(gè)具體的操作。中職學(xué)生大多是實(shí)用主義者,凡事都要問(wèn)有什么用。前期的理論學(xué)習(xí)讓他們覺(jué)得程序設(shè)計(jì)毫無(wú)用處,在觀念上形成了極差的印象,一定程度上打消了他們的學(xué)習(xí)積極性,甚至在這個(gè)階段就放棄了學(xué)習(xí)。
語(yǔ)法規(guī)定太過(guò)繁瑣。前期理論講授中有太多的語(yǔ)法規(guī)定,但是,在學(xué)完所有的語(yǔ)法規(guī)定之前,這些規(guī)定是沒(méi)有辦法投入到實(shí)用過(guò)程中,對(duì)學(xué)生來(lái)說(shuō),它們就是紙上的死條條,對(duì)學(xué)生沒(méi)有吸引力。
情境學(xué)習(xí)理論認(rèn)為,學(xué)習(xí)不是孤立的個(gè)體意義建構(gòu)的心理過(guò)程,而是一個(gè)以差異資源為中介的帶有社會(huì)性的、實(shí)踐性的參與過(guò)程。知識(shí)及學(xué)習(xí)者角色的意義、學(xué)習(xí)者自身的意識(shí)都是學(xué)習(xí)者在他與學(xué)習(xí)情境的互動(dòng)以及學(xué)習(xí)者與其他學(xué)習(xí)者之間的互動(dòng)過(guò)程形成的,因此創(chuàng)設(shè)學(xué)習(xí)情境就是要讓學(xué)習(xí)者的身份和角色意識(shí)、認(rèn)知性任務(wù)回歸到真實(shí)、融合的狀態(tài)。通俗地說(shuō),情境學(xué)習(xí)是在知識(shí)、技能的應(yīng)用情境中進(jìn)行學(xué)習(xí)的方式,即學(xué)習(xí)的情境就是應(yīng)用的情境。“在哪里用,就在哪里學(xué)。” 既然是學(xué)習(xí)編程,那就應(yīng)該在編程中學(xué)習(xí)語(yǔ)法規(guī)則和鍛煉編程技能。
◆每一個(gè)程序都有明確的功能。一個(gè)程序就是一個(gè)學(xué)習(xí)情景,需要解決一個(gè)具體的問(wèn)題,讓學(xué)生看到程序是有用的,明確學(xué)習(xí)對(duì)于他們來(lái)說(shuō)是有意義的,這樣可以調(diào)動(dòng)起學(xué)生學(xué)習(xí)的興趣。所有的學(xué)習(xí)內(nèi)容都放到一個(gè)個(gè)有具體功能的程序中,即“回歸到真實(shí)、融合的狀態(tài)”或“應(yīng)用的情景”,讓學(xué)生在這些情景中進(jìn)行“對(duì)話”和“廣泛的社會(huì)協(xié)商”構(gòu)建起語(yǔ)法規(guī)則的知識(shí)和編程的技能。所以基于情景學(xué)習(xí)的程序設(shè)計(jì)教學(xué)的核心就是設(shè)計(jì)一系列的例子程序,構(gòu)建出一個(gè)個(gè)的情景,將語(yǔ)法規(guī)則和編程技能都融入到這些情景中,讓學(xué)生在與情景的互動(dòng)中完成意義的構(gòu)建。
◆按由淺入深的順序安排教學(xué)內(nèi)容。在內(nèi)容難易程序方面,經(jīng)典程序設(shè)計(jì)教程中的順序安排是合理的,即順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)。采用情景學(xué)習(xí)理論也應(yīng)該按照這個(gè)順序來(lái)安排教學(xué),與經(jīng)典教學(xué)內(nèi)容不同的地方在于將基礎(chǔ)理論融入到這些程序中,不單獨(dú)講授知識(shí)。
◆各程序加入的新語(yǔ)法數(shù)量要有規(guī)劃。在設(shè)計(jì)例子程序序列過(guò)程中要關(guān)注例子程序間的跨度,即兩個(gè)例子程序的差異或者說(shuō)是語(yǔ)法增量。例子程序間的跨度要考慮學(xué)生的接受能力,如果太大會(huì)讓學(xué)生覺(jué)得太難于理解而失去學(xué)習(xí)的信心,不利于學(xué)習(xí)的繼續(xù)開(kāi)展。因此在設(shè)計(jì)程序序列時(shí)要有規(guī)劃,盡量將各語(yǔ)法規(guī)則均勻分布到序列的各環(huán)節(jié)中。
程序設(shè)計(jì)學(xué)習(xí)的核心是程序的讀和寫(xiě),所以需要從程序序列的每一個(gè)節(jié)點(diǎn)衍生出多個(gè)例子程序,一些程序用于對(duì)學(xué)習(xí)進(jìn)行閱讀訓(xùn)練,一些程序用于對(duì)學(xué)生進(jìn)行代碼編制訓(xùn)練。每一個(gè)節(jié)點(diǎn)上的例子程序都要實(shí)現(xiàn)一個(gè)具體功能,包含相同的新的語(yǔ)法規(guī)則。程序的閱讀訓(xùn)練中,首先根據(jù)程序的運(yùn)行結(jié)果讓學(xué)生討論語(yǔ)法規(guī)定,然后再應(yīng)用語(yǔ)法規(guī)定來(lái)寫(xiě)出其他程序的運(yùn)行結(jié)果。程序的編寫(xiě)訓(xùn)練中,首先由老師展示程序設(shè)計(jì)的過(guò)程,引導(dǎo)學(xué)生思考語(yǔ)法的應(yīng)用方式和程序編寫(xiě)技術(shù),然后由學(xué)生根據(jù)問(wèn)題獨(dú)立編寫(xiě)程序。
◆優(yōu)點(diǎn)。學(xué)生完全在應(yīng)用情景中進(jìn)行對(duì)話和協(xié)商完成知識(shí)和技能的構(gòu)建,學(xué)習(xí)意義更加明確,更能調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性。
◆缺點(diǎn)。例子程序序列設(shè)計(jì)困難,例子程序跨度不好把握,一個(gè)例子程序中可能會(huì)出現(xiàn)多個(gè)新的語(yǔ)法規(guī)則,一個(gè)語(yǔ)法規(guī)則可能會(huì)被分割到多個(gè)例子程序中體現(xiàn),不便于構(gòu)建語(yǔ)法系統(tǒng)。
雖然基于情景學(xué)習(xí)的程序設(shè)計(jì)教學(xué)有一些缺陷,但是,能夠解決學(xué)習(xí)者最大的問(wèn)題,就是內(nèi)在學(xué)習(xí)動(dòng)力的問(wèn)題。當(dāng)學(xué)習(xí)者形成了內(nèi)在學(xué)習(xí)動(dòng)力,對(duì)程序設(shè)計(jì)有了濃厚的學(xué)習(xí)興趣,那么學(xué)習(xí)過(guò)程的所有困難,都可以在生生互動(dòng)和師生互動(dòng)中逐漸解決。