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