程序設(shè)計類課程是大學本科網(wǎng)絡(luò)空間安全和計算機等相關(guān)專業(yè)基礎(chǔ)課程或者核心課程,具備強烈的實踐性和應(yīng)用性[1]。此類課程要求學生通過實踐性教學,掌握編程語言知識和編程技術(shù),掌握程序設(shè)計的思想和方法,擁有利用編程語言解決實際問題的能力。微軟公司首席法務(wù)官Brad Smith已經(jīng)把計算機科學提升到國家戰(zhàn)略的高度,并呼吁制定更具競爭力的教育策略[2]。國務(wù)院《關(guān)于印發(fā)“十三五”國家科技創(chuàng)新規(guī)劃的通知》明確指出,“要面向云計算、大數(shù)據(jù)等新需求開展操作系統(tǒng)等關(guān)鍵基礎(chǔ)軟硬件研發(fā),扭轉(zhuǎn)我國基礎(chǔ)信息產(chǎn)品在自主保障等方面的被動局面”[3]。為“踐行國家戰(zhàn)略,助力創(chuàng)新創(chuàng)業(yè)”,“張江杯”“百度之星”“華為軟件精英挑戰(zhàn)賽”等相關(guān)程序設(shè)計大賽也蓬勃展開。因此,圍繞國家戰(zhàn)略和《教育部2018年工作要點》的精神和要求,積極探索程序設(shè)計類課程實踐教學的新思路,促進軟件開發(fā)人才的培養(yǎng)尤為必要。
程序設(shè)計類課程實踐教學是培養(yǎng)學生實踐能力、動手能力、綜合能力的主要手段,是全面提升學生綜合素質(zhì)的必要措施。然而,程序類課程傳統(tǒng)實踐教學實例與實際工程應(yīng)用聯(lián)系松散,實驗平臺功能單一、關(guān)聯(lián)不夠緊密,使得學生學習過程中只見點,不見面,沒有整體布局和視角,且不能很好地融會貫通各個子學習模塊。為此,如何以平臺為支撐,實踐為導向,結(jié)合學生實際,個性化設(shè)計實踐教學環(huán)節(jié),開展交互式云端教學具要重要意義。
由于程序設(shè)計的復(fù)雜性和平臺資源的有限性,使得程序設(shè)計類課程實踐教學在實際教學過程中常面臨以下困難[4-5]。
1.編程訓練偏少,理論和實際難以結(jié)合。程序設(shè)計類課程通常是計算機相關(guān)專業(yè)的專業(yè)必修課或選修課,包括理論教學和實驗教學兩個部分,其中,理論教學學時一般占總學時的大部分。例如,總學時為32學時,其中理論教學24學時,實驗8學時。相關(guān)程序設(shè)計類課程學時分配如表1所示。然而,程序設(shè)計課程實踐性極強,學生通常沒有充分的時間對所學知識點進行理解和消化。學生編程訓練偏少,理論和實際難以結(jié)合。
表1 程序設(shè)計類課程學時分配
2.實驗室資源有限,實驗內(nèi)容偏少。高校實驗室是教學科研活動和大學生人才培養(yǎng)的基地,是鍛煉學生實踐能力的重要場所。然而,實驗室程序設(shè)計類實驗內(nèi)容較為分散,關(guān)聯(lián)松散。實驗室功能單一,且實驗內(nèi)容偏少。上述問題不僅導致實驗室資源浪費,而且不利于學生實踐能力的培養(yǎng)。
3.編程上手困難,學生存在畏懼心理。程序設(shè)計語言是一種計算機編程語言,其實質(zhì)是一組記號和一組規(guī)則,需要學生利用邏輯思維去解決某個問題。然而,學生常缺乏動手編程的信心,感覺編程上手困難,不知如何入手、如何分析和解決實際問題。最終,使得學生對其存在畏懼心理。
4.書本文字單一,學生感覺枯燥。程序設(shè)計類課程書本文字單一,實驗過程不詳細。書本不能為學生提供色彩豐富、內(nèi)容翔實的實驗指導。在實驗過程中,單一的書本內(nèi)容導致學生學習效率低,感覺枯燥,不能很好地完成實驗內(nèi)容。
筆者針對程序設(shè)計類課程實踐教學的實際情況,基于“在線平臺+實踐驅(qū)動”模式,對程序設(shè)計類課程實踐教學方式進行了設(shè)計,如圖1所示。首先,學生通過課堂理論的學習,熟練掌握程序設(shè)計語言的理論知識,為后面實踐編程打下良好基礎(chǔ)。其次,學生根據(jù)教學安排和個人的學習情況,個性化設(shè)置系統(tǒng)功能,包括系統(tǒng)操作界面設(shè)置和實驗內(nèi)容設(shè)置。然后,以實踐驅(qū)動為導向,學生自主學習和實驗開發(fā),通過平臺完成學生學習的全過程跟蹤。最后,實時線上線下和同學、老師互動交流,完成輔導,引導創(chuàng)新。
基于“在線平臺+實踐驅(qū)動”的程序設(shè)計類課程實踐教學模式,從在線平臺和實踐驅(qū)動兩個方面入手,即以平臺為支撐,實踐為導向,強調(diào)學生的主觀能動性。結(jié)合學生實際,個性化設(shè)計實踐教學環(huán)節(jié),開展交互式云端教學。
圖1 新模式下的實驗方案示意圖
1.結(jié)合在線實驗平臺,優(yōu)化實驗資源。在當今信息時代,在線程序設(shè)計類實驗平臺不同于傳統(tǒng)的純實驗室教學,前者擁有更大的內(nèi)容拓展空間,提供更好的互操作性和用戶體驗。如商業(yè)化的動手做實驗,輕松學IT的實驗樓,為用戶提供了一個集線上討論、學習、實驗于一體的在線學習平臺。同時,也有免費的輔助程序設(shè)計課程教學的在線代碼判題系統(tǒng)We?Judge,他擁有強大的在線教學管理,正規(guī)的程序類競賽和多樣化的判題技術(shù),致力于打造更好的程序教學輔助系統(tǒng)。
圖2 新模式下的在線實驗界面
在線平臺不受時間、實驗內(nèi)容和場地的限制,并可對實驗環(huán)境進行隔離,讓學生并行操作實驗。更重要的是,我們可以根據(jù)學生學習的實際情況,靈活設(shè)置實驗內(nèi)容,充分契合學生的學習興趣和進度。例如,Java語言基本語法中關(guān)鍵字、標識符、注釋等相關(guān)知識的實驗,其在線實驗界面如圖2所示。通過平臺,學生可以一邊學習、一邊操作、一邊交流,完成多方位的實驗學習。在線平臺將有限的實驗室物理空間,擴展到無線的網(wǎng)絡(luò)空間,為學生提供了一種線上可交流互動,線下可請教指導的交互式云端教學。
2.以學生為主體,教師為主導,實踐為導向?!秶抑虚L期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)》明確指出“要以學生為主體,教師為主導,充分發(fā)揮學生的主動性”。在程序設(shè)計類課程中,我們著重強調(diào)“以學生為主體,教師為主導,實踐為導向”。教師的引導為外因,學生的學習為內(nèi)因,其中,工程實踐是聯(lián)系教師與學生關(guān)系的核心紐帶。教師通過線上平臺為學生提供充分的工程實踐引導,激發(fā)學生的學習興趣,使得學生從被動的實驗主體,轉(zhuǎn)變?yōu)橹R的主動探索者,充分調(diào)動學生的主觀能動性,培養(yǎng)學生勇于探索和學習的精神。
基于實踐驅(qū)動的程序設(shè)計類課程實踐教學方式能夠在學習內(nèi)容方面為學生提供更多好的選擇[6]。一方面,學生可以結(jié)合自己的興趣愛好和學習進度,通過發(fā)現(xiàn)和提出自己感興趣和關(guān)心的現(xiàn)實問題,合理安排自主的個性化學習。興趣是一個人力求認識和趨向某種客體的積極態(tài)度的個性傾向[7]。我們常說,興趣是學生最好的老師,通過興趣助力學生的實踐學習,兩者相輔相成。另一方面,基于實踐驅(qū)動的教學,使得更多問題來源于具體實踐與現(xiàn)實應(yīng)用,讓學生在實踐與應(yīng)用中發(fā)現(xiàn)問題、分析問題、解決問題,為學生提供良好的實驗環(huán)境(包括線上環(huán)境和線下環(huán)境),培養(yǎng)學生思考、實踐、創(chuàng)新等綜合能力。
總之,“在線平臺+實踐驅(qū)動”的實踐教學模式,為程序設(shè)計類課程的實踐教學提供了新的思路。利用信息時代下交互式云端平臺,從實踐教學實際出發(fā),結(jié)合個性化實踐教學內(nèi)容設(shè)計,充分調(diào)動學生主觀能動性,最終培養(yǎng)合格的軟件開發(fā)人才。