于 寧, 崔武子, 蔡 春, 戴 紅
(1. 北京聯合大學 應用文理學院, 北京 100191;2. 北京聯合大學 電子信息技術實驗實訓基地, 北京 100101)
?
突出計算思維訓練的VB程序設計實驗教學
于寧1, 崔武子2, 蔡春1, 戴紅1
(1. 北京聯合大學 應用文理學院, 北京100191;2. 北京聯合大學 電子信息技術實驗實訓基地, 北京100101)
針對當前高等院校將“計算思維能力的培養”作為計算機基礎教育核心任務的定位,率先在北京聯合大學VB程序設計課程進行改革,提出以實例導入、經典算法為基礎,以上機訓練、貫穿實例為提高,以綜合設計、學科競賽為應用的三位一體教學設計,并加以實踐。
計算思維; VB程序設計; 實驗教學
回顧歷史,早在1981年,前蘇聯計算機教育學家葉爾肖夫就曾預言“人類必將會生活在一種程序設計的世界里。在這個世界里,人類文化與程序設計不僅并行存在,而且會互相聯系,融合為一種全新的人類思想”[1]。事實上,當今的數字化、計算化、程序化的現實世界不僅詮釋了葉爾肖夫的預言,也遠遠超越了程序設計的文化理念,以“數據抽象和自動化處理”為代表的計算方式已經滲透到人們生活與學習的方方面面,計算思維成為每個社會成員處理信息問題的重要思考方式[2]。在這種形勢下,對高校計算機教育提出了新的要求,即計算機基礎教學的內容不能僅僅著眼于軟件工具的使用,而應有相對穩定的、體現計算機學科思想和方法的核心內容,同時需要更加突出學生的思維方式、思想方法、價值取向以及做人、做事、與人合作共處能力的培養,以提升學生多元能力——問題求解能力、實際應用能力、自我學習能力、溝通表達能力及團隊合作能力。程序設計是公認的、最能直接有效地訓練學生的思維能力、實踐能力的課程之一。即便一個最簡單的程序,從問題分析、確定方法、界面設計、編寫代碼到調試運行,整個過程都需要學生有條理地完成,這中間有問題分析、判斷、推理的抽象思維和邏輯思維訓練,也有設計、表達、操作等實踐能力的培養。
VB程序設計課程是針對我校非計算機專業理科及部分文科專業開設的程序設計必修課程,也是高校計算機基礎教育的核心課程之一。其教學目的,一方面使學生利用先進的開發環境,學會可視化程序設計工具的使用,能夠設計簡單實用的程序;另一方面對學生邏輯思維方法的訓練、耐心細致的學習態度和嚴謹求實的科學作風的培養,提高學生的計算機素質,為今后工作打下有利基礎[3]。針對培養目標,分析課程現狀,我們認為現有教學模式,特別是實驗環節存在著一些需要迫切解決的問題。
(1) 重視語法語句的講授,忽視問題求解過程的引導和分析。現有的程序設計教學模式是將理論教學、實驗環節分開進行的,教學過程比較重視語法語句的講解,但忽視問題求解過程的引導和分析,在實驗環節這個問題就突顯出來了。面對要解決的問題和任務,學生不會分析,無從下手,不敢接受挑戰,產生各種焦慮、畏難情緒,由此喪失學習的信心和興趣。
(2) 實驗設計沒有為學生預留思考空間。實驗設計為學生提供了詳細、全面的上機實驗過程。從題目、目標、步驟到程序代碼,學生只要輸入正確后程序就能正常運行,留給學生自己思考問題的空間不夠,不能培養學生分析問題、發現問題及解決問題的能力。在實際編程中,可能遇到各種錯誤,每個問題求解可能有多種方法,也有最佳求解方案。但由于學生大多是機械地接受、記憶知識,思考問題不夠,思維受限,出現問題時,不能很好地解決。
(3) 實驗題目設計不夠合理。實驗題目實用性、趣味性不高,過于碎片化,缺少系統性和完整性。
美國教育家杜威認為,人類在日常生活中遇到困難或問題時,便開始運用自己的思想,設法解決這些困難或問題,這就是思想的起點。所謂奇異、驚奇、好奇、懷疑等,都是構成問題的要素,而這些要素就是引起學習活動的主要原動力[4]。魯賓斯坦認為,正是問題性產生了人類的思維,當人們提出并解決生活中遇到的各種問題時,思維便悄然運行了。思維是從認識問題中獲得自己的本源的[5]。
“計算思維”強調的是求解問題的“思維”方法,是在問題求解方法學的層面上培養學生解決問題的意識、思想、方法、能力等。對學生來說,并不是教學內容的難度加大了,反而是降低了,因為思想、方法比理論更容易理解[6]。按照建構主義的學習理論,作為學習主體的學生是在與創設符合教學內容要求的情境交互過程中構建自己的知識結構的。
基于現代學習理論和教育思想,根據我校課程培養目標、學生專業特點和認知能力,打破原有先講授理論、后上機實驗的傳統教學方式,提出將教學內容全部放到實驗教學中,以實例導入、經典算法為基礎,以上機訓練、貫穿實例為提高,以綜合設計、學科競賽為應用的三位一體教學設計。
2.1將抽象的知識組織成一個個相應實例
凝練VB程序設計中基本概念、基礎知識和科學方法,重構教學內容,將VB所有教學內容組織成相應實例、上機實驗素材,在講授與闡明例題的過程中帶出知識點,使學生通過一個個實例掌握基本概念、語法和編程技能,構建基于問題求解的教學方法。
將語法介紹和控件使用融為一體,克服了語法知識的枯燥性,分散了難點,使學生在學習有趣的例題中學習語法、了解對象的使用方法[7],如表1所示。

