賀秋瑞 郭 曉 伍臨莉
1.洛陽師范學院信息技術學院 河南洛陽 471934;2.河南理工大學鶴壁工程技術學院 河南鶴壁 458030;3.鶴壁職業技術學院 河南鶴壁 458030
新工科發展戰略以建立中國模式、制定中國標準、形成中國品牌,打造世界工程創新中心和人才高地為目標,這就對我國高等教育提出了新的挑戰,要更加注重學生的自學能力、創新能力、實踐能力和綜合能力[1]。然而,“C程序設計”課程是計算機專業的一門專業必修課,在大學一年級開設,該課程是一門非常重要的程序設計課程,是本專業的第一門編程課,也是學習軟件開發的入門級課程,更是學習其他類語言的基礎課程,學生對本課程的學習質量直接影響后續課程的學習,在計算機專業課程體系中有著舉足輕重的地位。在教授該課程的過程中,發現了不少問題,針對這些問題,通過文獻調研、學生調研等進行了新的教學改革探索,以期通過角色互換、教學方式多樣化、教學內容豐富化、關注過程及考核方式過程化等方式提高教學效果,提高學生的編程能力、動手能力和創新能力,最終完成新工科背景下的教學目標,培養出具有自學能力、創新能力、實踐能力和綜合能力的優秀學生。
“C程序設計”是一門注重實踐的課程,對學生的動手能力,計算機思維能力有較高的要求,該課程內容包含了結構化程序設計思想的精髓,有助于其他編程語言的學習。如果想提高編程能力,必須要進行大量的上機訓練。在實際教學中發現課程概念多、內容多、理論抽象,甚至有些規則與硬件有關,相當一部分同學被紛繁復雜的語法弄得一頭霧水。然而,學校安排的教學課時有限。學校規定的課時有限,教師不僅需要講授基本的概念、語法知識,還需要給學生足夠的時間練習,顯然兩者之間很難達到平衡。多數老師反映,講理論知識時間長,給學生練習的時間少,感覺沒有到達想要的效果;但是不抓緊時間給學生講授知識點,又無法在規定時間內完成教學計劃,因此,課堂無法還給學生,以教師傳授為主,學生練習時間少,課下學生又不主動訓練,導致無法達到教學目標。
2.2.1 編程基礎與能力層次分明
雖然同學們都是剛剛進入大學,但是他們的編程基礎和動手能力卻差別較大,且層次分明,通過在實際教學過程中發現,基礎與能力大致可分為三個層次[2]:第一,學生具有一定的編程基礎。受到家庭環境、初高中接受的教育、學生自身興趣愛好等影響,部分學生入學前已經具備了一定編程基礎、邏輯思維、信息素養等,可以通過C程序設計的基本教學,迅速掌握相關知識,通過課堂教學已經無法滿足他們對知識的進一步探索。第二,學生不具備編程基礎,但是具有一定的信息技術基礎。了解信息技術,熟悉計算機軟件、網絡平臺等,對軟件編程充滿好奇心,渴望獲得相關知識。第三,沒有任何編程和信息技術基礎。對計算機的理解僅僅停留在上網聊天等,對課程沒有興趣。
2.2.2 自主學習能力差
中學學習的是基礎知識,學習的目的是高考,老師們會耐心地講授、輔導,學生們在學習的過程中,基本上都是老師講授,學生被動地學習。高校的教學節奏很快,教學內容也很廣泛,老師對學生監督較少,造成一些學生總是覺得時間不夠、學習困難;有些同學在課堂上感覺好像能理解,但是做作業卻很難;還有些大學生不能適應大學學習生活,遵循中學的學習模式,過于依賴老師和班主任,在學習過程中缺少自主性、主動性和自覺性。
2.2.3 目標不明確,興趣不高
一個人如果能夠清晰地明白自己對什么感興趣,就會形成明確的努力目標。事實上,很多剛入學的大學生不知道自己到底喜歡什么,也不知道未來自己想做什么,沒有明確的職業規劃,因此做什么提不起精神,沒有學習的動力。
2.2.4 對偏實踐課有畏難情緒
對于大一新生來說,偏實踐課程對學生有一定難度。在高中時期,學生上課多以被動接受知識為主,教師是課堂知識的傳授者、課堂的主導者,學生多以接受課本知識為主,需要動手操作的課程,如物理、化學、生物等課程,經常被學校直接忽視,重點掌握結論性知識,造成了學生動手能力差,提出問題、分析問題和解決問題的能力差。因此,C程序語言的學習不僅僅需要掌握基本的理論知識、語法知識,還需要不斷提高邏輯思維能力和編程能力,能夠通過知識與思維的碰撞,對遇到的問題進行不同方向的分析,并使用C程序語言去結構化,通過實際的編程去實現、解決問題。通過課堂調研我們發現,65%的學生對該課程的學習有一定的畏難情緒,并對是否能通過考試而擔憂[3]。
當前,我國很多大學仍然把“教”作為教學的核心,以教師為主導,通過灌輸的形式將知識傳授給學生,注重知識的連貫性、完整性和系統性。然而,電腦類專業的人才不僅要學到專業的知識,還要培養他們的動手能力和創造力,讓他們學會學習,以適應不同的工作環境[4]。
2.3.1 重理論輕實踐,重結果輕過程
在C語言的教學過程中,經常出現重理論、輕實踐的情況[5],很多老師照本宣科,以教材為中心,而忽略了學生的主觀能動性,學生發現問題、分析問題、解決問題的能力沒有得到有效提高,導致的結果是:(1)學生學習時認為都理解了,可是實踐中發現很多知識沒有掌握;(2)實踐課程不能自主完成,實踐報告應付了事;(3)根據書本知識應付考試,卻不能通過編程解決實際問題;(4)達不到預期實踐效果與教學目標,無法培養學生動手能力和創新能力。該教學方法直接導致學生重結果輕過程,學生以理論考試為終極目標,本應該上機操作的課程,變成了背語法、背結構,課程設計應付了事。
2.3.2 教學方法單一,且以傳授知識為主
長期以來,C程序設計的教學方法單一,主要是講課+練習。教師上課按照教材的基本內容講解,教師重視基礎知識的掌握,強調知識的完整性與系統性。但是,課程章節多、內容多,在學校規定的課時內,既要保證知識的傳遞,又要保證學生練習的時間。由于學生沒有編程基礎,每節課留出來20分鐘的時間練習,遠遠無法滿足需要,很多學生一知半解,課下也很少花更多的時間去自學,導致動手能力差,期末考試完全變成了知識點的背誦。
混合式教學[2]是指將面授與在線學習相融合,將被動與主動相結合,以達到有效教學的一種學習模式?;旌鲜浇虒W可以實現以教師為中心向以學生為中心的轉變,通過采用更多的教學組織形式、更豐富的網絡資源,提高學生的學習興趣,培訓學生創新精神,挖掘學生的潛力。通過課前、課中和課后三個環節,根據不同的學習目標,設置不同的問題、要求及配套的練習,同時采用任務驅動型的方式分解任務,迭代實現教學目標。該教學模式可以提高學生的主動性和積極性,通過互聯網資源自主學習,培養學生自學的能力,提高學生利用不同資源解決實際問題的能力,可有效提高教學效率與學生學習效率。
翻轉課堂[6]是指學生在課前通過C編程的教學視頻,自學掌握基本的概念、理論和語法,老師不占用課堂的時間進行理論講解,使課堂成為師生互動的地方,通過提問、合作探究等形式提高教學質量。因特網的廣泛使用和計算機技術的普及,使“翻轉式”教學成為了現實。在網絡環境下,學生可以獲得高質量的教育資源,而不僅僅是依靠老師來獲得知識,師生之間的角色互換,老師的主要任務就是解答學生的問題,并指導他們運用知識解決問題。這種教學模式重構了學習的流程圖,把老師變成了課堂的領導者,老師成為了教室的引導者,把知識的吸收轉化為師生之間的相互作用。
“教而不研則淺,研而不教則空”,教學與科研相輔相成[7]。以研促教,通過不斷的科學研究才能反哺教學改革的實施,通過不斷的科研才能了解最新的教學思路、教學方法及教學理念,才能在教學工程中優化教學方法,豐富教學內容。創新的教學方法可以推動教學實施,豐富的教學內容才能激發學生學習的興趣和熱情。其次,將課程教學與競賽相結合,激發學生的學習興趣,比如藍橋杯等程序大賽,鼓勵學生積極參與比賽,培養學生的競爭意識,激發他們學習的主動性,通過自己的探索去獲取知識,將課本的知識靈活地應用到比賽中,通過比賽的進一步升華,逐漸形成編程思想。
對學生的編程與信息技術進行簡單調研后,分成三組:基礎組、能力組和拔高組。根據不同的分組,將C程序設計實驗內容設置為基礎題、設計題和綜合題三類。基礎組的學生學習掌握基礎題,包括基本的語法、概念等;能力組的學生主要學習設計題,要求具有一定的編程思維、較強的動手能力;拔高組主要練習綜合題,要求學生不僅基礎強、編程能力強,而且具有較強的責任心、自主學習能力、較強的好奇心,同時具備一定的創新能力。通過進行學生分組與學習內容分組,因材施教,完成學生與教學內容的高匹配度,使每位同學都能通過不同的學習掌握不同的技能,獲得成功的體驗,培養學生的學習興趣,增強學生的自信,才能讓學生有信心,愿意投入更多的時間去學習。
對課程教學內容重新整理,充分挖掘課程思政元素,將知識傳授、能力培養和價值引領融為一體,全面落實“立德樹人”的教育任務,培養學生的創新精神、科學的發展觀、科技報國的擔當,激發學生的學習興趣,通過思想上的提高,讓由學生被動學習逐漸轉向主動學習,間接提高課程教學的效果。例如,在講解為什么要學C程序設計這門課程時,通過案例告知學生要增強危機意識,要有不斷拼搏的精神,喚起學生的愛國情感,激發學生學習該課程的內在動力。在講解數組等知識時,告訴學生人以群分、物以類聚的思想,多結交有共同目標、積極向上、具有正能量的朋友。在進行課程設計時分小組進行,不同的小組要通過不同的方法解決問題,以此引入要有團隊協作的精神,增強學生的責任感和團隊意識,一題多解,培養學生的發散思維,提升學生的創新力。
建立合理的考核方式有助于激發學生學習的積極性,通過教學方法的多樣化,讓學生體驗到不同的課堂氛圍,利用翻轉課堂、混合式教學等方法,不斷提高學生的學習的主動性,培養學生的自主學習能力,在考核中增加過程性考核,讓學生體驗到階段性的小成功,有利于學生自信心的建立。將之前單純依賴課堂考勤和作業的評價方式,調整為課前預習、課堂互動、課后作業、綜合設計和期末考試五大部分,淡化期末考試的重要性,讓學生真正回歸過程當中,讓學生成為課堂的主人。

考核方式及占比表
在新工科背景下,新的挑戰也是新的機遇。本次課程改革能夠讓學生參與到教學中來,提高學生的基本知識、程序設計、編寫、調試能力、分析問題、解決問題、規范軟件開發流程和文件編寫等能力。同時,培養了學生的團隊協作精神,使他們的語言表達能力得到了提升,對他們的創造力起到了一定的促進作用。在本次課程改革中融入了思政元素,并逐步開展了混合式教學等新的教學方法,并對不同層次的學生提出了不同的要求,教學效果最終得以提升,授課方式與內容受到了學生的歡迎和喜愛,學生對老師的評價是幽默和風趣。這一新課程的改革,盡管已經有了一些成果,但仍有一些地方有待改善,這是今后課程建設不斷提高的重點。