張巍娜
摘要:針對應用型本科院校,校企合作專業(yè)特點,對C語言課程內(nèi)容、特點、課程定位、作用進行分析,探討課程主要內(nèi)容和課程資源的特點,以本校學生為例對學情進行分析,分析學生學習基礎、學習特點,以近三年采取的教學方法改革為例,對教學過程的探索實踐進行分析總結,最后提出新的教學改革方案。
關鍵詞: C語言;應用型本科院校;教學
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2018)25-0080-02
1 概述
C語言程序設計作為一門重要的學科基礎課,特別是新生進入大學校門的第一門程序設計類專業(yè)課程,在計算機專業(yè)教學體系中舉足輕重。其重要性不但體現(xiàn)在與后續(xù)的課程聯(lián)系非常緊密,而且編程能力的高低也是應用型人才培養(yǎng)成效的重要體現(xiàn)。因此,C語言是專業(yè)學習的一個起點,C語言課程教學不應局限于使學生掌握C語言的基本語法規(guī)范,而更應該激發(fā)學生的學習興趣、學習熱情,要致力于培養(yǎng)學生運用C語言解決實際問題的編程能力,要引導學生實現(xiàn)問題求解思維方式的轉(zhuǎn)換——即培養(yǎng)學生的計算思維能力。
2 課程分析
2.1 課程內(nèi)容
應用型本科院校的校企合作專業(yè)C語言課程的主要內(nèi)容,與普通高等院校計算機相關專業(yè)的內(nèi)容要求存在一定差異。校企合作相關專業(yè)的課程內(nèi)容深度、廣度偏小,注重實效、側重應用需求,比如對指針、鏈表等內(nèi)容不做硬性要求。以赤峰學院校企合作相關專業(yè)為例,C語言程序設計課程的主要內(nèi)容有三種基本結構、數(shù)組、函數(shù)的使用,難點內(nèi)容有循環(huán)嵌套、二維數(shù)組、字符數(shù)組、遞歸、函數(shù)的使用。但在教學過程中,考慮到與后續(xù)課程的銜接,也對原有的大綱做了一些調(diào)整,增加了遞歸、指針等內(nèi)容。
2.2課程實驗
C語言是一門實踐性非常強的課程,實驗是本課程的重要組成部分。因此,在每一輪的教學過程中都需要對各個章節(jié)原有的實驗練習進行不斷地增加、和修訂。目前本專業(yè)的C語言課程小型實驗項目有70項左右,主要設計的是一些貼近生活的實驗項目。比如,在學習到順序結構部分,要設計實現(xiàn)一個存款、貸款利率計算器;在選擇結構部分要設計實現(xiàn)一個身高預測小程序,根據(jù)父母身高,及是否鍛煉身體,飲食習慣等進行身高測算;在循環(huán)結構部分,設計實現(xiàn)一個青年歌手大賽評分程序;在數(shù)組部分設計一個以柱狀圖為餐飲業(yè)打分的小程序;還有后期的綜合應用項目中的ATM模擬系統(tǒng)等等。這些項目能夠讓學生體會到迎接挑戰(zhàn)的樂趣和解決實際問題的成就感,成效良好。
總體來看,在學習過程中,比起枯燥的理論學生們還是比較喜歡實驗操作的。經(jīng)過不斷的嘗試,程序調(diào)試成功,運行出了結果,每個學生都喜歡這種成功的喜悅,而失敗的實驗也迫使學生會回頭反思在知識點上的疏漏,好的實驗設計是教學效果的有力保障。
2.3 課程資源
課程資源主要體現(xiàn)在教材、教參方面。本校的校企合作專業(yè)C語言教材選用的是十二五規(guī)劃教材,北京航空航天大學出版社《C語言程序設計基礎》及其配套實驗指導。這套書的優(yōu)點是比較簡單明了,實驗指導里還有配套的用來強化知識點的練習題目,難度層次適合本專業(yè)生源,但缺點除了有少量錯誤外,練習冊上個別筆試題目意義不大。在教學過程中主要采用的參考資料為哈爾濱工業(yè)大學蘇小紅教授的《C語言程序設計》,哈工大的C語言課是國家級精品課,在精品課網(wǎng)站上有一套完整的免費的網(wǎng)絡學習資源,同時這門課也在中國大學慕課網(wǎng)站上開設了慕課課程,可以手機下載app免費參加學習。在教學過程中,這些精品資源也都推薦給了學生,但這個資源對于本校校企合作相關專業(yè)學生來說存在的主要問題是,課程內(nèi)容比本專業(yè)大綱更多、更深,有些內(nèi)容部分學生不容易理解掌握,學習上的困難在一定程度上影響了部分學生的學習積極性。
3 學情分析
隨著計算機在生活中的普遍應用,新生百分之百接觸過計算機,但大多數(shù)學生在專業(yè)學習開始之前,對計算機的使用主要以娛樂,如游戲、通信、購物等為主,基本上沒有接觸過程序設計,當然這種情況在不久的將來可能會發(fā)生變化,南方已經(jīng)有若干省市逐步要把信息技術相關內(nèi)容納入高考,還有很多面向中學生的編程競賽等等,都在悄悄地改變著學生們的學習基礎。
C語言課程作為新生的第一門專業(yè)課,擔負著激發(fā)學生學習興趣的重任,因此在C語言的第一次課上,本人一般都會講一些關于C語言的有趣故事,比如C語言之父丹尼斯·里奇和肯·湯普森的故事。這些生動有趣的故事既能激發(fā)學生的好奇心,又傳遞給學生這些大家們的極富鉆研精神,勇于挑戰(zhàn)技術極限,又樂于分享的可貴精神!最主要的還是讓學生對程序設計覺得很新鮮有興趣。當然,不同學生的學習能力、基礎有差異,教學中需要因材施教,對于厭學的學生最重要的是扎實其理論基礎,提高解決問題的能力,對于樂于學習的,重要的則是知識轉(zhuǎn)換和能力培養(yǎng),切實提高應用能力、綜合能力。大多數(shù)學生根據(jù)現(xiàn)有知識解決實際問題的能力相對較弱,而這種能力正是需要不斷地學習、訓練以待學生重點掌握的。
4 教學設計及教學方法
C語言在教學中特別要注重教學設計,同時根據(jù)教學設計采用合適的教學方法。通常,教學中主要采用多媒體教學結合現(xiàn)場編程演示的方法,在需要的時候也會結合板書,這種方式信息量大,直觀,通過對程序的分析設計、編輯、鏈接、運行、調(diào)試整個過程的演示,增強學生的感性認識,避免紙上談兵。同時還會根據(jù)內(nèi)容需要采用任務驅(qū)動(提出明確的任務目標,引導學生實現(xiàn)任務,在實現(xiàn)任務的過程中學習知識點),案例驅(qū)動(通過具體案例來揭示知識點與實際問題之間的關系),分組協(xié)作(以小組為單位完成實驗項目)等諸多方式方法。
以講授循環(huán)嵌套的教學設計及教學方法為例,主體采用的是任務驅(qū)動法,提出輸出一行9顆星號后換行的任務,這個要求學生們都能做到,當然會有學生不用循環(huán)而直接輸出9顆星號,這時候就可以把任務變成在9后面添加兩個0,即任務要求變?yōu)檩敵?00個星號,學生將不得不選擇用循環(huán)來實現(xiàn)了。接下來任務升級,要求把這行星號輸出9次,或者說輸出9行,這就引出了循環(huán)嵌套的概念,而后任務繼續(xù)升級把星號替換為數(shù)字,進而再變換輸出的數(shù)字形式,最后任務升級為輸出九九乘法表。在執(zhí)行任務的過程中配合分析講解,有了99乘法表這個循環(huán)嵌套的案例,再以此案例為基礎,提出下一個任務,模擬電子時鐘。這樣的教學設計前后任務環(huán)環(huán)相扣,使得隨著任務的螺旋提升學生的認知在啟發(fā)中不斷被強化。
5 教學過程
5.1 五步學習法
在C語言教學過程中一般會遵循提出問題、分析問題、解決問題、問題擴展,再次解決,對解決方案進行師生評價,進一步對解決方案進行優(yōu)化改進,這樣一個不斷向前推進的過程。在這個過程中,學生的學習熱情、學習興趣會得到調(diào)動,并且通過對問題的不斷深入和擴展,開闊學生的思維,使得學生在課堂上真正地成為“主體”,教師扮演“主導”角色。 并且,在此過程中去實現(xiàn)聽、看、抄、改、寫這樣的一個由積累到質(zhì)變的過程。這里的“聽、看、抄、改、寫”的五步學習法,一直是相關合作企業(yè)非常推薦的,也在實踐中證明了行之有效的程序設計類課程學習方法。
5.2 理論實踐相結合
在這里特別要強調(diào)的是,C語言的教學過程從來都是理論與實踐不分家的。任何知識點的學習、問題的解決都是通過實際應用,在編程實踐中來掌握的。這樣的一個教學過程,也是一個對學生進行編程訓練的過程,使學生明白程序設計的第一步是分析也就是需求分析,弄清楚要讓計算機做什么。第二步是設計,搞明白計算機該怎么做這件事。這里就包括兩個方面,一方面是用數(shù)學的方法對問題進行求解,也就是設計算法、數(shù)學建模,另一方面設計程序代碼結構,使程序易于修正、擴充、維護。當然,不是所有的數(shù)學模型都能用程序高效地實現(xiàn),而有些數(shù)學中難以處理的問題,卻可以利用計算機的特點巧妙地解決,計算思維就體現(xiàn)在這個部分。第三步才是把設計的結果變成一行行的代碼輸入到編輯器里。第四步是調(diào)試程序把源代碼變成可執(zhí)行的程序,運行,看看是否滿足第一步的要求,不滿足就要查找問題,修改再編譯運行。在教學中對學生會提出課后還會總結的要求,前面章節(jié)一般是先由老師進行總結,到后期,就會要求學生,自己來進行知識點的總結,一方面鍛煉了學生的歸納總結能力,另一方面也是對知識體系的再次鞏固。
5.3 考核評價
在教學評價方面,不是一張考卷定成績,而是采用多樣化的考核方式,過程化考核和結果考核相結合,理論考核和實踐考核相結合的方式。同時在新學期,計劃采用考試系統(tǒng)全面代替紙質(zhì)試卷進行各階段考核。
6 教學探索
鑒于學生普遍存在的解決實際問題能力弱,理論理解和實踐動手不能很好地結合的這些突出問題,如果能把課上的寶貴時間更多的利用在前面說的編程訓練中而不是把大把的課堂時間放在知識點的傳授上,合理利用碎片化的時間,來掌握一些易學易會的知識點,那么教學效果應該會有很大的提升。因此本人做了這樣一些教學探索,把近些年比較熱門的慕課教學應用到了C語言教學中。以本院15級對口班為例,參考的是中國大學慕課的“C語言程序設計精髓”哈爾濱工業(yè)大學的慕課課程。面對這樣一套慕課精品,在應用中還是存在問題,主要是這套慕課深度、難度不適合我們的學生,基本沒有學生能全面完成慕課任務。所以在本院16級普本班的教學中,改為采用合作企業(yè)青軟碼課學院的一套C語言實訓的慕課內(nèi)容。該項目為ATM模擬系統(tǒng),教學具體實施方案為要求學生課下進行慕課課程碎片化學習,課上集中驗證、解決疑難問題、調(diào)試程序。這個慕課和課堂相結合的效果還是不錯的。使用之后也對學生做了問卷調(diào)查,對課堂教學結合慕課的教學形式,做了總結。
7 結束語
通過以上教學改革探索,進行教學反思,存在如下問題:首先目前的教學過程,實際上還是老師教得多,學生自主的少,在學生創(chuàng)新能力的培養(yǎng)上還不夠。因此在一輪一輪的教學過程中,針對不同的教學內(nèi)容,就要不斷調(diào)整探索更好的教學設計,好的教學設計可以使學生真正的變成課堂上的主體,而教師成為主導,按照學生的學來設計組織教師的教,啟發(fā)引導,精講多練,理論與實踐相結合。具體的啟發(fā)引導的方式還要不斷地探索更新。其次,要在現(xiàn)有課時、硬件設備條件的約束下繼續(xù)探索課堂教學和慕課學習形式的更好的結合方式,以進一步提高教學效果。
參考文獻:
[1] 蘇小紅,王宇穎,孫志崗.C 語言程序設計[M]. 3版.北京:高等教育出版社,2015:1-273
[2] 茍燕. 多平臺融合有效實施 MPOC 教學[J]. 內(nèi)蒙古師范大學學報 :教育科學版,2017(30):145-147.
[3] 侯欣舒,趙希武,茍燕. 基于MOOC的翻轉(zhuǎn)課堂教學模式實踐應用情況調(diào)查分析[J]. 內(nèi)蒙古師范大學學報:教育科學版,2016(9):80-82.
【通聯(lián)編輯:謝媛媛】