摘要:程序設計課程是高校非計算機專業(yè)學生普遍選修的計算機基礎課程。針對程序設計課程教學中存在的問題,在分析計算思維內涵以及與程序設計課程關系的基礎上,面向計算思維意識、方法和能力培養(yǎng),借鑒任務驅動型教學法,構建程序設計課程教學模式,以進一步提升大學生計算思維的綜合能力。
關鍵詞:程序設計課程;計算思維;教學模式;任務驅動
目前,計算思維是國內外計算機教育界研究的熱點。我國2010年“九校聯盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯合聲明”的核心要點強調“需要把培養(yǎng)學生的‘計算思維’能力作為計算機基礎教學的核心任務”。程序設計課程是高校非計算機專業(yè)學生普遍選修的基礎課程。通過該課程的學習,使學生掌握程序設計課程的基本知識、基本方法、結構化程序設計和基本算法,并培養(yǎng)學生利用計算機解決問題的意識、方法和能力,具備利用計算機求解實際問題的基本技能,能靈活應用程序語言結合本專業(yè)知識進行程序設計,為計算機在各專業(yè)中的應用奠定基礎。因此,大學生計算思維培養(yǎng)必然成為程序設計課程教學的重中之重。
1.目前程序設計課程教學中存在的問題
1.1缺乏利用程序設計課程知識解決專業(yè)問題的意識
學生普遍認為工作后運用編程知識的機會很少,沒有深刻地意識到程序設計課程與他們的專業(yè)之間的密切關系,并且對于大量的程序代碼、語法規(guī)則和算法缺乏興趣,這些都是非計算機專業(yè)學生對程序設計課程存在的普遍想法。因此,學生從來沒有想過要利用程序設計課程知識解決專業(yè)問題,學生學習興趣不高,主動學習和克服困難的積極性差,給教學帶來了很大的困難。
1.2沒有熟練掌握程序設計課程知識技能
程序設計課程是高校非計算機專業(yè)學生的一門重要的計算機基礎課程,部分學生希望通過學習語言課程獲得國家計算機等級考試證書,這就導致學生的應試能力強,知識掌握片面,對于程序設計課的知識體系難以融會貫通,知其然而不知其所以然,知識技能掌握不熟練。
1.3運用程序設計課程知識解決專業(yè)問題能力弱
學生主觀學習的意識不濃,缺乏創(chuàng)新探索精神,被動接受程序設計課程中語法和算法等知識,知識點掌握片面,導致遇到具體問題的時候不能和程序設計課程的知識有效聯接,理論和實踐嚴重脫節(jié),運用程序設計課程解決專業(yè)問題的能力比較差。
2.計算思維與程序設計課程教學
計算思維是目前國內外高校計算機程序設計課程教學研究的熱點之一。2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真教授在美國計算機權威期刊Communications of the ACM上給出計算思維Computational Thinking的定義:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。這一定義為計算機教育教學理念、定位和要求賦予了更為先進、科學的內涵,然而這主要針對的是計算機專業(yè)學生的培養(yǎng)。為此,針對非計算機專業(yè)的學生,龔沛曾教授等將計算思維培養(yǎng)進一步細分為計算思維意識、方法和能力3個維度培養(yǎng),這為程序設計課程教學提供了更為明確的指導。
2.1計算思維意識
計算思維是人類3大科學思維之一,計算思維是程序設計課程的基本思維方式??茖W家已將計算思維、理論思維和實驗思維并列為人類3大科學思維。為此,在程序設計課程的教育中深化計算思維意識的培養(yǎng),使學生能夠主動地用計算機知識及技能去解決專業(yè)中面臨的實際問題。
2.2計算思維方法
計算思維方法是計算思維組成部分的核心。計算機思維方法是集數學、工程方法和計算機科學方法于一身的方法。在程序設計課程中,各種問題的求解方法和算法,如排序法、遞歸法等,都是計算思維方法在程序設計課程中很好應用的體現。
2.3計算思維能力
計算思維能力培養(yǎng)是計算機基礎教學的核心任務,涉及計算機學科專業(yè)能力培養(yǎng)的目標是對計算機的認知能力和應用計算機的問題求解能力。計算思維的根本目的是問題求解能力,計算思維培養(yǎng)目標恰好反映了計算思維的根本目的。程序設計課程是計算機基礎課程之一,該課程的內容重點體現了計算機語言課程的問題求解方法,與計算思維能力培養(yǎng)的主要內容相吻合。當然一門課程并不能包含計算思維的所有內容,需要一系列計算機基礎應用課程協作完成計算思維能力的培養(yǎng)。因此,計算思維能力的培養(yǎng)為今后學生應用計算機技術解決專業(yè)問題奠定了堅實的基礎。
3.程序設計課程教學模式構建
任務驅動教學法是一種建立在建構主義學習理論基礎上的教學法,它將以往以傳授知識為主的傳統教學理念,轉變?yōu)橐越鉀Q問題、完成任務為主的多維互動式的教學理念;將再現式教學轉變?yōu)樘骄渴綄W習,使學生處于積極的學習狀態(tài),每一位學生都能根據自己對當前問題的理解,運用共有的知識和自己特有的經驗提出方案、解決問題。任務驅動教學法最根本的特點就是“以任務為主線、教師為主導、學生為主體”,改變了以往“教師講,學生聽”的被動教學模式。通過實踐發(fā)現“任務驅動”法有利于激發(fā)學生的學習興趣,培養(yǎng)學生分析問題、解決問題的能力,提高學生自主學習、與他人協作的能力。簡而言之,任務驅動教學就是教師、學生、任務3者之間積極互動的過程。鑒于任務驅動教學法的突出優(yōu)勢,必然成為培養(yǎng)學生計算思維的重要教學方法。為此,面向學生計算思維意識、方法和能力的綜合培養(yǎng),我們將任務驅動教學法在VB程序設計課程中具體實施的環(huán)節(jié)主要分成4步:任務前準備一設計任務一任務實施一效果評價,使任務驅動教學法與計算思維3個層次的培養(yǎng)緊密結合,如圖1所示。
3.1任務前準備:理論知識準備,創(chuàng)設情境
程序設計課程中對象的屬性、方法和事件可以讓學生自主學習,而語法、算法和編程規(guī)則等知識點教師可以在大綱的指導下,從計算思維的角度引導學生學習,或者理解大綱中相關概念和知識原理,輔導學生學習。如排序問題,人手動排序和利用計算機程序語言進行排序哪一個更快?計算機能否智能地培養(yǎng)計算思維意識?
杜威在他的“五步思維法”中指出,思維活動可分為5個階段:問題、觀察、假定、推理和檢驗。教學情境的核心是與知識相對應的問題,因此,創(chuàng)設教學情境能夠模擬地回溯知識產生的過程,從而幫助學生深刻理解教學內容,發(fā)展思維能力。另一方面創(chuàng)設情境可以激發(fā)學生的學習興趣,從而實現學生主觀學習,為計算思維的意識培養(yǎng)奠定基礎。程序設計課程的教學應安排在多媒體教室中進行。程序設計課程中每一個項目是多種計算思維方法的集合,在創(chuàng)設情境時可以注重計算思維意識和方法的綜合培養(yǎng),具體可以分為以下3個方面:
1)問題情境。
在教學過程中,指導教師要突出與教學內容緊密聯系的問題,激發(fā)學生主動學習的意識,使學生把注意力投入到問題情境中。
2)信息情境。
在課堂教學活動中,教師要提供一些現實性和開放性的信息,讓學生根據教師所提供的信息,抓住事物的主要特征,從而提出問題,解決問題。
3)實驗情境。
教師根據教學大綱設置形象有趣的實驗并加以演示,進而激發(fā)學生學習的欲望,使學生深化對程序設計課程中基本概念和基本知識點的理解,達到靈活應用的效果。
3.2設計任務
設計任務的關鍵在于其合理性,任務設計的合理與否直接影響教學的效果,有效恰當地設計任務對任務驅動教學法至關重要。在設計時一般遵循以下原則:
1)明確性。
圍繞教學大綱嚴格設計任務,將任務前準備的知識得以有效應用,又能從任務中學到新的知識和技能。這樣將教學內容融入到任務中,可以有效地強化和鞏固教學內容。學生從無目的學習狀態(tài)轉換到目標明確的學習,計算思維意識漸漸地在學生的腦海中產生,學習效果得到了極大的提高。
2)可操作性。
程序設計課程的特征之一是非常強的實踐性,傳統的“教師演示講解,學生聽”的效果遠沒有自己上機動手操作的效果好。因此,設計任務時可以根據教學內容和專業(yè)特征來設計具體的、可操作性強的任務。學生通過模仿和借鑒任務的程序設計編程技巧,通過任務的學習形成自己的編程思路,從而具備解決具體問題的能力,為計算思維能力的培養(yǎng)奠定夯實的基礎。
3)注意創(chuàng)設真實情境。
教師創(chuàng)設與現實相關或者與專業(yè)相關的情境任務,學生會對該任務產生相當大的興趣,從而激發(fā)學生的求知欲,往往會產生事半功倍的效果。
4)關注每一任務的可思考性。
設計任務時要給學生留有思考的空間,給學生體驗思考和創(chuàng)新的機會,實現任務的開放與延伸,使學生的計算思維意識和能力得到鍛煉。
教師根據上述原則設計任務,面向教學目的和知識重點,從計算思維角度重構經典案例,主要給出一些共性任務,也可以給出個性化任務。當然學生結合興趣和專業(yè)特點也可以自行設計任務,如果學生能自行設計任務,對計算思維的意識和能力培養(yǎng)將是非常成功的。
3.3任務實施
任務實施是整個教學過程中最重要的部分。學生拿到任務之前,應讓學生分成小組來完成任務,具體任務分配下來之后,學生小組討論并分析任務,制定任務完成過程中所需要的步驟,找到存在的困難。教師的指導角色要充分扮演好,不要急于講解示范,應以提示指導為主,把學生提出問題、分析問題和解決問題的綜合能力充分鍛煉出來,充分發(fā)揮學生的想象力,培養(yǎng)學生的計算思維能力。在指導過程中,教學方法上我們倡導問題的多種算法,通過多種算法的比較,選擇一種簡化、易于理解的算法,從而培養(yǎng)計算思維。從任務實施過程中,使學生無意識地具備了計算思維的方法和能力。
3.4效果評價
根據學生完成作品的好壞進行評價,對學習效果的評價主要包括兩部分內容,一方面是對學生是否完成任務的過程和完成結果的評價;另一方面是對學生自主學習及協作學習能力的評價。最終將評價結果納入考核體系,學生對整個學習過程更具參與動力,并通過效果評價的導向與反饋作用全面提升學生的計算思維意識、方法和能力。
4.結語
面向計算思維培養(yǎng)的教學改革是一項長期的工程,需要不斷研究和實踐。本文圍繞著培養(yǎng)學生“利用計算機解決問題”的能力,仔細分析了計算思維的意識、方法和能力3個層次及對應的程序設計課程內容,并借鑒任務驅動型教學方法,構建了程序設計課程的教學模式,即“任務前準備一設計任務一任務實施一效果評價”,從而全面培養(yǎng)學生計算思維的意識、方法和能力。
(見習編輯:劉麗麗)