拓明福,張紅梅,李宗哲
(空軍工程大學 裝備管理與無人機工程學院,陜西 西安 710051)
《計算機程序設計基礎》是大學計算機基礎教學系列中的核心課程之一,是理工科本科生必修的一門信息類基礎課[1-2],也是大部分高校開設的第一門計算機語言課程,對學生后續專業課程的學習起重要作用。本課程以C語言為背景,講述C語言的語法、結構化程序設計方法、基本數據結構和典型算法等方面的內容。
該課程概念多、方法新、入門難,這些特點使得教師和學生普遍感到C語言難教也難學。針對這一教學困惑,本團隊在實際教學中不斷探索和嘗試新的教學方法和模式,提出了有效的教學改革措施,并根據實際教學改革需要,建設了一批配套的教學資源。
在《計算機程序設計基礎》課程教學中,無論是教材還是實際課堂教學,通常都是先介紹概念、分類,其次花大量時間講解繁瑣的語法細節,最后講解教材中的實例程序。學生在學習程序設計時,懷著興奮的心情進入課堂,面對大量難以理解的新術語、繁瑣的語法細節講解和枯燥的例題分析后,對程序設計產生了厭倦情緒。上機時也只是對照著教材上的例子進行驗證,一旦獨立進行程序編寫往往感到無處下手,進一步加深了學生學習編程的畏難情緒和挫敗感[3-5]。
針對這一現狀,在教學中提出“循序漸進、實用為主、精講語法、重在方法”的教學指導思想,對教學內容進行重新整合,將教學難點進行分散,達到循序漸進的教學效果。另一方面,在軍隊教學服務平臺建設本課程精品資源共享課,制作大量原創性的多媒體教學資源。資源類型豐富,包括文字、圖片、教學視頻、多媒體課件、微課程、題庫等多種類型。針對課程的重難點知識制作一系列微課。多種類型資源互相補充,力求達到復雜問題簡單化、抽象問題形象化、枯燥問題趣味化。
程序設計教學的主要任務是培養學生設計算法、編寫程序、分析問題、解決問題和計算思維能力。這些能力的培養都離不開上機實踐。本文圍繞各章節的教學內容精心設計實驗任務,明確實驗目標。按照“模仿、改進、創造”的編程學習規律,設置“程序填空、程序改錯和程序編寫”等不同類型和難度的任務。此外,設置六個源于實際生活的開發項目,項目綜合性較強、難度較大,一般由小組合作完成,鼓勵學生學以致用,培養創新能力和團隊精神。
算法設計方面,通過入門訓練、基礎練習、算法訓練和算法提高四個層次循序漸進地進行編程練習,從做題思路、解題方法兩種維度提供錦囊,強化程序設計方法、算法、數據結構等相關知識,訓練學生的計算思維能力。
課堂教學中,要求教師能夠準確深入地把握教學內容,同時也要注意應用合理的教學方法,提高教學手段。以下是實際教學中一些主要的教學方法。
在課堂教學中采用案例教學法,一般遵循“提出問題——分析問題——解決問題——歸納分析”的過程,案例分析貫穿于教學過程的始終。通過分析案例的需求,設計合適的算法,繪制相應的算法流程圖,最后再用C語言編程實現。這種教學方法可以有效提高學生設計算法和編寫程序的能力,解決學生普遍存在的會讀程序但不會寫程序的問題。
充分調動學生學習的主動性,發揮其自主性是教學過程中非常重要的一環。根據這門課程的教學內容和學生的興趣,課前給學生布置部分專題,讓學生在課前分組查閱資料、深入思考,然后在課堂上組織學生積極發言、相互討論。這種做法不僅可讓學生獲得很多課外知識,而且有利于培養他們的創新能力。
基于豐富的網絡教學資源,在全部教學期班中嘗試分級教學、混合教學等新教學模式。2014年以來,把教學期班分為三級班和普通班兩個級別。2017年起,在此基礎上又增加了“火箭班”級別。開課前,采取學生主動報名和計算機能力考核相結合的方式確定各級期班人員。根據班級層級按照教學目標分級、教學內容分級和考核評價分級實施。這種教學模式改變了傳統的“一刀切、齊步走”教學模式,做到了因材施教[6]。
《計算機程序設計基礎》是培養大學生信息素養的重要基礎課程之一。作為大學生程序設計的入門課程,具有概念多、方法新的特點[7-8]。針對這些特點,本文根據實際教學經驗,從課程教學的各個環節實施了一系列改革,建設了配套的教學資源,總結了經驗教訓。實踐證明,這些改革措施的實施,取得了良好的教學效果,有效促進了學生信息素養的培養。