裘子煦
摘 要:C語言程序設計課程設計一門實踐課,要求一周內(nèi)結(jié)束教學,時間緊任務重,必須事先制定一套完整的管理方案。本文作者根據(jù)多年的教學閱歷,總結(jié)了課設的目的和意義,詳細闡述了課程設計五個遞進環(huán)節(jié)及其管控方法,內(nèi)容豐富,可操作性非常強。課設的得分,既能全面反映學生的結(jié)構(gòu)化程序設計思想和水平,也能表達學生的寫作、繪圖、排版等圖文處理技能,培養(yǎng)勤思考善動手的學生一直是我們奮斗的目標。
關鍵詞:C語言課程設計的目標;課程設計的組織管理
《C語言程序設計課程設計》是學生在學習《C 語言程序設計》課程的基礎上,必須親歷而為的實踐操作鍛煉,課設的范疇包括用戶的需求分析,數(shù)據(jù)結(jié)構(gòu)定義,系統(tǒng)流程走向,函數(shù)的代碼書寫與調(diào)試,功能模塊的劃分與實現(xiàn),課設設計報告的編撰等,引導學生較為全面地把握結(jié)構(gòu)化程序設計的編程理念。課設內(nèi)容主要是調(diào)查、剖析和歸納工作中的實際應用案例,采取建立鏈表組織數(shù)據(jù),完成編寫輸入、插入、修改、刪除、統(tǒng)計、查詢等函數(shù),悉知它們之間遞進和相互依存的聯(lián)系,最終學會靈活地運用C語言謀劃、撰寫一套比較完整的實用程序,為后續(xù)課程的學習奠定扎實的實訓基礎,提高學生在未來求職時解決現(xiàn)實問題的動手能力。
一、課程設計的目標
課程設計的教學目標如下:①加深對所學C 語言程序設計課程的全面理解,涵蓋從單個變量的設定到結(jié)構(gòu)體變量的遞推;從記錄在數(shù)組中的固定存放向鏈表的動態(tài)存儲轉(zhuǎn)化;從一個main函數(shù)擴展到功能各異的函數(shù)集合;從一個簡單的算法演繹出繁瑣的算法邏輯。②鼓勵學生研讀軟件工程方面的書籍,查閱資料善于思索,用系統(tǒng)的觀點看待課設的題目,捕捉函數(shù)之間關聯(lián)運行的紐帶。③針對算機領域面臨的復雜工程問題,學生可以優(yōu)選恰當?shù)募夹g、資源、工具進行開發(fā),尋覓一條預測、模擬求解的有效方法和途徑。④經(jīng)歷課程設計活動,培育學生初步的社交、應變、溝通協(xié)調(diào)和集體合作的意識和本領,做到理論與實際相結(jié)合,造就嚴謹?shù)淖黠L和科學的態(tài)度,在多學科背景下的團隊中承擔個體、成員直至負責人的角色。
二、課程設計的組織管理
教師的管控應該貫穿課設始終,嚴禁抄襲代做,定時掃描動態(tài)碼考勤。依托大綱、進度表約定學生在各階段應該履行的職責,教師認真把關及時小結(jié),敦促學生愉快地體驗自主完結(jié)課設的歷程。按照時間的順序,教師的課程設計進程管理涉及到五個關鍵的教學環(huán)節(jié),它們依次是,布置課程設計教學任務、在PTA平臺上選定編程題供學生熱身操練、督促學生在機房上機訓練并陪伴巡視答疑、面對面逐個答辯驗收、成績評定和上報。接下來就這些環(huán)節(jié)作詳細解讀。①課設通常在學期末實施,提前兩周召集學生做動員部署,組建QQ群方便教師和學生交流,公示課設指導書,要求學生在教師提供的拾套參考題目范圍內(nèi)選題。課設題目應根據(jù)學校的人才培養(yǎng)方案,課程的內(nèi)涵和教學大綱擬定。應具有一定的綜合性、設計性、權(quán)威性,難度和份量適中,使得大多數(shù)學生在指定的時間內(nèi)結(jié)題。應注重有潛在價值,與生產(chǎn)、科研密切相關的事例。例如學生證管理程序、圖書登記管理程序、汽車零部件采購管理程序等。一人一組或者兩人一組是常見的分組形式,前者憑借學號的最后一位定題,后者偏重學生的興趣愛好自愿組合。②在明確課設的目的后,學生隨時隨地登錄PTA,嘗試通過編程題的驗證,提交正確的結(jié)論以便獲得客觀公正的平時成績。③課設的教學計劃是1周共計7天,周一查找資料完善整體策劃。周二至周四編輯、調(diào)試系統(tǒng),滿足白盒、黑盒測試的考驗,且取得滿意的效果。周五整理課程設計報告,包含下列指標:需求分析,簡述課題要解決的問題是什么,有什么述求和限制條件。總體設計,系統(tǒng)概要詮釋,總體和分層功效的框圖、為每個函數(shù)繪制標準化的流程圖。詳細設計,函數(shù)功能模塊的細致注解,闡述入口、出口參數(shù)以及函數(shù)間調(diào)用的關系。檢測過程與檢測結(jié)果,曬出測驗用例,粘貼程序執(zhí)行畫面的截屏予以佐證。附錄,附上源程序清單并給程序行添加注釋。套用教師給定的課設模板,報告成文不少于3000字。檢查標題級別和自動生成的目錄、截屏和流程圖的嵌入位置、分頁及合理的版面布局,最后統(tǒng)一保存成word文檔格式。④最后兩天答辯驗收,每組兩次答辯機會,每次不超過十分鐘。教師詢問學生應答,一組一組篩查。教師提問的話題舉例:解釋mallo()函數(shù);當strcmp()的值等于1、0、-1時的涵義;敘述頭插法和尾插法的區(qū)別;故意鍵入錯誤的日期觀察程序的容錯冗余;編程展現(xiàn)二維表的屏顯方式;刪除一段代碼重新“默寫”;檢視流程圖的數(shù)量和畫法等等,上述部分措施非常實用,單獨或交叉采用,能直接戳中學生在課設中普遍存在的短板。⑤成績由平時作業(yè)占比10%、程序設計25%、綜合答辯40%、課設報告25%四項構(gòu)成,在練習日期截止后經(jīng)平臺數(shù)據(jù)庫可實時導出平時成績。成績評定先按百分制分類計算,匯總后再折算成五級分制上報。評分規(guī)則概述:優(yōu),平時成績滿分。程序運行頁面干凈,有各項處理提示,不死機不跳出,具備從文本文件里讀入數(shù)據(jù)和存回數(shù)據(jù)這樣的擴展功能,給予加分考慮。答辯時思路清晰,觀點正確。報告詳實規(guī)范。良,平時成績得分。程序運行畫面較好,容錯強,基本功能完善。答辯時須要教師點撥,論點基本正確。報告雖充實卻留有瑕疵。中,運行界面還行,基本功能完善,特殊狀況下疑慮死機和異常退出風險。答辯時只講自己熟悉的一面,觀點欠妥。報告一般,論述不充分。及格,運行時少有清屏,基本功能有待彌補,錄入要小心,一旦輸錯極易鎖死。答辯時吞吞吐吐,觀點含糊。報告尚可,缺陷較多。不及格,答辯時錯誤太多,教師點出后學生自身沒本事改正,只好放棄,另外缺考也是不及格的原因。兩輪驗收,對多數(shù)學生產(chǎn)生觸動,令其竭盡所能改進,爭取過關。
三、結(jié)束語
課程設計是許多理論課的后續(xù)課程,這類課程的共同特點是實踐比重較大。對于教師,有深厚職業(yè)修養(yǎng)、豐富教學經(jīng)驗的教師,才能勝任本職崗位。教書育人,務實謹慎,保證指導時間和質(zhì)量是教師應盡的義務。對于學生,遵守教師的教學安排,不遲到不早退。養(yǎng)成獨立思考、刻苦鉆研、勇于創(chuàng)新的個人品質(zhì)。兩者相互融合有益于教學效能的最大化。梳理C語言課程設計的教學脈絡,突顯出人才成長道路上的艱辛。
參考文獻:
[1]馮向東, 周洪元, 創(chuàng)新源于實踐, 華中科技大學, 2006年6月.