周 密
(長江職業(yè)學(xué)院 湖北 武漢 430074)
“C語言程序設(shè)計”是高職理工科專業(yè)的一門必修專業(yè)基礎(chǔ)課,是后續(xù)專業(yè)課程的前置課程,是大學(xué)生學(xué)習(xí)程序設(shè)計的入門首選課程。C 語言作為全國大學(xué)生計算機等級考試、計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試、普通高等學(xué)校專升本考試等的主要考核內(nèi)容,具有不可或缺的地位。C 語言是一種結(jié)構(gòu)化語言,語法規(guī)則復(fù)雜,內(nèi)容抽象、編程靈活,多數(shù)高職學(xué)生基礎(chǔ)弱、自制力差,通常學(xué)習(xí)此課程較困難,再加上不適當(dāng)?shù)慕虒W(xué)方式,會讓學(xué)生失去學(xué)習(xí)興趣甚至放棄。因此,為激發(fā)學(xué)生學(xué)習(xí)興趣,提高本課程教學(xué)質(zhì)量,本課程教學(xué)改革勢在必行。
高職教育具有很顯著的職業(yè)性,其培養(yǎng)學(xué)生的目標(biāo)為面向社會、生產(chǎn)、服務(wù)與管理等一線需要的高技術(shù)型人才[1]。一方面,一些高職院校忽略了高職教育的職業(yè)性與高職學(xué)生基礎(chǔ)弱等特點,課程教學(xué)偏向理論化,重視對語法規(guī)則和經(jīng)典案例的講解,與實際應(yīng)用聯(lián)系不緊密,培養(yǎng)目標(biāo)不明確。另一方面,學(xué)生沒有建立整體的專業(yè)思想,對課程認(rèn)識不足,不清楚課程的性質(zhì)、培養(yǎng)目標(biāo)及其對后續(xù)課程的影響,在學(xué)習(xí)過程中動力不足,易產(chǎn)生畏難情緒。
教師在教學(xué)中占主體地位,以灌輸式理論講解為主,學(xué)生被動接受知識。C 語言語法規(guī)則和知識點繁多,加之課時緊張,許多教師在課堂上通過PPT 講解理論知識,敲代碼演示書上的案例,只留下很少的時間讓學(xué)生上機進(jìn)行驗證性實驗,課后布置幾道編程題讓學(xué)生統(tǒng)一提交。這種教學(xué)方式存在諸多弊端,首先,C 語言比較抽象化和邏輯化,PPT 講解或者單向傳授理論知識,學(xué)生很難理解這些復(fù)雜概念,多數(shù)學(xué)生根本聽不懂,缺少與教師的互動,課堂參與度低,學(xué)習(xí)積極性不高,學(xué)習(xí)效果差。其次,學(xué)生上機進(jìn)行驗證性實驗,本質(zhì)是在練習(xí)打字,把講過的例子“抄”一遍,如果換一道題,便束手無策,這種教學(xué)方法與實際脫節(jié),非但沒有提高學(xué)生的編程能力和解決實際問題的能力,也不利于培養(yǎng)學(xué)生獨立思考的習(xí)慣。教師布置同一份作業(yè),沒有考慮學(xué)生的整體情況和個體差異,不同生源的學(xué)生基礎(chǔ)水平相差很大,普通文理的學(xué)生高中階段基本沒接觸過編程,中職畢業(yè)生多數(shù)已經(jīng)把C 語言學(xué)過一遍。面對不同生源的學(xué)生,統(tǒng)一的教學(xué)方式會導(dǎo)致教學(xué)效果不理想。
C 語言涉及的知識面廣、內(nèi)容繁多、實操性強,教師需要講授大量的基本概念及相應(yīng)的應(yīng)用,并進(jìn)行代碼演示,還要留時間讓學(xué)生上機練習(xí)。多數(shù)院校安排的理論課時和實驗課時基本上不夠,導(dǎo)致有些章節(jié)如指針、結(jié)構(gòu)體、文件和編譯預(yù)處理以及綜合實訓(xùn)等講不完。因此教師在實際上課時會調(diào)整教學(xué)計劃,減少教學(xué)內(nèi)容,加快進(jìn)度,這樣許多知識點就被忽略掉或者不能進(jìn)行充分的講解,影響教學(xué)質(zhì)量,學(xué)生感覺本門課沒上多久便匆匆結(jié)束。
工科專業(yè)的教師普遍在教學(xué)觀念、思政元素的挖掘與課堂融入等方面還存在一些誤區(qū)或偏差,專業(yè)知識與思政教育還不能做到無縫對接[2]。部分教師對課程思政理解不深,認(rèn)識不夠,在課堂上把思政課程的內(nèi)容生硬地搬過來,學(xué)生覺得很突兀;又或者是為了思政而思政,認(rèn)為每堂課必須要有思政元素的教學(xué)設(shè)計,而這樣教學(xué)不但沒有達(dá)到育人的效果,反而招致學(xué)生的反感。
在課程考核方面,早些時候高校C語言考試基本上是在期末的時候進(jìn)行筆試,近些年慢慢采取機考的形式,這與全國計算機等級考試二級C 語言程序設(shè)計考試形式類似,出一套題來測試學(xué)生的知識掌握程度,是一種純粹的應(yīng)試形式。部分老師為了批改試卷方便,采用二級C 語言考試出題模式,80%的題型為客觀題,學(xué)生選擇、填空、改錯即可,只有一道或極少數(shù)編程題,這種考核方式未真正考查學(xué)生的程序設(shè)計能力。學(xué)生沒有從零開始構(gòu)思的過程,沒有算法的設(shè)計,而是跟著出題人的思路讀懂程序,補全代碼,完成做題,沒有鍛煉其獨立思考、編寫程序?qū)崿F(xiàn)特定功能的能力,學(xué)生在學(xué)習(xí)這門課時缺乏動力,想著只要通過期末考試即可,失去了學(xué)習(xí)這門課程的目標(biāo)。
學(xué)生通常在第一次課時充滿著新鮮感,態(tài)度端正,精神飽滿,因此,教師應(yīng)充分打磨第一次課的教學(xué)設(shè)計,讓學(xué)生明白本課程的性質(zhì)、特點和重要地位,引導(dǎo)其重視這門課程。第一次課可以向?qū)W生展示高年級學(xué)生使用C 語言編寫出來的各種應(yīng)用程序,或上網(wǎng)搜索C語言的應(yīng)用產(chǎn)品,讓學(xué)生直觀感受C語言可以做什么,明晰其具體應(yīng)用場景。許多學(xué)生對計算機十分陌生,因此第一次課可以適當(dāng)補充學(xué)科前置知識,例如介紹計算機的基本組成,介紹二進(jìn)制的概念,0 和1 的電路特性,猶如開關(guān)的開與關(guān)。通過C 語言的字母“C”,引出一個單詞“Combine”,意為“組合、結(jié)合”,讓學(xué)生明白C語言是高級語言和低級語言的結(jié)合體,其能直接操作計算機的內(nèi)存地址,讓學(xué)生很快記住C 語言的這一特性。從“把大象關(guān)進(jìn)冰箱需要幾步”談算法的概念,讓學(xué)生明白算法是解決問題的步驟和方法,不等同于數(shù)學(xué)公式,學(xué)計算機跟數(shù)學(xué)好不好關(guān)聯(lián)性不大,但是編程與邏輯思維有關(guān)系。C 語言程序設(shè)計這門課是今后其他專業(yè)課程的基礎(chǔ),提醒學(xué)生在學(xué)習(xí)本門課時肯定會遇到各種困難,要做好心理準(zhǔn)備,要持續(xù)不斷地努力。
教師可以采用線上線下混合式教學(xué)模式,通過在線開放課程或共享教學(xué)資源的方式讓學(xué)生進(jìn)行課前預(yù)習(xí)并完成章節(jié)自測,讓學(xué)生帶著“知識儲備”或者疑問進(jìn)課堂。在課堂上,教師根據(jù)自測結(jié)果調(diào)整教學(xué)策略,側(cè)重講解章節(jié)重難點和共性問題,留充足的時間讓學(xué)生上機實操。當(dāng)學(xué)生遇到問題時,教師不要立即給出答案,要逐步引導(dǎo)學(xué)生自己找出問題所在,嘗試獨立思考解決,最后集中講解統(tǒng)一的問題。每次課必須布置實訓(xùn)題目,根據(jù)學(xué)生能力水平,將題目分為基礎(chǔ)必做題和拔高選做題,鼓勵學(xué)生主動思考完成選做題。
興趣是最好的老師,教學(xué)活動的開展應(yīng)以培養(yǎng)學(xué)生的興趣為目的。教師可以安排豐富有趣的教學(xué)案例,不斷提高學(xué)生對學(xué)習(xí)本門課程的興趣,一旦他們對學(xué)習(xí)產(chǎn)生了興趣,在上課時便會集中注意力聽講、認(rèn)真思考,主動地去學(xué)習(xí)和研究他們感興趣的學(xué)科[3]?!癈 語言程序設(shè)計”課程有許多專業(yè)術(shù)語,概念抽象難懂,教師應(yīng)創(chuàng)設(shè)生活化的教學(xué)情境,充分調(diào)動學(xué)生的學(xué)習(xí)興趣,集中注意力參與課堂教學(xué)。例如在講解經(jīng)典排序之冒泡排序時,教師在課堂上找5 個學(xué)生(假設(shè)要求對5 個數(shù)進(jìn)行排序)代表5 個數(shù),數(shù)的大小由身高高矮決定,一目了然。5 個學(xué)生隨意站成一排,第1 輪相鄰兩個學(xué)生比身高,如果前面比后面的高就交換兩人的位置,繼續(xù)相鄰的兩位學(xué)生比,比較4 次可得出最高的學(xué)生;第2 輪相鄰兩個學(xué)生比身高……得出第二高的學(xué)生……第4 輪……通過“比身高”的過程將冒泡排序算法演繹得淋漓盡致,場景模擬使得學(xué)生將算法牢牢記在腦海里。通過創(chuàng)設(shè)生活化教學(xué)情境,讓學(xué)生容易理解復(fù)雜的概念與抽象的知識,提高學(xué)習(xí)興趣,學(xué)得更扎實。
教師不必按照教材順序講授課程內(nèi)容,應(yīng)合理編排和裁剪教學(xué)內(nèi)容,使其更符合高職院校學(xué)生的學(xué)習(xí)規(guī)律。要抓教學(xué)內(nèi)容的主要矛盾,知識點“夠用、會用”就行,不必深挖其原理。例如定義一個整數(shù)使用int 類型,教師可以直接告訴學(xué)生int 類型表示數(shù)的范圍即可,編程中80%的整數(shù)使用int 類型,學(xué)生會定義和使用即可,沒必要在課堂上學(xué)習(xí)反碼、補碼進(jìn)而計算每種數(shù)據(jù)類型表示的范圍。本門課是高職院校理工科各專業(yè)的第一門專業(yè)基礎(chǔ)課,有些章節(jié)如文件和編譯處理,講解概念與入門案例即可,后續(xù)專業(yè)核心課如Java 語言程序設(shè)計,會更深入、詳細(xì)地講解相關(guān)知識點。
C 語言程序的全部工作都是由各式各樣的函數(shù)完成的,C 語言也稱為函數(shù)式語言。傳統(tǒng)的C 語言課程教學(xué)講完三大結(jié)構(gòu)再講解函數(shù),學(xué)生形成思維定式,習(xí)慣在主函數(shù)中處理所有事務(wù)。作為計算機相關(guān)專業(yè)的學(xué)生,要早早建立“封裝和復(fù)用”的編程思想,遵循軟件“高內(nèi)聚低耦合”的設(shè)計原則。函數(shù)的作用是把相對獨立的某個功能抽象出來,教師在一開始訓(xùn)練學(xué)生編寫程序的時候,就先把函數(shù)的基本概念和傳值、傳址調(diào)用教授給學(xué)生,并要求學(xué)生對待以后的課堂實訓(xùn)或是課后作業(yè)都要用函數(shù)調(diào)用的方式完成[4],培養(yǎng)學(xué)生利用函數(shù)調(diào)用優(yōu)化程序的編程思維。
教師要加深對課程思政內(nèi)涵的理解,多參與專業(yè)的課程思政培訓(xùn),多研讀優(yōu)秀的課程思政典型案例,提高自身教學(xué)水平,要認(rèn)識到課程中不是所有知識點都能挖掘出思政融合點,思政元素不能“硬融入”?!癈 語言程序設(shè)計”這門課蘊含著許多思政元素的點,將這些點有機地融入課堂教學(xué)中,能很好地實現(xiàn)知識傳授與價值引領(lǐng)相統(tǒng)一的目標(biāo),以下舉幾個例子來探究如何從小知識點解鎖大思政。教師在講解C語言的發(fā)展歷程時,可以聯(lián)系我國的信息技術(shù)發(fā)展現(xiàn)狀,我國關(guān)鍵核心技術(shù)遭遇“卡脖子”,以此激發(fā)學(xué)生科技強國之志;在講解算法的概念時,讓學(xué)生明白做任何事情要有規(guī)劃,總攬全局,在眾多方案中求最優(yōu)解,培養(yǎng)學(xué)生精益求精的工匠精神;在講解三大結(jié)構(gòu)之選擇結(jié)構(gòu)時,啟發(fā)學(xué)生人生不同的選擇有不同的結(jié)果,要樹立正確的三觀,踏實走好人生每一步。在專業(yè)教學(xué)的課堂上融合思政教育,有助于學(xué)生加深對課程內(nèi)容的理解,培養(yǎng)健康向上的價值理念。課程思政意義重大,需要教師在教學(xué)中不斷地學(xué)習(xí)和凝練。
采用平時成績、階段性項目考核、期末考試相結(jié)合的“三位一體”考核方式。平時成績包括課前的線上視頻學(xué)習(xí)及主題討論、課前自測,課中的出勤、課堂表現(xiàn)以及課后作業(yè)完成情況等,占比30%。教學(xué)中采用綜合實訓(xùn)項目將各個章節(jié)的知識點串聯(lián)起來,模擬真實企業(yè)場景以團(tuán)隊的形式進(jìn)行,這期間需要學(xué)生通力配合,教師輔助指導(dǎo),以學(xué)生的項目參與度和完成度進(jìn)行個人自評、組間互評、教師點評的方式形成階段性考核,占比30%。期末考試占比40%,除了注重對課程基礎(chǔ)知識點的考查,還應(yīng)著重考查學(xué)生的實踐能力,如上機獨立設(shè)計、編寫、調(diào)試程序解決實際問題等,還可附加拔高題,鼓勵部分學(xué)生勇攀高峰。“三位一體”的考核方式更加全面、客觀,更能調(diào)動學(xué)生學(xué)習(xí)積極性,提高學(xué)生的綜合素質(zhì)。
本文針對高職C 語言教學(xué)中普遍存在的問題,從提高學(xué)生對課程的認(rèn)識、注重上機實踐、重構(gòu)教學(xué)內(nèi)容、落實課程思政、完善考核方式等方面進(jìn)行改革,旨在激發(fā)學(xué)生學(xué)習(xí)興趣,培養(yǎng)學(xué)生邏輯思維和解決實際問題的能力。在今后的教學(xué)中,課程組將進(jìn)一步探索符合高職院校人才培養(yǎng)目標(biāo)的教學(xué)方法,進(jìn)一步尋求提高學(xué)生實踐技能的教學(xué)模式,以期為社會培養(yǎng)更多高素質(zhì)的技能型人才[5]。