


摘要:本文旨在探索工程化教學對編程實踐和應用能力的提升作用和方法。方法:使用了第三方開源硬件作為工程化教學的輔助手段。通過項目設計與實踐提高初學者對編程語言基本知識點的理解進而提升綜合應用能力,真正將所學轉化為能力。結果:根據文中列舉的知識點做比較項統計掌握度對比結果,分為課程前自測、實測、課程結束后的項目評定三個階段,通過三階段的比較得到工程化教學對編程應用能力提升的效果數據。結論:提升編程應用能力是非常重要的教學目標,提高學生實踐、學科競賽、創新的能力,并契合新工科教學改革目標,培養符合行業與社會需求的復合型專業人才。
關鍵詞:工程化教學;程序設計;編程語言;設計應用
前言
國家對于“新工科”的大力支持與推進是深化應用型人才培養的堅實后盾和方向指引,鼓勵創新工程教育方式與手段,探索新的實踐教學體系和結構。對于計算機專業學生來說程序設計應用能力是學生是否真正掌握“編程”這一技能的重要指標,決定了學生在適應社會需求與崗位能力所需的程度。如何能使教學適應社會需求以及讓學生“編程”能力真正得到提升及達到崗位能力所需是計算機類學科在教學中必須重點關注和解決的問題。
一、程序設計教學問題與現狀
計算機學科基本上由數學和機械學科衍生而來,最大特征就是能不能做出來,這個方法(算法或設計)效率有多高。程序設計在計算機學科中又處在基礎和關鍵環節,最大的特點是需要實踐才能掌握知識點,實踐能力也是用人單位考量學習者能力最重要的方面。
對于計算機學科來說知識是相關聯的,從教學目標到各級各階段教學任務,從某級某階段知識點開始逐步加深對相關課程的理解。某個知識點是懂與不懂的問題,但是具體到實踐就是懂多少的問題(延伸如完成相同任務,解決方法數量與質量是與實踐能力成正比的),隨著知識應用廣度與深度的差別,工程化教學與普通教學將形成知識層面的“馬太效應”差距會成倍增長。
(一)國內外現狀
計算機學科的工程化借鑒了傳統工科標準化、工藝化、模塊化、平臺化的特點,旨在解決如何明確學習目的,提升學習興趣這類編程語言教學中的難點。國外工科學校對于創新教學方法的研究層出不窮,蒙特雷技術學院試圖通過腦電圖信號識別及互動式的教學方法來改善較難課程的教學動態[1]。林克平大學工科教育采用CDIO模式應用在自動控制學科及工程教育中,CDIO教學做一體化的教學模式對工科學校教學具有顯著作用[2]。
國內學校對于如何提升學生的計算機應用能力也有諸多的探索,程序語言教學中的諸多問題如代碼規范遵守、調試程序的能力[3]、團隊協作的能力等等已經作為教學的重要目標。無論一周一個small projiect,每周上機測試,使用UCB查重,互測制度等,還是設計幾個huge project,每個project開始看上去難度都很高,通過長期實踐來最終完成。各種方式的目的都是強化實踐教學,最終可以極大地提升學生程序設計應用能力。
(二)問題與改進方案
傳統教學中課堂上大都采用分散的基礎知識點講解,使用各自的案例進行解釋和運用,但如何整合這些知識點的方法也大都采用同一個貫穿項目來解決,使得考核方式單一,考核結果雷同,不能體現知識點實際掌握水平。對于這種情況當然可以采用Version Contral工具等來制約,了解項目組渾水摸魚的情況。但抹殺了學生的主觀能動性,學生一門課下來沒寫幾行代碼,更不能讓學生主動系統地理解知識點之間的關聯,真正體現能力的所學有所用沒有合適的方式來實現。本文所述工程化教學方式可以在一定程度上修正傳統教學方式的弊端及提升學生的實踐應用能力。
二、工程化教學的理念與意義
知識工程化的概念出自19世紀泰勒的三個著名的科學管理實驗。其采用實驗方法研究管理問題,開創實證式管理研究先河,其科學地劃分工作元素的理念對計算機學科的工程化教學有著極高的理論指導意義。
(一)工程化教學可以提供科學的學習曲線,具體到編程語言教學中編程語言本身有著自身的特點和結構層次,理解和掌握基礎知識點可以依照如下順序:
編程語言基礎知識點結構:
數據抽象→→表達式表達邏輯與運算→→循環和分支結構控制邏輯與運算→→單個功能封裝成函數→→函數調用與庫的定義
對于基礎知識點按照以上順序結合工程化教學,輔助使用硬件工具,根據項目要求中特定的硬件反饋和功能實現來解釋和幫助理解。從而基礎概念和知識點可以很好地轉化為實際應用能力。在打好基礎后對諸如對象、繼承、抽象數據、狀態儲存、狀態和行為的統一封裝等進階知識點的理解將更清晰和深入。
(二) 工程化教學可以提供合理的教學規劃,教學目標必須是一個有明確目的、過程、并經過驗證的計劃,不能是無法預測結果的嘗試。工程化教學的第一步是制定多個可行的學習目標或任務,第二步是幫助學生制定學習路徑并了解目前所處位置及前進方向,第三步是將完成目標或任務的知識點按學習路徑融入課程和教學計劃,第四步是以完成目標或任務的程度作為學業考核的標準。
(三)工程化教學可以提升學生學習熱情,學生在學習之初大都抱有較高的求知欲,如何保持及提升這種主觀能動性是關鍵,工程化教學的優勢在于能夠提供給學生在教學知識框架內自由發揮的空間并且能夠將分散的知識點融合在項目中,將枯燥的概念轉變為必須使用的工具。使得長時間學習產生厭煩情緒轉變為完成項目滿足成功感的動力。
三、工程化教學與程序設計能力提升教學方式探索
(一) 教學方法設計
本次實踐的班級為4個共183名學生,課程包含《新工科試驗》《工程認知與創新素質培養》兩門課。采用美科公司的mcookie開源硬件套件作為輔助,套件使用c和c++作為編程語言。為了更加接近培養計劃及更有針對性,本次實踐的學生都具有c語言基礎并不要求通過期末考試。首先以問卷與問答方式設計調查統計內容如下表,并在課程結束后再次采集相同選項數據作為工程化教學的效果對比,選項都與課程知識點相關。、
每個選項有3個分值,每個分值0-10分,分別對應學生自評,課前評測,課后評測。學生自評主要了解學生在傳統教學后的自我能力評價,課前評測評價學生真正的應用能力,采用問答、試卷、工程能力等多種方式。課后評測是在工程化教學之后進行,檢驗學生在工程化教學之后對選項知識點的掌握程度。
通過三個分值的統計比較,將會得到工程化教學與傳統教學對知識點掌握程度的差異數據。在課程中鼓勵學生發現問題,解決問題。在解決問題的過程中對知識點進行梳理和講解。
(二) 教學效果比較方案與結果分析
一個學期課程結束后各項分值統計如下:
知識點掌握人數
知識點分項 按學生填表和字數統計(工程化教學前) 實測(工程化教學前) 課程結束依據項目評定統計(工程化教學后) 增長率((教學后-實測)/實測)%
通過增長率統計可以看出,經過一學期的工程化教學實踐,學生的應用能力得到明顯地提升,原本散亂的知識點歸納到有序的知識框架中并得到了項目應用鍛煉。各項知識點在實際應用環境中得以聯結,項目的完成也對學生的學習自信心起到了極大的鼓舞作用。
四、結語
工程化教學區別于傳統教學在于不是死記硬背,而是理論聯系實際,看得見的成果和能力的體現。項目壓力與實踐過程奠定了編寫代碼的能力,通過。。。是學生掌握和理解項目流程、架構、軟件工程所涉及的方方面面等等書本上的知識很好的途徑,并在學習過程中保持學習熱情,理論和實踐的緊密聯系能引發強烈的求知欲,引發求知欲是教學的重要目的,亦是工程化教學的初衷。
[1]Ricardo Zavala Yoé,? Ricardo A. Ramírez Mendoza.International Journal on Interactive Design and Manufacturing (IJIDeM), 2019, Vol.13 (4), pp.1353-1365
[2]Svante Gunnarsson. Automatic Control Education in a CDIO Perspective[J]. IFAC PapersOnLine,2017,50(1).
[3]高赟,張驥先,孔兵,張學杰.C語言程序設計課程中應用能力的培養[J].計算機時代,2017(08):61-63.
作者簡介:
季萌(1973.7-),男,漢,籍貫:江蘇南通;助教,碩士;單位:上海杉達學院? 研究方向:數據工程