?

程序設計課程培養文科學生計算思維能力的研究與實踐

2016-06-15 06:29李宏巖辛慧杰
大連民族大學學報 2016年3期
關鍵詞:計算思維能力培養教學方法

李宏巖,辛慧杰

(大連民族大學 計算機科學與工程學院,遼寧 大連 116605)

?

程序設計課程培養文科學生計算思維能力的研究與實踐

李宏巖,辛慧杰

(大連民族大學 計算機科學與工程學院,遼寧 大連 116605)

摘要:根據文科學生在學習計算機程序設計課程中的問題,提出了以培養計算思維能力為目標的教學模式。遵循文科學生的認知規律更新教學觀念,以計算思維的多樣化為特征精選教學內容,以貼近文科學生實際的現實問題為導向改革教學方法與手段。經過實踐,已經取得了良好效果。

關鍵詞:文科類學生,計算思維;程序設計基礎;教學方法;能力培養

自2006年,美國卡耐基梅隆大學的周以真教授系統地提出計算思維的概念以來,計算思維作為計算機科學界最具有基礎性和長期性的思想,與理論思維、實驗思維并稱三大科學思維[1]。計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學廣度的一系列思維活動[2]。國內的許多專家學者也對計算思維的定義和內涵進行詳解和補充。從2010年開始至今,一些高校的教師對如何將計算思維融入大學計算機基礎課程體系的改革進行了積極有益的探索,但是這些探索大部分是針對理工科學生的,對文科類專業的學生沒有給予足夠多的關注,而計算思維作為一種基本的思維方式能夠適應不同專業學生的計算機知識學習的需要,無論理科生還是文科生在進入社會以后都需要具有一定的計算機文化素質,以更好地適應各行各業的工作。文科生不僅需要掌握計算機基本操作技能,更應該通過計算機基礎教育取長補短,培養科學素養,提高工作中認識問題、解決問題,乃至于研究創新的能力。在開設的計算機基礎課程中,程序設計課程是教學中的重點,其課程本身也集數理思維、模塊化設計思想、對比優化策略等眾多值得研究的方式、方法于一體。因此,本文以程序設計基礎課程為依托,以培養文科類學生的計算思維能力為目標,在教學過程中突出計算思維訓練的教學設計、強化計算思維能力培養的教學實施手段、在實踐訓練上注重知行和一,注重培養學生知識運用、分析問題能力和拓展思維能力,并將其應用在學生今后的學習工作中,使計算思維成為常態,為適應國家復合型人才戰略培養的需要具有十分重要的意義。

1文科類學生在程序設計基礎課程教學中所面臨的問題

1.1普遍認為程序設計課程枯燥難學

目前,大連民族大學面向全校非計算機專業開設了3+X的計算機基礎課程。其中3是必修課,主要是C語言(理工類專業)、 Visual Basic程序設計(生命、環資等專業)、Access 數據庫設計(經管、文科類專業)等程序設計課程,X是選修與專業相結合的多門計算機應用課程。因此,程序設計課程是基礎,在此基礎上才能更好地學習余下和專業相關課程。在對文科類專業講解程學設計課程中出現了以下幾個問題:

(1)學習目的不明確。很多學生不明白程序設計課程在教學中的引導作用,認為程序設計課程的學習是計算機專業學生的“專利”,和自己所學的專業及將來的就業沒有多大關系,沒必要學。

(2)學習動力不足,畏難情緒。由于學生的計算機基礎水平參差不齊,有些學生在學習程序設計課程過程中感覺入門困難,枯燥抽象,再聽一些學長們的“告誡”,就更沒有學習的動力了。

(3)學習方法呆板,不能舉一反三。相對于那些學習動力不足的學生,很多文科類學生選擇了死記硬背程序設計算法,老師講解一道題,背一道,稍微修改一下題型,就不會了。當然,在程序設計中,一些基本的語法、結構和數據類型是需要同學記住,但程序設計絕不是死記硬背就能學好的。