表1 部分章例題知識要點
將知識組織與技能訓練結構化呈現給學生后,教學過程與方法要體系化。從教學層面來說,對于算法分析、程序設計概念等重要而又難以理解的內容,采用案例分析方法,按照問題引入、驗證實現、排除錯誤、思考總結4個步驟引導學生理解問題需求、將問題變成計算機所能接受的表示方法,運用抽象、概括、分類、比較等思維活動,找出解決問題的方法及最有效的方案。對于趣味性、實用性較強的實例,采用任務驅動方法,引導學生去思考,嘗試發現問題并設法求解。每當完成一個任務,要歸納總結,再一次強化教學活動的成果,將問題求解過程推廣或移植到更廣泛的問題中,促使學生把學會的東西內化成為自己的知識與信息素養[8]。最終借助計算思維去解決工作、學習和生活中的各種問題。教與學過程如圖1所示。

圖1 教與學基本過程
2.2強化上機訓練,增設具有連續拓展性的貫穿實例
對程序設計而言,編程能力是計算思維和技能化知識的綜合體現;只記住若干語句而不會解決實際問題,不能說具備了編程能力[9]。為此,每章提供上機訓練環節,每道訓練題給出題目、目標、編程點撥、主要步驟、拓展功能等要求。題目的設計主要考慮知識運用的綜合性、實用性和適當的趣味性,盡可能讓學生全身心參與到學習中。訓練重點放在解題思路上,故增設了編程點撥,幫助學生讀懂題目、找到問題、構思算法步驟等。針對每道題目,不直接將完整的程序呈現給學生,而是通過編程點撥、啟發學生,給學生預留一些思考的空間后,讓學生帶著各自的理解和問題完成程序設計,同時鼓勵學生從教材或互聯網上獲取更多求解問題的方法。

表2 部分章上機訓練題目
在上機訓練中,幫助學生分析問題與排除錯誤是一個重要環節,首先要讓學生明白程序設計出錯是正常的,要正確對待,不怕出錯,其次要幫助學生學會如何調試程序,并對運行結果做正確與否的分析。VB程序設計中主要有系統能夠自動檢查語句的語法格式錯誤(如輸入非法字符)、運行錯誤(如引用不存在的對象)以及系統不能自動檢查的邏輯錯誤(如不符合自己設想的要求,沒有實現預定的處理功能)。排除錯誤的方法主要是隔斷錯誤,一個個過程、一個個模塊進行排查,然后檢查各個模塊之間的關系。學生在經過多次訓練后,增強了自己解決問題的信心和能力。
為保證程序設計的系統性、完整性,增設具有連續拓展性的貫穿實例“小型書店圖書管理系統”(見圖2),按章對系統提出要求,并隨著各章的學習由淺入深、逐步完善,最終實現具有較強實用性的圖書管理系統[7]3。貫穿實例由教師指導,學生在課后逐步完成。通過對貫穿實例的學習,學生不僅鞏固了本章所學內容,而且訓練了綜合設計能力,培養嚴謹的設計思維。

