王進(jìn)
摘 要:伴隨著大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、云計(jì)算的飛速發(fā)展,實(shí)現(xiàn)了新技術(shù)與新產(chǎn)業(yè)的深度融合,產(chǎn)生了第四次工業(yè)革命下的工程新業(yè)態(tài),帶來(lái)了工程科技人才培養(yǎng)的新要求。而程序設(shè)計(jì)是實(shí)現(xiàn)信息技術(shù)與新工科的關(guān)鍵,對(duì)未來(lái)技術(shù)和產(chǎn)業(yè)起到引領(lǐng)作用。因此程序設(shè)計(jì)的工程實(shí)踐能力、分析設(shè)計(jì)能力、創(chuàng)新能力、終身學(xué)習(xí)能力成為新工科軟件工程人才的核心能力。
關(guān)鍵詞:計(jì)算思維;C程序設(shè)計(jì);MOOC;程序設(shè)計(jì)實(shí)踐
一、C程序設(shè)計(jì)的地位和現(xiàn)狀
(一)C程序設(shè)計(jì)語(yǔ)言的地位
C語(yǔ)言程序設(shè)計(jì)是一門面向過(guò)程的程序設(shè)計(jì)課程,主要包含變量、語(yǔ)句、控制流程、數(shù)組、指針、結(jié)構(gòu)體、函數(shù)等知識(shí)點(diǎn)內(nèi)容。C語(yǔ)言很好地支持結(jié)構(gòu)化程序設(shè)計(jì),也是面向?qū)ο笳Z(yǔ)言、數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。通過(guò)C程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí),學(xué)生掌握變量、控制流程語(yǔ)句、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體的相關(guān)基礎(chǔ)知識(shí),掌握程序模塊化編程的編程思想,具備利用計(jì)算機(jī)的思維方式分析問(wèn)題進(jìn)行數(shù)據(jù)表達(dá)和算法描述的能力、利用基本算法解決問(wèn)題的能力,具備工程設(shè)計(jì)和工程的調(diào)試分析能力,達(dá)到利用計(jì)算機(jī)求解復(fù)雜科學(xué)問(wèn)題的計(jì)算思維能力。
(二)C程序設(shè)計(jì)語(yǔ)言的教學(xué)現(xiàn)狀
(1)C語(yǔ)言教學(xué)中,學(xué)生剛從高中升入大學(xué),已有的學(xué)習(xí)模式與計(jì)算機(jī)思維的學(xué)習(xí)模式具有不一致性,記憶性的知識(shí)能夠?qū)W習(xí),但抽象思維和邏輯思維能力比較弱,即計(jì)算思維能力較差,導(dǎo)致對(duì)問(wèn)題的分析不透徹,編寫程序時(shí)不知道如何設(shè)置變量;不知道如何設(shè)計(jì)程序的結(jié)構(gòu);不知道什么時(shí)候定義函數(shù)、如何定義函數(shù);不知道函數(shù)的寫法和調(diào)用方式;不知道數(shù)據(jù)如何存儲(chǔ)、算法如何實(shí)現(xiàn)。學(xué)生缺乏這方面的引導(dǎo)和大量訓(xùn)練。
(2)語(yǔ)法規(guī)則是記憶性的知識(shí)點(diǎn),但許多教師在教學(xué)過(guò)程中會(huì)花費(fèi)大量的時(shí)間和精力講述,由于課時(shí)有限,當(dāng)課程結(jié)束時(shí),學(xué)生只是機(jī)械性地記住了這些知識(shí)點(diǎn)的規(guī)則,但不能真正掌握和理解如何運(yùn)用這些法規(guī)則,不能利用計(jì)算機(jī)解決實(shí)際問(wèn)題。高校教育沒能夠完成大學(xué)生與社會(huì)的接軌。大學(xué)的教育要擺脫以傳授知識(shí)為主,應(yīng)主要培養(yǎng)學(xué)生的主動(dòng)自學(xué)能力、抽象思維能力、理解應(yīng)用能力和實(shí)踐操作能力。
(3)傳統(tǒng)教學(xué)導(dǎo)致教學(xué)時(shí)間有限,無(wú)法保證有效的過(guò)程監(jiān)督機(jī)制。課前學(xué)習(xí)和課后總結(jié)測(cè)試是保證學(xué)習(xí)效果的重要途徑,在實(shí)際教學(xué)中,主要依靠學(xué)生自覺完成,教師不了解學(xué)生的學(xué)習(xí)狀態(tài)和學(xué)習(xí)效果。另外,高校在程序設(shè)計(jì)類課程中,缺乏資金投入,往往采用大班上課,評(píng)閱作業(yè)存在有效性和滯后性等問(wèn)題,而作業(yè)是教師掌握學(xué)生學(xué)習(xí)情況的重要途徑,導(dǎo)致教師不能全面掌握學(xué)生的真實(shí)學(xué)習(xí)效果,不能及時(shí)解決學(xué)生問(wèn)題。問(wèn)題積少成多,學(xué)生學(xué)習(xí)興趣受到挫敗。教師也無(wú)法通過(guò)有效的作業(yè)反饋調(diào)整上課內(nèi)容,改進(jìn)教學(xué)方法。
(4)英文語(yǔ)言基礎(chǔ)薄弱,遇到計(jì)算機(jī)語(yǔ)言的初學(xué)狀態(tài)導(dǎo)致學(xué)生看不懂錯(cuò)誤、理解不了錯(cuò)誤,并缺乏分析程序、跟蹤程序的能力,不會(huì)解決編譯時(shí)碰到的語(yǔ)法錯(cuò),更不能解決邏輯錯(cuò)誤。這與教學(xué)的時(shí)間投入、教學(xué)的方法,以及學(xué)生實(shí)踐經(jīng)驗(yàn)缺乏密切相關(guān)。學(xué)生需要提高閱讀程序的能力和調(diào)試程序的能力。
(5)C語(yǔ)言程序設(shè)計(jì)是一門應(yīng)用性、實(shí)踐性和現(xiàn)實(shí)性很強(qiáng)的課程,而課程教學(xué)過(guò)程中創(chuàng)新性內(nèi)容深度不夠,過(guò)多關(guān)注程序設(shè)計(jì)語(yǔ)言本身的訓(xùn)練和數(shù)據(jù)的簡(jiǎn)單呈現(xiàn),而忽視了整體性與綜合創(chuàng)新性思維培養(yǎng)。創(chuàng)新實(shí)踐教學(xué)的總體規(guī)劃、內(nèi)容設(shè)計(jì)等方面不合理,實(shí)踐教學(xué)效果差。
二、C程序設(shè)計(jì)的教學(xué)組織方法
(一)計(jì)算思維構(gòu)建C程序設(shè)計(jì)教學(xué)設(shè)計(jì)
計(jì)算思維是指以抽象化與自動(dòng)化為特征的一種思維。學(xué)生之所以不會(huì)寫程序,不知道怎么寫程序就是這種抽象化和自動(dòng)化能力不足的體現(xiàn)。通過(guò)計(jì)算思維能給運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì),將增強(qiáng)學(xué)生程序設(shè)計(jì)的能力。抽象指的是對(duì)求解問(wèn)題的一種描述,是對(duì)問(wèn)題的表達(dá)和推演。在C語(yǔ)言中,把實(shí)際問(wèn)題抽象成與其相應(yīng)的形式化數(shù)學(xué)模型,然后構(gòu)建數(shù)據(jù)結(jié)構(gòu),確定算法,最后編寫程序求解問(wèn)題。具體而言,抽象就是用變量、函數(shù)、數(shù)組等數(shù)據(jù)結(jié)構(gòu)和算法對(duì)需要解決的實(shí)際問(wèn)題進(jìn)行概括描述,抽象的過(guò)程實(shí)際上就是對(duì)實(shí)際問(wèn)題確立數(shù)學(xué)模型的過(guò)程。
自動(dòng)化就C語(yǔ)言而言,則是利用C語(yǔ)言的語(yǔ)法規(guī)則編寫語(yǔ)句,按照順序自動(dòng)執(zhí)行語(yǔ)句并進(jìn)行自動(dòng)轉(zhuǎn)換。運(yùn)用該框架,構(gòu)建數(shù)學(xué)模型、設(shè)計(jì)算法策略和數(shù)據(jù)結(jié)構(gòu),通過(guò)C語(yǔ)言實(shí)現(xiàn)問(wèn)題工程,學(xué)生通過(guò)不斷的計(jì)算思維訓(xùn)練和編程實(shí)踐,將有助于培養(yǎng)分析設(shè)計(jì)能力和工程設(shè)計(jì)能力,從而解決復(fù)雜工程問(wèn)題,達(dá)到新工科人才培養(yǎng)的目的。但是C語(yǔ)言程序設(shè)計(jì)是面向大一新生的課程,理解抽象和自動(dòng)化培養(yǎng)計(jì)算思維是比較困難的。需要在教學(xué)案例中針對(duì)實(shí)際的問(wèn)題反復(fù)采用計(jì)算思維方式來(lái)分析問(wèn)題,逐步培養(yǎng)使用C語(yǔ)言描述實(shí)際系統(tǒng)的思維。當(dāng)這一映射過(guò)程達(dá)到熟能生巧的地步,學(xué)生就學(xué)會(huì)了如何定義變量,如何選擇邏輯結(jié)構(gòu),如何合理組織算法,如何編程實(shí)現(xiàn)客觀世界到邏輯世界的映射。
在教學(xué)中貫穿計(jì)算思維能力訓(xùn)練,特別是在解決實(shí)際問(wèn)題時(shí)展現(xiàn)科學(xué)分析問(wèn)題過(guò)程,完成數(shù)學(xué)抽象,分析如何將數(shù)學(xué)模型映射為對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)和符合邏輯的算法設(shè)計(jì),展示編程與調(diào)試,以及生成可執(zhí)行的程序的過(guò)程,實(shí)現(xiàn)對(duì)計(jì)算思維的詮釋。這將保證學(xué)生的基礎(chǔ)知識(shí)、分析設(shè)計(jì)能力、工程設(shè)計(jì)能力的達(dá)成度。
(二)基于MOOC完成自構(gòu)建的過(guò)程監(jiān)督體系
建構(gòu)主義學(xué)習(xí)理論提倡在教師指導(dǎo)下的、以學(xué)習(xí)者為中心的學(xué)習(xí),從而培養(yǎng)學(xué)生的自我學(xué)習(xí)能力以適應(yīng)新工科人才的需要。MOOC平臺(tái)是實(shí)現(xiàn)建構(gòu)主義學(xué)習(xí)的有效平臺(tái),通過(guò)該平臺(tái),突出學(xué)習(xí)者的認(rèn)知主體地位,體現(xiàn)教師的指導(dǎo)、幫助和促進(jìn)作用,教師是整個(gè)學(xué)習(xí)過(guò)程中的組織者、幫助者和促進(jìn)者,實(shí)現(xiàn)從傳授者和灌輸者的轉(zhuǎn)變。
在該平臺(tái)中,教師將C程序設(shè)計(jì)中的基礎(chǔ)語(yǔ)法知識(shí)的相關(guān)內(nèi)容發(fā)布到平臺(tái)中,學(xué)生根據(jù)教師指令,以及自身情況提前在平臺(tái)中有選擇的完成相關(guān)基礎(chǔ)知識(shí)的自主學(xué)習(xí),在課堂教學(xué)中,根據(jù)學(xué)生的學(xué)習(xí)情況針對(duì)特定問(wèn)題進(jìn)行講解,節(jié)省了大量的課堂時(shí)間,教師可充分利用剩下的時(shí)間探討實(shí)際問(wèn)題的解決方案,將有充分的時(shí)間進(jìn)行計(jì)算思維、工程分析設(shè)計(jì)、工程規(guī)范、程序分析與調(diào)試方面的訓(xùn)練。
同時(shí),平臺(tái)具有記錄學(xué)生的學(xué)習(xí)痕跡的功能,將學(xué)生的學(xué)習(xí)時(shí)間、學(xué)習(xí)效果、學(xué)習(xí)程度等相關(guān)信息以統(tǒng)計(jì)的方式進(jìn)行呈現(xiàn),教師能及時(shí)發(fā)現(xiàn)學(xué)生的問(wèn)題,實(shí)現(xiàn)快速反饋和分層指導(dǎo),實(shí)現(xiàn)過(guò)程監(jiān)督的有效性。同時(shí)將學(xué)習(xí)過(guò)程納入考試成績(jī),可有助于提升學(xué)生對(duì)過(guò)程學(xué)習(xí)的重視程度,保證學(xué)習(xí)效果,排除期末臨時(shí)死記硬背應(yīng)付考試的情況。
(三)層層遞進(jìn)實(shí)現(xiàn)知識(shí)內(nèi)化的工程設(shè)計(jì)能力
學(xué)生在構(gòu)建C語(yǔ)言知識(shí)體系時(shí),可通過(guò)MOOC線上平臺(tái)完成基礎(chǔ)知識(shí)體系的構(gòu)建,形成C語(yǔ)言的關(guān)鍵字、規(guī)則、規(guī)范的識(shí)記。在線下,在課堂活動(dòng)中,通過(guò)計(jì)算思維訓(xùn)練形成分析、設(shè)計(jì)、實(shí)現(xiàn)實(shí)際問(wèn)題的求解,在求解過(guò)程中,教師融入工程設(shè)計(jì)的一些理念、框架培養(yǎng)工程設(shè)計(jì)能力。
通過(guò)以上兩步基本完成學(xué)生自我能力和工程設(shè)計(jì)能力的培養(yǎng),除此之外,還需培養(yǎng)學(xué)生的創(chuàng)新、創(chuàng)造能力,教師在教學(xué)設(shè)計(jì)中,需要構(gòu)造合適的教學(xué)案例實(shí)現(xiàn)學(xué)生知識(shí)內(nèi)化,通過(guò)層層深入完成高階思維的建立。高階思維的建立過(guò)程實(shí)際上是各部分知識(shí)的由點(diǎn)、線、面、網(wǎng)的組合過(guò)程,實(shí)現(xiàn)對(duì)問(wèn)題求解的簡(jiǎn)單到復(fù)雜的,實(shí)現(xiàn)解決方案的精益求精。
程序設(shè)計(jì)的學(xué)習(xí)從模仿開始,但在知識(shí)學(xué)習(xí)的積累過(guò)程中,要逐漸培養(yǎng)自己的思維邏輯,教師要積極引導(dǎo)學(xué)生進(jìn)行思維訓(xùn)練,鼓勵(lì)學(xué)生拓展思路,積極探索,采用不同方式實(shí)現(xiàn)一題多解,尋求更健壯、更容易維護(hù)的算法。實(shí)現(xiàn)知識(shí)內(nèi)化到高階思維的轉(zhuǎn)變。
三、程序設(shè)計(jì)實(shí)踐探討
針對(duì)C語(yǔ)言程序設(shè)計(jì),實(shí)踐是提升分析問(wèn)題、解決問(wèn)題的唯一途徑。只有在實(shí)踐過(guò)程中才能發(fā)現(xiàn)問(wèn)題,才能找出自身的不足。
對(duì)于實(shí)踐的考核,一直以來(lái)是一個(gè)比較困難的問(wèn)題,實(shí)踐過(guò)程存在抄襲的問(wèn)題,如何判斷是否抄襲,如何阻止這一現(xiàn)象發(fā)生的最好方式就是實(shí)施過(guò)程監(jiān)督,過(guò)程監(jiān)督的載體就是實(shí)踐筆記,筆記中記錄實(shí)踐中遇到的問(wèn)題,以及解決這類問(wèn)題的方法,對(duì)實(shí)踐過(guò)程進(jìn)行歸納和總結(jié),并進(jìn)行反思。每個(gè)學(xué)生遇到的問(wèn)題和解決方案是不一樣的,容易發(fā)現(xiàn)抄襲的學(xué)生。同時(shí),實(shí)踐過(guò)程中形成的讀書筆記,將是一份寶貴的財(cái)富,歸納總結(jié)將加速學(xué)習(xí)的進(jìn)步與提高。
四、結(jié)論
為滿足人工智能引導(dǎo)下的“新工科”人才培養(yǎng)需求,將計(jì)算思維融入課程教學(xué)中,可使學(xué)生發(fā)散、模糊、混亂的程序設(shè)計(jì)思維清晰化、規(guī)范化;通過(guò)課程的實(shí)踐環(huán)節(jié)訓(xùn)練能夠有效培養(yǎng)學(xué)生的計(jì)算思維、建立程序設(shè)計(jì)編程思想和編程規(guī)范和框架;并基于工程思想解決實(shí)際問(wèn)題。并結(jié)合MOOC平臺(tái)提高學(xué)生自我學(xué)習(xí)的能力,并為教師提供了更為充分的時(shí)間開展計(jì)算思維和內(nèi)化教學(xué)設(shè)計(jì),培養(yǎng)學(xué)生的分析設(shè)計(jì)能力和工程能力。
參考文獻(xiàn):
[1]教育部高教司.新工科建設(shè)指南(“北京指南”)[J].高等工程教育研究,2017(04):20-21.
[2]趙廣輝.面向新工科的Python程序設(shè)計(jì)交叉融合案例教學(xué)[J].計(jì)算機(jī)教育,2017(08):23-27.