1.2課程內容與課程學時相矛盾,不利于學生的計算思維能力的培養

“計算機程序設計基礎”這門課程的基礎理論、基本知識量大面廣,加上教學對象又為大學一年級非計算機專業的學生,老師在講解時很容易陷入“傳授知識”的境地,用大量的精力關注大量知識單元的教與學,實驗教學也是主要針對知識單元設置相應的實驗項目,側重知識的驗證,期中或期末布置一個綜合性的大項目,讓學生運用所學知識完成項目的設計。在多年的教學實踐中,我們意識到這種教學方法存在問題,一是在平時的教學中,學生只關注知識單元的理解和單一功能的實現,把本來具有前后聯系的知識割裂開來,結果是學了后面忘了前面,等到期末做綜合性大項目時缺乏整體觀念而感到茫然,根本達不到期待的效果。二是由于課程內容較多,教師總想盡可能多的布置實驗項目,形成一種以量取勝的導向,且總感覺學時不夠。三是實驗項目的設置以實現單一功能為目的,重在訓練學生理解所學的格式化命令運行的結果是什么,缺乏訓練學生靈活應用知識的能力,仍然停留在一種操作技能性的能力培養層面,難以形成整體的邏輯思維,其結果只要題目稍作改變就不知所措。這種知識型的教學方式不可避免地會出現“學生難”“教師難”的兩難狀況,最終認為學時不夠也就不足為奇了,采用多媒體課件講解、開發網絡化的輔助教學平臺等現代化的教學手段來提高課程教學的效率能在一定程度上緩解學時不足的矛盾,但并不是解決問題的根本所在。

2以計算思維為導向,更新教學觀念,優化教學設計

順勢而為、依性而行。這里說的“性”和“勢”就可理解為學生學習計算機的文化基礎和認知基礎,“順”和“依”就是要遵循認知規律。曾任北大校長的中國著名教育家蔡元培先生早就指出教育是幫助被教育的人,給他們發展自己的能力。學生剛開始接觸程序設計課程中的語句語法覺得難懂、沒有興趣,這時是仍然按照教材的“步進式”順序講下去,還是以“學定教,順勢而為”?誠然,就程序設計課程而言,沒有語句語法方面的基本知識是不能夠編程序的,但是否一定要先講了這些學生覺得枯燥無味的基本知識后才能往下講?能否可以先抓住程序設計的核心——算法,先講解算法的設計,明確利用計算機求解問題的思路和方法,然后根據算法實現的需要,讓學生有目的地去選擇相應的語句語法知識編寫出程序。語句語法實際上是為算法服務的。計算機程序設計課程具備了科學性與工程性并重、理論與實踐并舉、構造性與抽象性并存的基本特征,特別是以形式化語言作為描述手段,使得抽象和邏輯成為其思考問題的基本方式,抽象思維和邏輯思維是計算思維的主要方面,因此,以算法為核心的教學觀念符合認知規律,有利于促進學生計算思維能力的發展。

2.2改革教學方法,優化教學設計

教學是需要設計的,切入點很重要[3]?!芭d趣是最好的老師”,在教學設計時教師要用心揣摩初學編程者的感受,認真研究難點究竟在哪兒,深入思考怎樣才能讓學生感興趣,而不是被那些深奧枯燥的語句語法弄得眼花繚亂,一頭霧水,興趣索然,因此就必須打破原來的知識型教學的框架。我們認為,課程的難點在于如何把實際問題形式化為機器能夠處理的表達式,而在形式化的過程中,算法設計是其中的核心環節,是解決問題的思路和方法,也是培養學生計算思維能力的首要環節,為此,我們將知識型教學方法改進為研究型教學方法,推崇以探索為本的學習,并確定了三個方面的教學目標:(1)借助知識載體,傳授基本問題的求解過程和思路;(2)建立算法意識,培養良好的思維習慣和形式化方法;(3)從學科方法論上打基礎,培養計算機思維能力和分析問題、解決問題的能力。

