摘要:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等一系列思維活動。文章以廣州開放大學C語言程序設計課程為例,探討了賽教融合教學模式在提升學生思維能力方面的應用策略與效果。研究指出,賽教融合通過師資培訓、競賽案例融入、多元化評價和競賽平臺建設等策略,有效激發學生學習興趣,提高教學質量,促進通識與專業教育融合,為培養具有創新和實踐能力的高素質人才提供了有力支持。
關鍵詞:賽教融合;計算思維;C語言程序設計;教學改革
中圖分類號:G642" " " 文獻標識碼:A
文章編號:1009-3044(2025)21-0029-05
開放科學(資源服務) 標識碼(OSID)
0 引言
在數字化時代背景下,計算思維作為一種核心素養,在培養學生創新能力和問題解決能力方面具有重要意義。它不僅要求學生具備邏輯思維和抽象思維能力,還強調其在系統設計和復雜問題解決中的應用能力[1]。C語言程序設計作為信息科學專業的核心課程,面臨著理論與實踐脫節、教學內容單一以及評價體系不完善等問題。賽教融合作為一種創新的教學模式,為C語言程序設計課程提供了新的思路。將競賽與教學相結合,不僅為學生提供了豐富的實踐機會,還激發了他們的學習興趣和創新動力。在競賽的驅動下,學生能夠更好地將理論知識應用于實際問題的解決中,從而有效提升其計算思維能力。此外,賽教融合還促進了教師教學方法的創新和教學內容的更新,為提高教學質量奠定了基礎[2]。本文以廣州開放大學C語言程序設計課程為例,探討了賽教融合教學模式在提升學生思維能力方面的應用策略與效果。
1 計算思維
計算思維是由美國卡內基·梅隆大學的計算機科學系主任周以真(Jeannette M. Wing) 教授于2006年在Communications of the ACM雜志上提出的概念,該概念涉及運用計算機科學的基礎概念進行問題求解、系統設計和人類行為理解等思維活動[3]。計算思維強調邏輯思維、抽象思維和算法思維的整合,因此被認為是每個人都應掌握的基本技能。在C語言程序設計課程中,計算思維具有重要意義。C語言作為一種基礎編程語言,其學習不僅要求學生掌握語法規則和基本語法結構,還要求他們具備將復雜問題分解、識別模式和設計算法的能力,這些能力正是計算思維的核心要素。例如,在編寫程序時,學生需要將實際問題抽象為計算機可處理的形式,識別問題中的模式,并設計有效的算法來解決問題。因此,培養學生的計算思維能力對于提高他們的C語言學習效果和編程實踐能力至關重要。
2" C語言教學中存在的主要問題
盡管C語言程序設計課程在信息學教育中扮演著舉足輕重的角色,但在實際教學實踐中,該課程仍面臨著一系列挑戰和問題[4]。
2.1 理論與實踐脫節
在當前的C語言教學中,一個突出問題是理論知識與實踐應用之間的脫節。盡管學生能夠掌握基本的語法規則,但在實際編程過程中,他們往往難以將課堂所學應用于具體實踐中。廣州開放大學對2023級計算機專業學生的調查顯示,超過60%的學生表示雖然能夠在課堂上理解理論知識,但在課后編程實踐中卻難以有效應用所學內容。這種脫節不僅限制了學生編程技能的提升,也阻礙了其創新思維的發展。
2.2 教學內容與方法的局限性
當前C語言教學主要側重語法規則和基礎算法的傳授,而對計算思維能力的培養相對不足。算法設計作為程序設計的核心,要求學生具備扎實的數學基礎和抽象思維能力,以有效應對實際問題的解決。然而,傳統教學大綱對算法的深入探討不夠充分,導致學生在面對復雜問題時缺乏有效的解決策略。此外,傳統的教學方法,如教師講授、學生聽講及課后練習等,已難以滿足現代社會對人才培養的需求。這些方法往往使學生處于被動接受知識的狀態,缺乏主動思考和解決問題的能力,忽視了對學生計算思維的培養。例如,學生在學習過程中缺乏系統的問題分解和模式識別訓練,導致他們在面對復雜問題時難以有效運用計算思維進行分析和解決。這種忽視不僅影響了學生的學習效果,也限制了他們在未來職業發展中的競爭力。
2.3 評價體系的不完善性
C語言教學中的評價體系存在顯著不足。當前的評價體系主要依賴于學生的考試成績,未能充分評估學生的創新思維和實踐能力。傳統的考試形式以筆試為主,難以全面反映學生在編程實踐中的表現和能力。這種單一的評價方式無法準確評估每位學生的真實學習情況和進步,從而限制了學生綜合素質的提升。此外,現有的評價體系未能充分考慮學生的個體差異,導致無法準確評估每位學生的真實學習情況和進步。
3 賽教融合背景下滲透計算思維的應用策略
隨著編程競賽體系的不斷完善,賽教融合的教學理念已成為促進理論知識與實踐技能高效結合的重要途徑[5]。該理念對學生提升學習興趣和深化專業知識掌握具有顯著影響。為此,廣州開放大學針對C語言程序設計課程,實施了一系列創新的教學策略,旨在培育學生的計算思維與實踐技能。
3.1 加強師資培訓,提高計算思維教學的實效性
1) 理論培訓與實踐指導結合。
鑒于部分教師在參與編程競賽或企業工作方面缺乏實踐經驗,盡管其理論知識較為扎實,但實際應用能力有待提升。為此,學校組織教師參加系統的理論培訓,邀請領域專家詳細講解計算思維的基本概念、核心要素及其在計算機科學中的應用。通過案例分析,幫助教師深入理解計算思維在解決實際問題中的重要性,并掌握如何通過問題分解、模式識別、抽象化和算法設計等步驟,將復雜問題轉化為可編程解決的形式。
在實踐指導方面,安排教師參與編程競賽的模擬訓練,如ACM國際大學生程序設計競賽的模擬賽。在訓練過程中,指導教師如何將計算思維應用于競賽題目的分析與解答。例如,在解決算法優化問題時,指導教師通過抽象建模,識別影響算法效率的關鍵因素,并設計出更高效的算法方案。同時,教師可以觀摩優秀選手的解題思路和編程技巧,學習如何在教學中引導學生培養類似的計算思維能力。
2) 經驗交流與教學研討常態化。
定期組織教學經驗交流會,邀請在計算思維教學領域具有豐富經驗的教師分享其教學策略、案例及心得體會。例如,探討如何在課堂上設計計算思維訓練活動,使學生通過動手實踐掌握相關技能;分享如何引導學生將計算思維應用于解決實際生活中的問題,如通過編程模擬解決交通擁堵等。
同時,建立教學研討小組,定期開展教學研討活動。在這些活動中,教師們深入探討計算思維教學中的難點和挑戰,例如如何在教學過程中平衡理論知識與計算思維的培養,以及如何評估學生計算思維能力的提升。通過集體智慧的碰撞,不斷改進教學方法,提高計算思維教學的實效性。教師們通過分享教學經驗、探討教學難題,持續反思和改進教學方法,從而整體提升教學團隊在計算思維教學方面的能力.
3.2 課程中融入競賽案例,激發學生的學習動力[6]
在C語言程序設計課程的教學中,廣州開放大學采用了一種創新的教學模式,將賽教融合的理念貫穿于整個教學過程。這一模式實現了從“被動學習”向“主動學習”的轉變,顯著激發了學生的學習興趣和積極性。與傳統教學方法相比,賽教融合模式充分發揮了“學以致用”的原則。學生在參與競賽的過程中,不僅能夠確立明確的學習目標,還能通過競賽實踐有效提升自身的實踐能力。
1) 案例選擇與改編的精細化。
案例的選擇與改編是賽教融合模式的核心環節。
首先,從各類編程競賽中精選具有代表性和實用性的題目,如藍橋杯和ACM等競賽的經典題目。這些題目應涵蓋課程的核心知識點,如循環、數組、函數、結構體、枚舉算法等,并具備一定的挑戰性和趣味性,以激發學生的學習興趣和探索欲望。
其次,根據學生的實際水平和教學進度,對競賽題目進行適當的改編。對于初學者,可以將復雜的題目拆分為多個小問題,逐步引導學生理解和掌握相關知識。對于基礎較好的學生,可以保留題目的完整性和難度,使他們在解決實際問題的過程中鍛煉綜合應用能力和創新思維。例如,將經典問題“素數問題”逐步擴展,從判斷一個數是否為素數,到求解“1000以內的所有素數”,再到“求出最長等差素數序列”,這種分層次的案例設計有助于滿足不同水平學生的學習需求,促進其全面發展。
2) 教學設計的層次化。
賽教融合的教學設計構建了一個層次化與多元化的知識體系,涵蓋基礎知識、進階技能、比賽實踐三個層面。在基礎知識層面,重點培養學生對C語言編程的基本掌握,包括語法、數據類型、控制結構、數組和函數等核心內容。在進階技能層面,引入指針、結構體和文件操作等高級主題,為學生參與程序設計競賽奠定堅實基礎。比賽實踐層面是知識體系的關鍵環節,通過大量練習潛移默化地培養學生的計算思維。
在講授基礎知識時,利用競賽案例引導學生理解理論知識的應用。例如,在講解數組時,引入“約瑟夫環”問題,使學生在解決實際問題的過程中,深入理解數組的存儲方式和遍歷方法等知識點。在進階技能教學中,通過復雜案例培養學生的綜合應用能力。例如,在講解數組時引入“最大子數組和”問題,讓學生在分析問題和編寫代碼實現的過程中,掌握算法的思想和方法。比賽實踐則設計與競賽相關的項目,使學生在真實的項目環境中應用所學知識,提升實踐能力和創新思維。例如,組織學生參加模擬的編程競賽,讓他們在規定時間內完成多個題目,體驗競賽的氛圍和壓力,鍛煉編程速度、調試能力和團隊合作精神。
3) 實踐平臺的完善與創新。
廣州開放大學通過完善和創新實踐平臺,顯著提升了教學效果。首先,搭建了在線判題系統(OJ) 平臺,用于學生實戰項目的練習。在題庫設計上,融入競賽元素,優化教材基礎題目,提高其難度和復雜度,使其更接近競賽水平;同時,簡化競賽真題,提取核心思想和算法,設計成日常練習題目。此外,定期從網絡賽事中精選優質題目,豐富題庫內容,確保題目覆蓋課程重點和難點,激發學生的學習興趣和挑戰欲望。通過對題目的篩選、改編和分類,將競賽經典題目融入相關知識點講解,提升到計算思維高度,引導學生主動思考,建立算法思想,養成良好計算思維習慣,培養其計算思維和問題解決能力。
同時,不斷完善OJ平臺功能,提供豐富的競賽練習資源和實時反饋。增加題目難度分級功能,使學生根據自身水平選擇合適題目練習;增加代碼提交實時評測功能,讓學生及時了解代碼正確性,獲得錯誤提示和優化建議。平臺還模擬真實競賽環境和流程,提供計時、評分、排名等功能,使學生在模擬競賽中體驗緊張感和挑戰性,提高競賽技巧和心理素質。通過比賽實踐,學生鍛煉了編程技能和創新思維,培養了團隊協作和溝通能力,鼓勵他們將課堂所學應用于實際問題解決,進一步提升創新思維和實踐能力。
3.3 將計算思維的培養融入問題求解過程[7]
本節內容從經典的“素數判定”問題入手,逐步擴展至“藍橋杯全國軟件與信息技術專業人才大賽”中的“等差素數列”問題,探討如何將計算思維的培養融入程序設計大賽的問題求解過程中。
“素數判定”問題的經典定義是:判斷一個給定的整數是否為素數,即該數只能被1和其本身整除的大于1的自然數。在求解素數判定問題時,計算思維的培養可以有效地融入問題求解的各個階段。計算思維作為一種用于解決問題、設計系統及理解人類行為的思維方式,在素數判定問題的分析與求解中扮演著重要角色。其求解過程如下。
1) 分解。
在教學過程中,引導學生將復雜問題分解為多個子問題,并明確每個子問題的解決思路和方法。將復雜問題分解為更小、更易管理的部分是計算思維的一個關鍵步驟。對于素數判定問題,可以將其分解為以下子問題:如何表示一個數?如何判斷一個數是否大于1?如何實現除法操作?如何遍歷從2到該數的所有整數?如何判斷一個數是否能被2到該數之間的任意整數整除?
2) 模式識別。
在問題分解的基礎上,識別子問題的模式或規律是計算思維的另一核心要素。對于素數判定問題,可以識別以下模式:所有小于2的數均非素數;2是最小的素數;除了2以外的所有偶數均非素數;如果一個數能被除了1和它本身之外的任何數整除,則它不是素數。
3) 抽象。
將識別出的模式抽象成更高層次的概念或模型是計算思維的高級應用。對于素數判定問題,可以抽象出以下概念:素數定義為一個大于1的自然數,除了1和它本身外,不能被其他自然數整除。在判定邏輯上,只需檢查到該數的平方根即可,因為如果一個數不是素數,它必然有一個因子小于或等于它的平方根。
4) 算法設計。
根據抽象的概念設計算法是計算思維的實踐應用。對于素數判定問題,可以設計如下算法:
bool isPrime(int n) {
if (n lt;= 1) return 1; // 排除非素數的情況
if (n == 2) return true;" // 2是素數
if (n % 2 == 0) return 1; // 排除偶數(除了2)
for (int i = 3; i * i lt;= n; i += 2) { // 從3開始,只檢查奇數
if (n % i == 0) return 1; // 如果能被整除,則不是素數
}
return true; // 如果沒有找到因子,則為素數}
通過這樣的分析求解過程,不僅解決了素數判定問題,還培養了計算思維,這對于解決更復雜的編程問題具有重要意義。
5) 逐步擴展問題。
在2017年的藍橋杯競賽中,有一道題目涉及“等差素數列”。例如,2, 3, 5, 7, 11, 13...構成了一個素數序列。類似地,7, 37, 67, 97, 127, 157...構成了一個完全由素數組成的等差數列,稱為等差素數數列。已知等差數列的公差為30,長度為6。2004年,格林與華人數學家陶哲軒合作證明了:存在任意長度的素數等差數列,這是數論領域的一項重大成果。基于這一理論,求解長度為10的等差素數列的最小公差。這道題是對經典的“素數判斷”問題的提高,需要利用計算思維對問題進行抽象,用于找出長度為10的等差素數列的最小公差,用兩重for進行編碼:外循環用for來枚舉公差,for(int d = 1" ; dlt;=1 000 ; d = d + 1) ,然后對每一個公差,枚舉10個數的第一個數for(int i=1 ;ilt;=10 000;i ++) ,當找到10個等差素數列,記錄最小公差。這一過程展示了如何從基礎的素數判定問題出發,逐步擴展到解決藍橋杯“最長等差素數列”問題,每一步都體現了計算思維的培養。
3.4 實施個性化教學策略以滿足多樣化學習需求
1) 學習路徑定制的精細化。
在制定學習路徑時,應根據學生的興趣、能力和學習進度,為每位學生量身定制個性化的學習計劃和目標。例如,對于對算法感興趣的學生,可增加算法學習和實踐的內容;對于希望提升編程能力的學生,可提供更多的編程項目和實戰訓練機會。在教學過程中,根據學生的實際學習情況和反饋,靈活調整學習路徑和內容。若學生在某一知識點上已掌握良好,可提前進入下一個知識點的學習;若學生在某一知識點上遇到困難,則可安排更多的練習和輔導,以幫助其克服學習障礙[8]。
2) 資源支持與輔導的多樣化。
為支持學生的學習,C語言程序設計課程提供了多樣化的學習資源,包括在線課程、教學視頻、訓練題庫、編程社區等供學生在課后自主學習和復習使用。此外,安排教師進行個別輔導和答疑,以幫助學生解決學習中的困難和問題。例如,針對學生在編程實踐中遇到的具體問題,教師可以提供一對一的指導,幫助學生找到問題的根源并提供相應的解決方案.
3)" 學習小組組建的科學化。
在學習小組的組建過程中,應根據學生的興趣、能力和學習進度進行科學合理的分組。可以將興趣相同、能力相近的學生安排在同一小組,以便他們在小組中相互幫助、共同進步;同時,也可以將不同能力水平的學生組合在一起,使他們在小組活動中能夠發揮各自的長處,實現優勢互補。
在小組活動的設計上,應注重多樣化的形式,包括小組討論、項目合作和競賽備戰等。例如,在小組討論環節,學生可以圍繞某個編程問題或算法進行深入探討,分享各自的想法和見解;在項目合作中,學生可以分工合作,共同完成一個編程項目,從而培養團隊合作能力和項目管理能力。
3.5 構建綜合反饋體系以持續優化教學策略
1) 反饋收集的多元化。
根據反饋和數據分析的結果,對教學計劃進行持續的調整和優化是確保教學質量和效果的重要環節。例如,根據學生的反饋和學習進展,適時調整課程內容的難度和進度,增加或刪減某些知識點,以更好地適應學生的學習需求。同時,改變教學方法,從傳統的講授法轉向項目式學習或翻轉課堂等,以提高教學效果和學生的學習積極性。
此外,持續改進教學方法,積極探索多樣化的教學手段。結合信息技術,采用多媒體教學和在線教學資源等輔助教學方式,以豐富教學內容和形式。開展合作學習和探究式學習等活動,培養學生的團隊合作能力和自主學習能力。設計更具挑戰性和趣味性的教學活動,激發學生的學習興趣和積極性。通過持續的反饋和改進,致力于構建一個動態的、適應性強的教學環境,以培養能夠適應未來社會需求的高素質人才。
2) 反饋分析的科學化。
反饋信息的分析應采用科學化方法,以確保教學改進的科學性和有效性。首先,對收集到的反饋信息進行系統數據分析,利用數據驅動方式為教學改進提供依據。例如,通過統計分析學生問卷反饋結果,識別教學中的主要問題和不足;同時,利用學生的學習數據,如作業成績和測驗結果,分析學習進度和掌握程度,找出教學內容和方法的薄弱環節[9]。
在反饋分析過程中,重點關注教學中的關鍵和普遍性問題。例如,若學生普遍反映某個知識點難以理解,教師需深入分析原因,判斷是教學內容安排不合理,還是教學方法不夠直觀易懂;若學生對教學互動性不滿意,教師應考慮增加課堂討論、小組合作等互動環節,提高教學互動性和有效性。根據反饋和數據分析結果,對教學計劃進行必要調整和優化。通過科學化反饋分析,教師能準確識別教學問題,為教學改進提供有力支持。
4 人才培養成效分析
4.1 學生C語言成績的提升
賽教融合的教學策略不僅提升了學生的能力,還提高了C語言課程的教學質量[10]。為了評估賽教融合教學模式在C語言程序設計課程中的教學效果,本研究選取了廣州開放大學移動應用開發專業2023年秋季和2024年秋季兩個不同學期的學生班級作為研究對象。其中,24秋季班級采用了賽教融合教學模式進行授課,而23秋季班級則采用了傳統的教學模式。課程結束后,通過國家開放大學學習網平臺對兩個班級的期末成績進行了統計分析,統計結果如表1所示,為比較兩種教學模式提供了實證數據。
從學業成績的角度來看,與傳統教學方法相比,采用賽教融合模式的學生更傾向于獲得更高的分數,這表明該模式有助于學生更深入地理解并掌握C語言程序設計的核心概念。通過將競賽與教學相結合,學生在C語言的基礎語法、編程技能和實際應用能力方面實現了全面的提升。
4.2 學生計算思維能力的具體表現
賽教融合模式實施后,學生參與各類編程競賽的積極性顯著提高,參與人數從之前的10人增加到20人。這表明賽教融合模式激發了學生的學習興趣和競爭意識。在第二屆和第三屆全國C語言程序設計大賽以及第十五屆“藍橋杯”全國軟件和信息技術專業人才大賽中,廣州開放大學學生組成的隊伍獲得了2個二等獎和4個三等獎。而在賽教融合模式實施前,學生在該競賽中僅獲得1個三等獎。這一顯著的獲獎數量和等級提升,充分證明了賽教融合模式對學生實踐能力和創新思維的培養效果。在解決實際問題的過程中,學生們展現出了更強的創新能力和團隊協作能力,這是傳統講授式教學方法難以實現的。可以看出賽教融合教學模式在提升學生C語言成績、競賽表現、計算思維能力以及教學質量方面取得了顯著成效。通過參與競賽,學生不僅提升了專業技能,還學會了如何與他人合作、溝通和協調,為未來的職業發展打下了堅實的基礎。
5 結束語
本研究以廣州開放大學的C語言程序設計課程為研究對象,深入分析了賽教融合背景下學生思維能力的培養情況,旨在評估賽教融合教學策略在提升學生思維能力方面的實際效果。研究結果表明,賽教融合教學策略在多個層面上顯著提升了學生的思維能力。該模式為計算機教學改革提供了新的思路和方法,為教師提供了豐富的教學資源和創新的教學手段。
然而,本研究也存在一定的局限性。研究主要集中在廣州開放大學的C語言程序設計課程,樣本范圍相對有限,無法完全代表其他高校或不同課程的教學情況。此外,對于賽教融合模式長期效果的評估還不夠充分。未來的研究可以進一步擴大樣本范圍,涵蓋更多的高校和課程類型,以驗證賽教融合模式的普適性和有效性。同時,還可以對賽教融合模式的長期影響進行深入研究,探討其對學生未來職業發展和創新能力的持續影響。通過這些進一步的研究,可以為計算機教學改革提供更加全面和深入的理論支持和實踐指導。
參考文獻
[1] 教育部高等學校計算機基礎課程教學指導委員會.大學計算機基礎課程教學基本要求[M].北京:高等教育出版社,2015.
[2] 高潔,趙滿坤,徐天一,等.“以賽促學,以賽促創” 背景下基于OBE理念的計算機人才培養模式[J].軟件導刊,2024,23(8):56-61.
[3] 張峰,張紅榮.基于計算思維培養的體驗式教學模式應用成效剖析:以高職C語言程序設計課程為例[J].中國現代教育裝備,2021(5):149-151.
[4] 趙巍,駱吉洲,馮驍騁,等.面向拔尖生培養的程序設計與數據結構課程探索[J].計算機教育,2023(2):68-73.
[5] 蹇柯,胡良蘭,王芳芳,等.基于計算思維的大學計算機課程改革與實踐[J].軟件導刊,2020,19(10):280-284.
[6] 王穎.新工科背景下高職計算機賽教融合教學探索[J].知識文庫,2022(1):118-120.
[7] 王佑鎂,南希烜,李寧宇,等.編程韌性:數字時代計算思維培養的新議題[J].現代教育技術,2023,33(2):14-23.
[8] YANG M. Why is Computational Thinking Education Important as the Foundation for Innovation?[R]. International Conference on Computational Thinking Education 2017,Hong Kong:The Education University of Kong Kong ,2017.
[9] 李芒,楊宇軒.人非機器:對計算思維本質的認識[J].開放教育研究,2023,29(2):55-60.
[10] 薛佳楣,蘇曉光,劉越,等.基于計算思維能力培養的大學計算機基礎教學策略[J].電腦知識與技術,2021,17(1):197-198.
【通聯編輯:王 力】