張旭
摘要:計算機思維的深刻知識內(nèi)涵正在被當(dāng)今社會的發(fā)展進一步揭示,學(xué)生在高校中接受計算機課程的培養(yǎng)已經(jīng)不僅是為了學(xué)會應(yīng)用計算機,而是由此學(xué)會一種思維方式。根據(jù)當(dāng)前C程序設(shè)計課程與計算思維之間的內(nèi)在聯(lián)系,提出以培養(yǎng)學(xué)生計算思維為核心的C語言實踐教學(xué)設(shè)計案例。
關(guān)鍵詞:計算思維;C程序設(shè)計;創(chuàng)新能力
中圖分類號:G434 文獻標(biāo)志碼:A 文章編號:1674-9324(2017)05-0252-02
一、背景
計算機專業(yè)的畢業(yè)生是否合格、是否有競爭力,主要是看培養(yǎng)出來的人才是否具有較強的計算思維能力及算法設(shè)計與分析能力。計算思維的培養(yǎng)是今后大學(xué)計算機課程深化改革的重要方向,合理定位大學(xué)計算機教學(xué)的內(nèi)容,使之形成科學(xué)的知識體系,成為大學(xué)重要的通識類課程之一。
計算機技術(shù)已經(jīng)應(yīng)用于普適計算、金融工程、商業(yè)智能計算等非常廣泛的領(lǐng)域,與多種學(xué)科之間的交叉和綜合越來越深入。因此培養(yǎng)出的計算機專業(yè)人才應(yīng)能夠解決某一領(lǐng)域具體的計算問題,能夠?qū)⒂嬎銠C技術(shù)快速應(yīng)用該領(lǐng)域。
二、計算思維
周以真教授認(rèn)為計算思維是運用計算機科學(xué)的基本理論去求解問題、設(shè)計系統(tǒng)、理解人類行為等一系列的思維活動[1]。2008年,ACM(美國計算機協(xié)會)提出應(yīng)將計算思維作為計算機科學(xué)人才培養(yǎng)的重要組成部分。桂林電子科技大學(xué)董榮勝教授論述了計算思維與計算機方法論的關(guān)系[2]。中央民族大學(xué)林旺闡明了軟件應(yīng)用教學(xué)中計算思維能力培養(yǎng)的教學(xué)設(shè)計原則[3]。
以往,計算機專業(yè)背景的技術(shù)人員在進行項目開發(fā)時,如果涉及其他學(xué)科,則被視為一個“編程者”,他們僅局限于計算機上編程,包括數(shù)據(jù)結(jié)構(gòu)的設(shè)計、查詢結(jié)果等具體程序代碼的實現(xiàn)。但隨著計算機應(yīng)用的深入發(fā)展,計算機編程難度不斷降低。計算機專業(yè)人員只有具有扎實的編程能力,同時擅長抽象和分解問題的計算思維,才能從單純的“編程者”脫離出來。因此解決未來工作中來自交叉學(xué)科的問題,需要在計算機課程實踐教學(xué)中融入這種計算思維,使計算思維成為學(xué)生職業(yè)技能的一部分。
進行計算思維訓(xùn)練對計算機人才培養(yǎng)是極為重要的,它不僅提高了教學(xué)質(zhì)量,提高了學(xué)生解決問題的能力,使學(xué)生理解計算機的實現(xiàn)機制和約束,有利于學(xué)生進行發(fā)明和創(chuàng)新,更重要的是有利于提高學(xué)生的信息素養(yǎng),提高學(xué)生處理計算機問題時應(yīng)有的思維方法。通過對以計算思維培養(yǎng)為核心的計算機課程實踐教學(xué)進行研究與實踐,可以為計算機教學(xué)改革提供理論依據(jù),并總結(jié)實踐經(jīng)驗與教訓(xùn)。
三、C程序設(shè)計課程存在的問題
C程序設(shè)計課程是計算機專業(yè)學(xué)生進入大學(xué)后接觸到的第一門必修計算機專業(yè)基礎(chǔ)課,對學(xué)生后續(xù)專業(yè)課程的學(xué)習(xí)起到重要的基礎(chǔ)作用。開設(shè)C程序設(shè)計課程的目的在于培養(yǎng)學(xué)生分析問題和解決問題的能力,為學(xué)生提供一個能夠改善知識結(jié)構(gòu),培養(yǎng)計算思維與綜合素質(zhì)的平臺。
C程序設(shè)計課程具有大量的語法規(guī)則,傳統(tǒng)的教學(xué)方法所選的實驗大多基于語法規(guī)則的說明和驗證。這類實驗方法往往使得學(xué)生在學(xué)過C語言后,不能活學(xué)活用所學(xué)語言知識,學(xué)生厭煩語法規(guī)則,使得教學(xué)效果越來越差。因此在C語言實驗教學(xué)中融入計算思維,開發(fā)出適合的案例,使計算思維與現(xiàn)實問題相聯(lián)系,增加C語言課程的趣味性,從而降低課程的學(xué)習(xí)難度,提高學(xué)習(xí)效果。
四、具體案例分析:誰家孩子跑最慢
問題描述:張家、王家、李家各有三個孩子在一起比賽短跑,規(guī)定跑第一名得9分,跑第2名得8分,依此類推跑第9名得1分。比賽結(jié)果沒有同時到達終點的,張王李家的總分相同,并且也沒有任何一家的兩個或三個孩子獲得相連的名次。已知第一是李家的孩子,第二是王家的孩子。問獲得最后一名的是誰家的孩子?
思路:按題目的條件,共有1+2+…+9=45分,每家的孩子的總得分為15分。根據(jù)題意可知:獲第一名的是李家的孩子,獲第二名的是王家的孩子,則可推出:獲第三名的一定是張家的孩子。由“這些孩子沒有同時到達終點的”可知:名次不能并列,由“沒有一家的兩個或三個孩子獲得相連的名次”可知:第四名不能是張家的孩子。
算法描述,程序流程如圖1:
①按已知條件進行初始化,張家第一個孩子得7分,王家第一個孩子得8分,李家第一個孩子得9分。②遍歷張家孩子在4到6分段可能的分?jǐn)?shù)。③遍歷王家孩子在4到6分段可能的分?jǐn)?shù)。④遍歷李家孩子在4到6分段可能的分?jǐn)?shù)。⑤輸出各家孩子的得分情況。⑥記錄得分最后一名的家庭序號。⑦結(jié)束。
運行結(jié)果獲得最后一名的是王家的孩子,如圖2。
五、結(jié)語
目前,對計算機課程實踐教學(xué)的計算思維研究成果還少之又少。在這種情況下,唯有自身努力,積極探索,制定既具有本校特色又可借鑒推廣的、行之有效的計算機實踐教學(xué)內(nèi)容和課程體系,將計算思維融入到理論課教學(xué)和實驗教學(xué)的各個環(huán)節(jié),提高學(xué)生運用計算機知識,特別是知識抽象和分解問題的能力。才能為社會培養(yǎng)出具備高水平的思維、高水平的知識建構(gòu)與知識遷移能力,高水平的實踐和科研能力的計算機人才。
參考文獻:
[1]周以真.計算思維[J].中國計算機學(xué)會通訊,2007,(3):77-79.
[2]董榮勝.計算思維與計算機導(dǎo)論[J].計算機科學(xué),2009,(36):50-52.
[3]林旺.孫洪濤[J].基于軟件應(yīng)用的計算思維能力培養(yǎng)教學(xué)設(shè)計.中國電化教育2014,(11):122-127.
[4]陳國良,董榮勝.計算思維與大學(xué)計算機基礎(chǔ)教育[J].中國大學(xué)教學(xué),2011,(33):7-12.
[5]儲岳中,秦鋒,劉宏申.C語言程序設(shè)計理論與實踐一體化教學(xué)的幾點實踐[J].計算機教育,2012,(12):22-25.