3計算思維能力培養實踐

3.1精選教學內容,整合知識模塊

現有的理論課教材從數據類型、函數語句入手進行講解,一開始就使學生陷入大量生硬的語法規則之中不能自拔,淡化了程序設計的核心要素——算法設計,也不利于培養學生的計算思維。為此,改進傳統的教學模式,以VB程序設計課程為例,首先,讓學生明白每一章節都不是獨立的,而是前后相關聯的,讓學生感到程序設計課程并沒有那么枯燥難懂,就好像在家里做菜那樣簡單,要做好一道菜,需要準備哪些食材、需要用到哪些炊具、需要哪些做菜步驟等,并把程序設計課程的每一章節和學生易于理解的做飯做菜聯系起來,從而給學生建立一個完整的程序設計課程學習架構。其次,改變了以往層次推進方式的教學方式,而是將教學內容分為兩大部分,如圖1。然后對每一部分再進行分類整合。比如,將控件中的列表框和組合框兩個控件與數組的內容相整合,不僅避免了晦澀難懂的理論,而且更容易讓學生理解數組的涵義便于學生動手操作。再次,從功能需求入手進行講解,重點講述算法設計,使學生首先牢固樹立“算法是核心”的計算思維習慣,然后再結合實際問題使學生分析問題、思考問題、解決問題和反思。在程序設計課程的教學過程中,注意學生依據已有的知識體系,提出問題、解決問題的能力,著重強化利用計算思維方式描述問題和使用機器語言解決問題的訓練。例如火車分段計費問題,根據工資收入,所得稅分段計稅就是日常生活中常遇到的問題,學生依據所學知識用多分支結構算法進行描述,最后上機通過代碼編寫加以實現。

圖1 VB程序課程架構

3.2科學設計實驗方案

計算思維能力的培養需要通過學生的自主實驗來完成。在實驗方案中,設計多種由淺入深的實驗題目,包括以下三個方面。

(1)單個知識點實驗。在講授完一個知識點后,設計該知識點的典型問題,讓學生模仿該類問題的求解方法,初步掌握計算思維方法。

對此,黑龍江銷售最大的限度的為員工解決。包括高峰期時,要求機關、各個片區公司領導、市區加油站抽調人手到最偏遠的加油站進行幫扶,有的幫著做飯;有的幫著收錢;有的幫著疏導客戶;有的幫著維持加油現場。

(2)知識點綜合實驗。由教師采用關注點分離的方法,將一個實際問題進行簡化,設計包括若干常用知識結構的實驗題目,引導學生將不同的知識點和方法綜合應用到該實驗問題的解決中,訓練學生的計算思維。

(3)課程綜合實驗。根據學生所學的專業與程序設計課程內容相結合,引導學生將所學內容融入到解決專業實際問題,培養學生綜合應用其知識和能力。例如:經管類專業的學生可以通過所學程序設計課程對財務報表進行二次開發,財務數據進行快速的統計分析。文法類專業的學生可以通過該課程對辦公文檔或報紙進行二次編排。動畫設計類專業的學生可以通過該課程對 人物、空間等設計更加高效精確等等,提高學生綜合運用計算思維方法的能力。讓學生真正理解計算機知識與我們每個人生活密不可分,而不是孤立的,計算思維已融入自己的思想而不是人造的,是和閱讀、寫作、計算一樣是人的基本技能,從而讓學生用計算思維思考問題解決問題成為一種常態。

3.3以思維多樣化為核心點

由于學生思維能力和心理特征存在個體差異,在程序設計課程的教學活動中,應倡導多樣化的算法思維[4],培養學生的探索精神和創新意識。強調多樣化的算法思維,可以有效地強化計算思維,讓學生明白“條條大路通羅馬”的道理。具體策略如下:

