劉忠民 陳英 段喜龍 鄭巍
基金項(xiàng)目:國家自然科學(xué)基金地區(qū)項(xiàng)目“基于全局交互網(wǎng)絡(luò)的大學(xué)生利他協(xié)作學(xué)習(xí)模式研究”(61867004);全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會項(xiàng)目“基于建構(gòu)主義的數(shù)據(jù)結(jié)構(gòu)理論課堂教學(xué)研究”(2019-AFCEC-275);江西省高校教改課題“《數(shù)據(jù)結(jié)構(gòu)》課程實(shí)驗(yàn)差異化教學(xué)的研究和實(shí)踐”(JXJG-14-8-12)
第一作者簡介:劉忠民(1968-),男,漢族,江西南昌人,碩士,副教授。研究方向?yàn)橛?jì)算機(jī)基礎(chǔ)課程教學(xué)和網(wǎng)絡(luò)信息安全。
DOI:10.19980/j.CN23-1593/G4.2024.06.034
摘? 要:數(shù)據(jù)結(jié)構(gòu)存在前修課程基礎(chǔ)不扎實(shí)、學(xué)生實(shí)驗(yàn)課前準(zhǔn)備不充分和實(shí)驗(yàn)結(jié)果考核困難的問題。該文總結(jié)夯實(shí)基礎(chǔ)、任務(wù)驅(qū)動(dòng)、全員考核、強(qiáng)化訓(xùn)練“四位一體”的實(shí)驗(yàn)教學(xué)改革。從理論課堂彌補(bǔ)學(xué)生編程短板入手,結(jié)合任務(wù)驅(qū)動(dòng)教學(xué)方法,明確布置實(shí)驗(yàn)編碼任務(wù),要求實(shí)驗(yàn)課前學(xué)生必須完成并提交實(shí)驗(yàn)代碼,在實(shí)驗(yàn)課堂采用覆蓋每個(gè)學(xué)生并要求重寫核心算法代碼的考核方法,分批次考核學(xué)生實(shí)驗(yàn)結(jié)果,并借助PTA平臺對學(xué)生進(jìn)一步強(qiáng)化訓(xùn)練。實(shí)踐表明,該教學(xué)改革措施有利于促進(jìn)學(xué)生的自主學(xué)習(xí),不僅達(dá)成比較好的學(xué)習(xí)效果,而且有助于培養(yǎng)學(xué)生的綜合能力。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);實(shí)驗(yàn)教學(xué);自主學(xué)習(xí);建構(gòu)主義;任務(wù)驅(qū)動(dòng)
中圖分類號:G642.0? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ? ? 文章編號:2096-000X(2024)06-0144-05
Abstract: The data structure course faces issues such as students having an unstable foundation from prerequisite courses, insufficient preparation before experimental classes, and difficulties in assessing experimental results. This paper summarizes the "four-in-one" experimental teaching reform of solidifying the foundation, task-driven, full-staff assessment, and intensive training. Starting from compensating for students' programming weaknesses in theoretical classes, combined with task-driven teaching methods, clear coding tasks are assigned for experiments. Students are required to complete and submit experiment codes before the lab class. In the experimental class, an assessment method that covers each student and requires rewriting of core algorithm codes is adopted. Students' experiment results are assessed in batches, and further intensive training is provided to students through the PTA platform. Practice has shown that this teaching reform measure is conducive to promoting students' self-learning. It not only achieves relatively good learning results but also helps cultivate students' comprehensive abilities.
Keywords: data structure; experiment teaching; self-regulated learning; constructivism; task driven
數(shù)據(jù)結(jié)構(gòu)課程是軟件工程等專業(yè)的一門重要的學(xué)科核心基礎(chǔ)課,是數(shù)據(jù)庫原理、操作系統(tǒng)和算法設(shè)計(jì)與分析等課程的重要基礎(chǔ)。該課程理論與實(shí)踐并重,承載著培養(yǎng)學(xué)生的計(jì)算機(jī)程序設(shè)計(jì)能力和計(jì)算思維能力的重任,對學(xué)生的后續(xù)專業(yè)學(xué)習(xí)帶來重大影響。傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)面臨很多困境,在工程教育專業(yè)認(rèn)證背景下,如何貫徹“以學(xué)生為中心,以產(chǎn)出為導(dǎo)向,持續(xù)改進(jìn)”的教育理念,有效利用各種教學(xué)資源,提高課程教學(xué)效果,培養(yǎng)具有實(shí)踐能力的應(yīng)用型人才,是當(dāng)下需要不斷改革探索并深入研究的重要課題。
一? 數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)困境
(一)? 前修課程基礎(chǔ)不扎實(shí)
程序設(shè)計(jì)基礎(chǔ)是數(shù)據(jù)結(jié)構(gòu)課程最主要的前修課程,由于大班授課、學(xué)時(shí)有限、學(xué)生自主性差和實(shí)踐不足等原因,學(xué)生的C語言編程基礎(chǔ)普遍不太扎實(shí),而數(shù)據(jù)結(jié)構(gòu)課程的理論和算法都需要借助于類C語言來進(jìn)行描述、講解和實(shí)現(xiàn)。再加上程序設(shè)計(jì)基礎(chǔ)課程教學(xué)側(cè)重語法知識,后續(xù)指針、結(jié)構(gòu)體及其應(yīng)用等介紹不多,而這些內(nèi)容卻是數(shù)據(jù)結(jié)構(gòu)課程中要用到的主要知識。這樣造成學(xué)習(xí)前后銜接不夠,基礎(chǔ)不扎實(shí),這直接增加了學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的難度,學(xué)生在學(xué)習(xí)中壓力太大,難以產(chǎn)生興趣,學(xué)習(xí)的深度和廣度達(dá)不到基本要求,是造成學(xué)生無法做到學(xué)以致用的原因之一[1-2]。
(二)? 學(xué)生實(shí)驗(yàn)課前準(zhǔn)備不充分
在一般實(shí)驗(yàn)教學(xué)中,教師根據(jù)課程進(jìn)度將實(shí)驗(yàn)任務(wù)布置給學(xué)生,學(xué)生按任務(wù)要求課下準(zhǔn)備實(shí)驗(yàn),上實(shí)驗(yàn)課時(shí)教師檢查學(xué)生實(shí)驗(yàn)完成的情況并給予評分。整個(gè)過程表面上并沒有什么不妥,現(xiàn)實(shí)的結(jié)果讓任課教師很無奈,很多學(xué)生往往實(shí)驗(yàn)課前準(zhǔn)備不足,結(jié)果導(dǎo)致實(shí)驗(yàn)課時(shí)完不成實(shí)驗(yàn)任務(wù),無法接受檢查,少數(shù)學(xué)生會選擇抄襲期望蒙混過關(guān)。
(三)? 實(shí)驗(yàn)考核困難
數(shù)據(jù)結(jié)構(gòu)的實(shí)驗(yàn)考核包括實(shí)驗(yàn)結(jié)果考核和實(shí)驗(yàn)報(bào)告兩部分,其中實(shí)驗(yàn)報(bào)告部分相對好辦,制定好評分標(biāo)準(zhǔn)對報(bào)告進(jìn)行評分即可。而實(shí)驗(yàn)結(jié)果的考核卻困難得多,不能只看程序運(yùn)行結(jié)果是否正確,需要通過對代碼和算法提問來確定是否自主完成實(shí)驗(yàn),而這不僅判斷困難而且費(fèi)時(shí)費(fèi)力。為了準(zhǔn)確判斷,教師需要針對代碼和算法各至少要問2~3個(gè)問題,學(xué)生回答問題再加上交流,檢查一個(gè)學(xué)生短的耗時(shí)2~3 min,時(shí)間長的需要4~5 min,如果一個(gè)班30多個(gè)學(xué)生都接受檢查實(shí)驗(yàn)課上根本檢查不完,而且由于檢查的時(shí)間緊任務(wù)重,檢查的結(jié)果也未必準(zhǔn)確,教師兩節(jié)課下來容易身心俱疲。
最終教師為了防止魚目混珠,保證實(shí)驗(yàn)評分的準(zhǔn)確性,往往會選擇增大檢查難度,單個(gè)學(xué)生的檢查會耗費(fèi)更長的時(shí)間,檢查無法覆蓋到每個(gè)學(xué)生。最終不少學(xué)生實(shí)驗(yàn)課只是為了出勤,獲得一個(gè)基本分,實(shí)驗(yàn)課時(shí)不認(rèn)真去完成實(shí)驗(yàn)并思考和動(dòng)手解決遇到的問題,實(shí)驗(yàn)變成了走過場和拼湊報(bào)告。
二? 促進(jìn)自主學(xué)習(xí)的“四位一體”教學(xué)改革
自主學(xué)習(xí)是指學(xué)習(xí)者在一定程度上從認(rèn)知、動(dòng)機(jī)和行為方面積極主動(dòng)地參與自己學(xué)習(xí)活動(dòng)的過程,其核心是學(xué)生積極主動(dòng)控制、調(diào)節(jié)自己的學(xué)習(xí)[3]。自主學(xué)習(xí)理論在課程教學(xué)中已經(jīng)多有應(yīng)用[4-7],本文描述的實(shí)驗(yàn)教學(xué)改革主要依據(jù)自主學(xué)習(xí)理論以及由此衍生的建構(gòu)主義理論,構(gòu)建了如圖1所示的夯實(shí)基礎(chǔ)、任務(wù)驅(qū)動(dòng)、全員考核、強(qiáng)化訓(xùn)練“四位一體”的實(shí)驗(yàn)教學(xué)體系。教學(xué)實(shí)踐中結(jié)合理論課堂盡量彌補(bǔ)學(xué)生的編程短板,夯實(shí)學(xué)生自主學(xué)習(xí)基礎(chǔ);理論課后馬上布置一些微實(shí)驗(yàn)任務(wù)要求學(xué)生完成并落到實(shí)處,而在實(shí)驗(yàn)課前明確布置編寫實(shí)驗(yàn)代碼的作業(yè)任務(wù),通過任務(wù)驅(qū)動(dòng)學(xué)生自主學(xué)習(xí);采用覆蓋全體學(xué)生的實(shí)驗(yàn)考核方法,通過嚴(yán)格考核起到督促學(xué)生自主學(xué)習(xí)的目的;結(jié)合線上資源進(jìn)一步對學(xué)生進(jìn)行強(qiáng)化訓(xùn)練,通過給予評分晉級的舉措激勵(lì)學(xué)生自主學(xué)習(xí)。
圖1? 數(shù)據(jù)結(jié)構(gòu)“四位一體”實(shí)驗(yàn)教學(xué)體系
改革舉措盡可能引導(dǎo)學(xué)生采用馬上應(yīng)用、做中學(xué)等如圖2所示的學(xué)習(xí)金字塔理論[1]中更底層的學(xué)習(xí)方式,這些更底層的學(xué)習(xí)方式能達(dá)到更好的知識識記效果,有利于學(xué)生達(dá)到更有效的知識建構(gòu)吸收目的。
圖2? 學(xué)習(xí)金字塔理論
(一)? 理論課堂注重夯實(shí)學(xué)生編程基礎(chǔ)
高質(zhì)量的理論教學(xué)有助于實(shí)驗(yàn)教學(xué)的良好開展,在理論課堂注重去彌補(bǔ)學(xué)生前修課程基礎(chǔ)不扎實(shí)問題,這樣做是必要的也是相對容易把控的。但如果不能清醒地認(rèn)識到這一點(diǎn),只關(guān)注學(xué)生對數(shù)據(jù)結(jié)構(gòu)知識本身的掌握,結(jié)果只能是事倍功半。
最初采用過設(shè)立預(yù)備實(shí)驗(yàn)的辦法來彌補(bǔ)學(xué)生的編程短板,編寫了包括函數(shù)、指針和結(jié)構(gòu)體三個(gè)實(shí)驗(yàn)項(xiàng)目的預(yù)備實(shí)驗(yàn)指導(dǎo)書,指導(dǎo)書包含較多的導(dǎo)學(xué)內(nèi)容,要求學(xué)有困難型的學(xué)生必須參加,其他層次學(xué)生根據(jù)自身的情況選擇參加[8]。實(shí)踐發(fā)現(xiàn)學(xué)生參與意愿不夠強(qiáng),需要教師額外投入比較多的時(shí)間精力,成效不容易掌控。
依據(jù)建構(gòu)主義理論,課堂上講解到學(xué)生沒掌握好的編程知識時(shí),通過恰當(dāng)?shù)难菔痉绞奖M力構(gòu)建有效的學(xué)習(xí)情境,用課堂作業(yè)和課后微實(shí)驗(yàn)等任務(wù)驅(qū)動(dòng)的辦法引導(dǎo)學(xué)生在課內(nèi)課后及時(shí)動(dòng)手演練,促使學(xué)生主動(dòng)建構(gòu)、內(nèi)化吸收知識。其中微實(shí)驗(yàn)是指給學(xué)生布置一些針對特定編程知識的實(shí)驗(yàn)任務(wù),這樣的實(shí)驗(yàn)任務(wù)牽涉面少,工作量相對較小,從多方面來說都容易見成效。主要做法如下。
1)講解到線性表的順序存儲結(jié)構(gòu)和算法時(shí),學(xué)生對存儲結(jié)構(gòu)中的“ElemType *elem;”及算法中的“*(p+1)=*p;”等部分最不容易理解。在課堂馬上編寫一個(gè)簡單的C語言程序給學(xué)生演示這些語句達(dá)到的效果,這很容易做到,花的時(shí)間也少,但卻能為學(xué)生構(gòu)建這些編程知識的較好學(xué)習(xí)情境;課后再布置一個(gè)微實(shí)驗(yàn)任務(wù)讓學(xué)生模仿教師做一次,并要求學(xué)生將實(shí)驗(yàn)結(jié)果截圖發(fā)到教學(xué)用QQ群,這樣要求比較有效,不斷有實(shí)驗(yàn)結(jié)果發(fā)到群中對未完成實(shí)驗(yàn)的學(xué)生有很好的督促作用,否則的話學(xué)生容易忽略這個(gè)任務(wù)。
2)講解到線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)時(shí),學(xué)生對結(jié)構(gòu)體定義大都不太熟悉,課堂直接通過電腦演示兩種結(jié)構(gòu)體的定義方式:先定義結(jié)構(gòu)體,再利用結(jié)構(gòu)體定義需要的結(jié)構(gòu)體類型和指向結(jié)構(gòu)體的指針類型;直接通過結(jié)構(gòu)體定義出需要的類型。讓學(xué)生直觀發(fā)現(xiàn)兩種定義方式實(shí)際上是等價(jià)的,能達(dá)到更好的解惑效果。
3)講解鏈表操作時(shí)的處理比較有迷惑性,教學(xué)實(shí)踐中使用過編程演示方法但效果并不好,也許對大多數(shù)學(xué)生來說鏈表操作知識欠缺太多、難度太大,編程演示并不能帶來直接、清晰的觀感,反而會有霧里看花的感覺。更有效的做法是使用板書來演示,板書前插法、后插法以及中間插入和刪除各種情況下該怎樣寫代碼,再利用板書靈活多變的特點(diǎn),把每一行代碼達(dá)到的效果更形象地表達(dá)出來,包括一些典型的錯(cuò)誤代碼(如指針操作代碼前后調(diào)換順序)達(dá)到的效果。
板書完后做一個(gè)總結(jié):不管是插入還是刪除, 核心語句都只有兩行或者三行代碼——這會對學(xué)生造成很大的心理沖擊,學(xué)生會驚訝發(fā)現(xiàn),原來鏈表操作難度遠(yuǎn)比想象的要小。這能很好地幫助學(xué)生克服畏難心理。接下來趁熱打鐵,馬上布置準(zhǔn)備好的鏈表操作練習(xí),要求短時(shí)間內(nèi)當(dāng)堂寫完,當(dāng)堂上交,下一堂課挑一些典型錯(cuò)誤代碼再分析一下。
4)講解到函數(shù)的引用參數(shù)(前面加&的參數(shù))時(shí)也采用課堂上快速演示加課后微實(shí)驗(yàn)任務(wù)驅(qū)動(dòng)的辦法。
(二)? 布置編寫實(shí)驗(yàn)代碼硬性任務(wù)
平常布置的一般作業(yè)過了截止時(shí)間未提交作業(yè)的學(xué)生屈指可數(shù),而一般實(shí)驗(yàn)教學(xué)中只有部分學(xué)生能真正做好準(zhǔn)備,有少數(shù)學(xué)生甚至在上實(shí)驗(yàn)課時(shí)才開始編寫代碼。分析原因有兩方面,一方面是由于實(shí)驗(yàn)考核困難,每次實(shí)驗(yàn)課只能考核到部分學(xué)生,導(dǎo)致部分學(xué)生學(xué)習(xí)壓力不足;另一方面是由于實(shí)驗(yàn)任務(wù)布置不夠明確。
比較有效的做法是,在布置了實(shí)驗(yàn)任務(wù)后,通過超星發(fā)布一次編寫實(shí)驗(yàn)代碼的作業(yè),明確要求實(shí)驗(yàn)課前必須完成實(shí)驗(yàn)代碼編寫,并且強(qiáng)調(diào)實(shí)驗(yàn)課前必須完成實(shí)驗(yàn),實(shí)驗(yàn)課時(shí)只是接受檢查并評分。明確布置的實(shí)驗(yàn)編碼硬性任務(wù)可以對學(xué)生產(chǎn)生更多的驅(qū)動(dòng)力,督促學(xué)生圍繞任務(wù)展開自主學(xué)習(xí),結(jié)果在實(shí)驗(yàn)課前幾乎所有學(xué)生都在超星提交好了實(shí)驗(yàn)代碼,不再有在實(shí)驗(yàn)課上臨時(shí)編寫代碼的情況,實(shí)驗(yàn)準(zhǔn)備的狀況有很大的改善。
(三)? 實(shí)驗(yàn)課堂全員考核
科學(xué)合理的實(shí)驗(yàn)考核方法會增強(qiáng)學(xué)生自主學(xué)習(xí)的主動(dòng)性,激發(fā)學(xué)生創(chuàng)新意識,開展實(shí)驗(yàn)教學(xué)考核改革是促進(jìn)實(shí)踐教學(xué)內(nèi)涵建設(shè)、提升學(xué)生自主學(xué)習(xí)能力與實(shí)踐創(chuàng)新能力的重要途徑[6]。對實(shí)驗(yàn)結(jié)果的客觀評價(jià)不僅可以對學(xué)生的學(xué)習(xí)效果有一個(gè)準(zhǔn)確的檢測,了解學(xué)生當(dāng)前的學(xué)習(xí)狀況,還可以通過評價(jià)使學(xué)生對自己有一個(gè)正確的認(rèn)識,端正自己的學(xué)習(xí)態(tài)度[7]。
本文介紹的實(shí)驗(yàn)結(jié)果考核方法覆蓋到每一位學(xué)生,加上實(shí)驗(yàn)課前明確布置編碼任務(wù),學(xué)生能深刻領(lǐng)會到實(shí)驗(yàn)是必須完成的學(xué)習(xí)任務(wù),通過任務(wù)的驅(qū)動(dòng),學(xué)生不僅實(shí)驗(yàn)課前需要做大量的準(zhǔn)備工作,實(shí)驗(yàn)課上仍然要盡力通過檢查,對每個(gè)學(xué)生都能起到很好的督促作用。實(shí)驗(yàn)課上經(jīng)常能觀察到學(xué)生之間在交流學(xué)習(xí),杜絕了“出工不出力”的現(xiàn)象。具體的實(shí)驗(yàn)教學(xué)改革要點(diǎn)如下。
1? 實(shí)驗(yàn)考核覆蓋到每個(gè)學(xué)生
第一次實(shí)驗(yàn)課前要注意介紹清楚實(shí)驗(yàn)考核的具體方法步驟,強(qiáng)調(diào)每次實(shí)驗(yàn)課將考核到每個(gè)人,根據(jù)實(shí)驗(yàn)完成情況評定成績。實(shí)驗(yàn)時(shí)嚴(yán)格檢查到每一位學(xué)生,無法接受檢查的學(xué)生就沒有成績,這樣才能給每個(gè)學(xué)生足夠的壓力,自主投入時(shí)間精力去完成實(shí)驗(yàn)任務(wù)。
2? 考核的辦法是讓學(xué)生重寫核心算法代碼
為了核實(shí)學(xué)生是否自主完成實(shí)驗(yàn),重寫所有代碼是不現(xiàn)實(shí)的也是沒有必要的,每個(gè)實(shí)驗(yàn)項(xiàng)目都包含一個(gè)或多個(gè)算法,重寫核心算法代碼是可能的也是有益的,能進(jìn)一步促進(jìn)知識的掌握。
考核某個(gè)學(xué)生時(shí)先驗(yàn)證程序運(yùn)行結(jié)果的正確性,然后刪除某一段或多段核心算法代碼讓其重寫,重寫過程中很容易觀察到學(xué)生的熟練程度,重寫完后教師通過回退功能很容易判定是否拷貝。再次核實(shí)正確性的情況下,按照重寫代碼花費(fèi)的時(shí)間長短及熟練程度進(jìn)行評分,評分時(shí)不再需要費(fèi)盡心力提問,評判相對輕松,評判結(jié)果相對準(zhǔn)確有效,無法正確補(bǔ)出代碼的學(xué)生本次實(shí)驗(yàn)暫時(shí)就沒有成績。
3? 按機(jī)房物理布局分批次檢查
每次實(shí)驗(yàn)考核分批進(jìn)行,學(xué)生按機(jī)房的物理布局自然分成多個(gè)檢查批次,一般可以8個(gè)人一組(如背靠背兩小排各4個(gè)學(xué)生),一個(gè)行政班級30多個(gè)人,一般4~5個(gè)批次檢查完,每個(gè)批次時(shí)間控制在20 min以內(nèi)。
每個(gè)批次人數(shù)的多寡還可以視實(shí)驗(yàn)項(xiàng)目難度和實(shí)驗(yàn)課的剩余時(shí)間靈活掌握,如果難度比較大或時(shí)間比較緊,一個(gè)批次的人數(shù)可以多一些,但不管多少人,物理上應(yīng)該處于機(jī)房的相鄰區(qū)域,否則教師跑來跑去過于辛苦檢查難以為繼。
4? 教師適當(dāng)來回巡視以杜絕作弊現(xiàn)象
讓學(xué)生當(dāng)場重寫代碼等同于考試,個(gè)別學(xué)生會有作弊的動(dòng)機(jī)。學(xué)生重寫代碼時(shí)教師要注意適當(dāng)巡視,特別是前幾次實(shí)驗(yàn)課時(shí)要更加留心。學(xué)生偶爾有翻看教材、查看手機(jī)以及同學(xué)支招的現(xiàn)象,也出現(xiàn)過學(xué)生復(fù)制一份要補(bǔ)的代碼再對著敲的現(xiàn)象。從實(shí)踐的情況來看,這些現(xiàn)象在前兩次實(shí)驗(yàn)課就比較少見,在之后就幾乎不會出現(xiàn)了。
5? 給一次補(bǔ)查的機(jī)會
學(xué)生的學(xué)習(xí)能力有較大的差異性,有少部分學(xué)生無法按時(shí)完成實(shí)驗(yàn)任務(wù)。每次實(shí)驗(yàn)課的前一刻鐘左右留給沒有完成上次實(shí)驗(yàn)的學(xué)生,給他們一次檢查上次實(shí)驗(yàn)的機(jī)會,不過補(bǔ)查的成績一般只給到及格分,但如果是平時(shí)表現(xiàn)比較好的同學(xué)某一次馬失前蹄,補(bǔ)查成績可以適當(dāng)給高一些,一些特殊情況下可以按正常給分,以充分保護(hù)學(xué)生的學(xué)習(xí)積極性。
6? 控制考核節(jié)奏,穩(wěn)步推進(jìn)考核
一個(gè)批次學(xué)生在逐個(gè)核實(shí)完實(shí)驗(yàn)結(jié)果及刪除了核心算法代碼后,開始緊張地重寫代碼,重寫代碼的速度會快慢不一,過程當(dāng)中老師只需要來回巡視,留意不同學(xué)生的表現(xiàn),在有學(xué)生報(bào)告完成代碼重寫后予以核查并評分。同批次絕大多數(shù)學(xué)生評分完成后就可以啟動(dòng)下一個(gè)批次的檢查,不要因?yàn)閭€(gè)別學(xué)生影響整體考核進(jìn)度。未能在自己的批次中完成代碼重寫的學(xué)生一般給及格分,當(dāng)然前提還是重寫代碼后運(yùn)行結(jié)果正確并且沒有作弊。對這些學(xué)生的檢查不用做到實(shí)時(shí)響應(yīng),可以利用當(dāng)前批次檢查的空閑時(shí)間穿插進(jìn)行。整體實(shí)驗(yàn)考核進(jìn)度能夠按計(jì)劃穩(wěn)步推進(jìn),在課內(nèi)時(shí)間能比較從容地完成對所有學(xué)生的考核。
(四)? 結(jié)合線上資源強(qiáng)化訓(xùn)練
針對數(shù)據(jù)結(jié)構(gòu)的十個(gè)實(shí)驗(yàn)項(xiàng)目精心準(zhǔn)備了10組共20道強(qiáng)化學(xué)習(xí)編程題,每個(gè)實(shí)驗(yàn)項(xiàng)目對應(yīng)一組試題,每組2道題,題目難度相對更小,但完全契合對應(yīng)線性表、隊(duì)列、堆棧等數(shù)據(jù)結(jié)構(gòu)知識的掌握。在PTA平臺與對應(yīng)實(shí)驗(yàn)項(xiàng)目同步發(fā)布,目的是對尚不夠熟練的學(xué)生進(jìn)行強(qiáng)化訓(xùn)練。系統(tǒng)能夠自動(dòng)對學(xué)生編程結(jié)果進(jìn)行評判。
為了激發(fā)學(xué)生的自主學(xué)習(xí)積極性,制訂以下獎(jiǎng)勵(lì)規(guī)則:特定實(shí)驗(yàn)項(xiàng)目評分在A-之下的任何學(xué)生,如果能夠在PTA上成功完成對應(yīng)組別的2道編程題,原先在C檔位(分C-、C、C+三個(gè)檔位)或以下檔位的實(shí)驗(yàn)評分在原來基礎(chǔ)上往上浮動(dòng)2級,原先在B檔位(分B-、B、B+三個(gè)檔位)的往上浮動(dòng)1級。
三? 數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)改革成效分析
本實(shí)驗(yàn)教學(xué)改革主要基于全員覆蓋的考核方法,給予了學(xué)生足夠的壓力,能夠達(dá)到促進(jìn)學(xué)生自主學(xué)習(xí)的效果,下面從實(shí)驗(yàn)考核成績、期末考試成績和學(xué)生能力三方面來分析實(shí)驗(yàn)教學(xué)改革實(shí)踐所取得的成效。
(一)? 實(shí)驗(yàn)考核成績
實(shí)驗(yàn)考核成績具有一定的主觀性,這里使用筆者多年自帶的班級實(shí)驗(yàn)考核成績作為分析基礎(chǔ),以避免不同教師評分尺度的差異帶來的對成績數(shù)據(jù)的影響。本文統(tǒng)計(jì)了六年自帶班級的實(shí)驗(yàn)考核平均成績,圖3是2016—2021級學(xué)生數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)考核平均成績變化情況,其中2016—2018級使用的是常規(guī)方法檢查實(shí)驗(yàn),2019—2021級采用了本文所述實(shí)驗(yàn)教學(xué)改革方法。從數(shù)據(jù)可以看出使用了本文方法后的實(shí)驗(yàn)考核成績明顯更好,并且成績穩(wěn)定,數(shù)據(jù)表明實(shí)驗(yàn)教學(xué)改革的成效是顯著的。
圖3? ?2017—2022年數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)考核平均成績
2017—2019年成績有一個(gè)明顯的波動(dòng),2017級的成績在2017—2019年中比較突出。分析原因在于筆者在教學(xué)改革中經(jīng)歷了多年的探索過程,2016級使用的是常規(guī)實(shí)驗(yàn)教學(xué)和實(shí)驗(yàn)考核方法,結(jié)果明顯不理想;2017級使用了分層實(shí)驗(yàn)教學(xué)改革[8],有一些效果,但還是覺得不夠理想;然后在2018級積極探索,以建構(gòu)主義理論為依據(jù),希望通過理論課堂營造更好的學(xué)習(xí)情境來達(dá)到促進(jìn)學(xué)生吸收內(nèi)化知識的目的,做了比較多的實(shí)戰(zhàn)演練,很多算法是一邊介紹算法思路一邊編碼實(shí)現(xiàn)并當(dāng)場調(diào)試運(yùn)行出結(jié)果,要求學(xué)生自帶筆記本電腦當(dāng)場跟著做,結(jié)果發(fā)現(xiàn)編程能力弱的學(xué)生無法跟上進(jìn)度,實(shí)驗(yàn)教學(xué)還是采用的常規(guī)做法,非常遺憾效果并不理想。經(jīng)過仔細(xì)思考?xì)v年的教學(xué)改革探索過程,認(rèn)識到關(guān)鍵是激發(fā)學(xué)生自主學(xué)習(xí)的熱情,才能達(dá)到事半功倍的效果,總結(jié)提煉歷年的教學(xué)改革方法,保留以前教改的一些積極有效的做法,比如要想辦法彌補(bǔ)學(xué)生編程短板、教學(xué)過程中充分考慮到學(xué)生的差異性、在課堂極力構(gòu)建有效學(xué)習(xí)情境等,結(jié)合任務(wù)驅(qū)動(dòng)教學(xué)方法的引入,最終凝練出目前的實(shí)驗(yàn)教學(xué)改革方法并取得明顯成效。
(二)? 期末考試成績
數(shù)據(jù)結(jié)構(gòu)課程期末考試使用筆試并流水閱卷,卷面成績評判相對客觀,能比較好地反映出學(xué)生掌握知識的好壞,因此這部分使用橫向比較方式,將采用傳統(tǒng)教學(xué)方法的學(xué)生平均卷面成績與采用本文所述教學(xué)改革方法學(xué)生成績進(jìn)行橫向比較。表1是2019—2021級學(xué)生該課程的期末成績數(shù)據(jù)情況,使用本文所述實(shí)驗(yàn)教學(xué)改革方法后,三個(gè)年級的學(xué)生成績均明顯好于未使用該方法的學(xué)生,說明良好的實(shí)驗(yàn)教學(xué)促進(jìn)了數(shù)據(jù)結(jié)構(gòu)知識的掌握和吸收。
表1? 2019—2021級學(xué)生數(shù)據(jù)結(jié)構(gòu)期末成績表? 分
(三)? 學(xué)生能力
實(shí)驗(yàn)教學(xué)改革加強(qiáng)了實(shí)驗(yàn)教學(xué)各個(gè)環(huán)節(jié)的管理,使學(xué)生各個(gè)環(huán)節(jié)的學(xué)習(xí)落到實(shí)處,促進(jìn)了學(xué)生各種能力的成長。通過對筆者所帶2019—2021級學(xué)生調(diào)查問卷反饋,96%以上的學(xué)生認(rèn)可通過課程的學(xué)習(xí)提高了自主學(xué)習(xí)能力、實(shí)踐應(yīng)用能力以及時(shí)間規(guī)劃能力。
同時(shí),2020—2022年,作者所帶班級的學(xué)生在學(xué)科競賽方面,獲得國家級獎(jiǎng)項(xiàng)13項(xiàng)、省級獎(jiǎng)項(xiàng)32項(xiàng),其中,ICPC、GPLT和藍(lán)橋杯信息競賽均實(shí)現(xiàn)了金獎(jiǎng)或者一等獎(jiǎng)的突破。有學(xué)生被推免到西北工業(yè)大學(xué),還有學(xué)生考上了如中國科學(xué)院大學(xué)、香港大學(xué)等知名學(xué)府,另外還有學(xué)生入職騰訊、字節(jié)跳動(dòng)等知名IT企業(yè)。
四? 結(jié)束語
本教改在工程教育專業(yè)認(rèn)證背景下,以學(xué)生為中心,以產(chǎn)出為導(dǎo)向,在理論課堂注重夯實(shí)學(xué)生編程基礎(chǔ),明確布置實(shí)驗(yàn)編碼任務(wù),課上課下通過任務(wù)驅(qū)動(dòng)方法讓學(xué)生及時(shí)建構(gòu)內(nèi)化知識,彌補(bǔ)學(xué)生編程短板,實(shí)驗(yàn)課上使用覆蓋全員的重寫核心代碼的實(shí)驗(yàn)考核方法,考核過程相對簡單可控,考核結(jié)果準(zhǔn)確有效,結(jié)合線上資源進(jìn)行強(qiáng)化訓(xùn)練,促進(jìn)學(xué)生自主學(xué)習(xí)。多次實(shí)踐表明,學(xué)生理論課堂和實(shí)驗(yàn)課堂參與度都非常高,教學(xué)成效比較明顯,對其他編程類課程也有借鑒作用,有一定的推廣價(jià)值。
參考文獻(xiàn):
[1] 徐新愛,朱恩芳.數(shù)據(jù)結(jié)構(gòu)課程實(shí)踐教學(xué)改革探索與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2021,40(9):186-192.
[2] 劉端陽,徐衛(wèi),劉志,等.基于PBL的數(shù)據(jù)結(jié)構(gòu)課程的融合式實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(5):225-229.
[3] ZIMMERMAN B J.A social cognitive view of self-regulated academic learning[J].Journal of Educational Psychology,1989,(3):329-339.
[4] 喬世坤,李明,董光輝.基于自主學(xué)習(xí)能力培養(yǎng)的數(shù)字系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)考核改革[J].實(shí)驗(yàn)科學(xué)與技術(shù),2022,20(5):123-127.
[5] 陳黎,孫界平,琚生根,等.自主學(xué)習(xí)模式在“計(jì)算機(jī)網(wǎng)絡(luò)”課程中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2017,34(8):176-179.
[6] 任相花,王竹萍,姜云霞,等.自主學(xué)習(xí)理論在數(shù)據(jù)通信原理課程教學(xué)中的應(yīng)用[J].教育探索,2011(6):83-84.
[7] 趙丹.以學(xué)生自主學(xué)習(xí)為中心的任務(wù)驅(qū)動(dòng)教學(xué)模式探討[J].教育與職業(yè),2013(12):98-99.
[8] 劉忠民,李廣瑞.數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)分層教學(xué)的探索和實(shí)踐[J].計(jì)算機(jī)教育,2018(6):128-130.