圖2 圖書管理系統初始界面
2.3應用綜合設計、學科競賽全面提升學生綜合素質
教學設計的前2個環節重點是引導學生在解題編程的實踐中探索其中帶規律性的認識,最終將感性認識升華到理性的高度。在教學的中后期,布置綜合設計作品,要求2~3名學生為一小組,可自擬題目或選擇教師指定的題目,開發具有一定實用性的應用程序。從選題、功能設計到代碼編寫,全部由學生課后自主或合作完成,從而進一步使學生全面綜合運用所學知識,達到理論與實踐互相滲透、有機結合的目的。
學校每年舉辦北京聯合大學程序設計競賽、北京聯合大學計算機應用大賽等競賽,為學生提供一個全面展示計算機綜合應用能力的平臺,同時也發揮優秀學生的帶動作用和示范作用。在課程綜合設計基礎上,任課教師積極引導并組織有能力、感興趣、愿投入的學生參加這些競賽。在參賽作品的選題上,如何將先進的計算機技術與各專業有機結合,體現出作品設計的實用價值是設計之初要解決的重要問題。“文物中的鳥”“人文北京之北京傳統飲食文化信息查詢系統”“歷代帝王墓葬發掘史展示系統”等都是學生結合專業特點開發出來的新穎獨特、美觀實用、信息豐富的優秀作品。從班級選拔到校級參加現場答辯,參賽學生感受頗多,一致表示,競賽不僅親身實踐了課堂所學、課堂外拓展的知識,提高了動手能力,同時也鍛煉了自我學習與協作學習、溝通表達的能力。在完成作品的過程中,通過小組成員間的互幫互助、查找相關資料、探索學習、克服困難,最終設計出較為理想的系統。現場答辯的形式也鍛煉了學生的應變能力,培養了團隊合作精神。
以綜合設計、學科競賽為應用的教學設計發揮了學生的主觀能動性和學習積極性,解決現實生活和學習中的各方面問題,全面提升了學生綜合素質。
計算機教育就其本質而言,它不是簡單的知識教育、工具或技術教育,而是一種思維教育、能力教育。計算機教育,就是要使學生學會通過計算機原理和操作方法去處理知識、運用信息,得到思維的果實[10]。思維訓練離不開親身經歷與體驗,這也是VB程序設計課程改革之初以實驗教學為突破口的原因之一。
重構VB教學內容,以實例導學、突出思維訓練的實驗教學開展后,教與學越來越順暢了,學生學習積極性、主動性提高了。按照計算機基礎教育改革的指導思想:堅持面向應用,切實提高學生應用能力,同時在教學中融入計算思維,注意培養學生科學思維能力[11]。課程的最終目的是使學生更深入地認識計算機知識背后的思維訓練,從而學會應用計算機技術去解決問題的思路和方法,而在應用計算機過程中不斷理解計算思維,逐步訓練,從而使學生具備科學思維的能力,提高分析問題與解決問題的能力。
References)
[1] 王吉慶.信息素養論[M].上海:上海教育出版社,2000:118.
[2] 李峰,王吉慶.計算思維:信息技術課程的一種內在價值[J].中國電化教育,2013(8):19-23.
[3] 中國高等院校計算機基礎教育改革課題研究組.中國高等院校計算機基礎教育課程體系 2008[M].北京:清華大學出版社,2008.
[4] 激活思維,快樂學習[EB/OL].[2015-02-01] .http://www.doc88.com/p-9761827508974.html.
[5] 高文.教學模式論[M].上海:上海教育出版社,2002:494.
[6] 唐培和,徐奕奕,李威龍,等.關于計算思維教學改革面臨的思考[J].工業和信息化教育,2013(6):82-86.
[7] 崔武子,齊華山,于寧,等.界面設計與Visual Basic[M].3版.北京:清華大學出版社,2014.
[8] 王吉慶,黃鋼.信息技術課程與教學論[M].杭州:浙江教育出版社,2003:198.
[9] 吳文虎.我怎么講好“程序設計基礎”這門課[J].中國大學教學,2011(12):10-12.
[10] 李雁翎,李鵬誼.知識的內化:計算思維的培養與數據庫教學[J].中國大學教學,2013(7):33-35.
[11] 譚浩強. 研究計算思維,堅持面向應用[J].計算機教育,2012(21):45-49.
Experimental teaching for VB Programming based on computational thinking training
Yu Ning1, Cui Wuzi2, Cai Chun1, Dai Hong1
(1. College of Arts and Science,Beijing Union University,Beijing 100191,China; 2. Electronic Information Technology Experiment and Practice Training Base, Beijing Union University,Beijing 100101,China)
The development of computational thinking ability is currently the key task of computer basic education in colleges and universities. In Beijing Union University, the VB Programming course were designed and practiced, based on instances teaching and classical algorithm,assisted with laboratory training,comprehensive design and competitions.
computational thinking; VB programming; experimental teaching
10.16791/j.cnki.sjg.2016.09.048
2016-03-10修改日期:2016-05-17
北京市屬高等學校高層次人才引進與培養計劃項目(CIT&TCD201404080)
于寧(1965—),女,北京,碩士,副教授,研究方向為計算機教育及應用.
E-mail:yuning@buu.edu.cn
G642.0
B
1002-4956(2016)9-0182-04