(1)尊重不同的認知方式。計算思維的多樣化的本質就是尊重學生不同的認知方式。由于認知方式存在差異,在程序設計課程的教學過程中必然會出現思維多樣化的現象。鼓勵學生根據自己的興趣,從不同角度發現問題和分析問題,用不同的算法解決問題,用不同的程序實現算法。比如求階乘可以用幾種算法來求解,讓學生通過此題明白多樣化的算法思維,不局限于一個算法。

(2)增強計算思維的派生性[5]。所謂派生,就是在已有的程序基礎上衍生出的新的解決問題算法實現。通過分析已有程序的優缺點,修改并把自己的思維融入新程序的過程,是最好鍛煉計算思維訓練手段。因此,在上機操作中,經常設計一些可供學生派生的程序片段,培養他們的思維創新能力。

(3)充分利用算法的簡化和優化過程。引導學生進行反思和創新訓練,達到簡化和優化算法的目的。比如判斷一個數是否為素數有三種算法見表1。這個簡化和優化算法的過程可以很好地強化計算思維訓練,幫助學生舉一反三地學好程序設計課程。

表1 判斷n是否為素數

4結語

在教學實踐中,課上采用思維多樣化教學模式,并在上機環節中加以強化,力求課上課下都有強化計算思維的專項訓練,取得了良好的效果。學生的綜合應用能力大大提高,不僅體現在本課程的應用方面,而且還拓展到其它相關領域,比如財務會計領域、生命科學領域、建筑工程領域等。

程序設計課程中的計算思維訓練對于培養高素質復合型人才是十分重要的,計算思維不僅可以幫助他們理解計算的實現機制,還有利于學生進行實踐和創新。學生計算思維能力的培養不是一朝一夕的之功而是一個循序漸進的過程,因此還需要不斷地進行研究和探索。

參考文獻:

[1] 朱亞宗.論計算思維:計算思維的科學定位、基本原理及創新路徑[J].計算機科學,2009,36(4):53-55.

[2] WING J M. Computational thinking[J].Communications of ACM,2007,49(3):33-35.

[3] 吳文虎.我怎么講好“程序設計基礎”這門課[J].中國大學教學,2011(12):10-12.

[4] 陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009(20):84—85.

[5] 于金鳳.基于計算思維能力培養的教學模式研究[J].計算機教育,2012(15):65-68.

(責任編輯王楠楠)

The Research and Practice of Computational Thinking Training for Liberal Arts Students in Programming Courses

LI Hong-yan, XIN Hui-jie

(School of Computer Science and Engineering, Dalian Minzu University, Dalian Liaoning 116605, China)

Abstract:Based on the problem in programming course learning by liberal arts students, the teaching mode for the purpose of computational thinking training was proposed, which mainly included three aspects of content, namely updating the teaching idea in accordance with the cognitive rule of liberal arts students, selecting the teaching content based on the diversified characteristics of computational thinking and reforming the teaching methods and means oriented practical problems of liberal arts students in daily life. The effectiveness of the mode has been proven by the practice.

Key words:liberal arts students; computational thinking; programming basis; teaching mode; ability cultivation

收稿日期:2015-10-12;最后修回日期:2015-11-16

基金項目:2015年度遼寧省教育評價協會第一屆教學改革研究項目“文科類學生計算思維培養的研究與實踐”(62)。

作者簡介:李宏巖(1972-),女,遼寧沈陽人,講師,主要從事大學公共計算機基礎教育研究。

文章編號:1009-315X(2016)03-0282-04

中圖分類號:G642.42

文獻標志碼:A

猜你喜歡
計算思維能力培養教學方法
初中英語寫作教學方法初探
教學方法與知識類型的適宜
程序設計課程中計算思維和應用能力培養問題研究
民族高校C語言程序設計課程教學改革的研究
算法的案例教學探析
淺談藝術專業學生計算思維能力的培養
數學歸納法在高中數學教學中的應用研究
信息技術教學中學生自主探究能力的培養探析
基于CDIO的大學生職業素養培養研究
低年級學生課前預習能力的培養
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合