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