◆劉志芳 劉 偉
(衡水學院分院)
C語言程序設計教學探討
◆劉志芳 劉 偉
(衡水學院分院)
C語言程序設計是計算機專業的基礎課,在整個課程體系中占有重要地位。在C語言教學過程中,教師的教法和學生學法的差異,對教學效果都會產生直接的影響。針對學生學習語言課程的一般思維規律和思維模式,進一步探討適合專科院校學生的教學方法,對以后的C語言程序設計教學有所幫助。
C語言程序設計是一個邏輯性很嚴謹的課目,學生在設計程序時常常感到無從下手。其原因可分為兩個方面:一是所使用的教材,在每一章節介紹完概念之后,提供一些例子加深學生對概念的理解,針對本章中出現的內容提供一些練習題。用來測試學生對各章節中的基本概念記憶和理解程度。二是學生更多關注的是教材中的典型例題,對于程序的系統概念沒有真正掌握理解,沒有整體設計的概念,在做練習題時涉及到綜合編程部分感到困惑。學生在學習的過程中,沒有注意到如何綜合運用相關內容解決具體問題,以導致學生在學完程序設計課程時,進入應用階段,面對具體的專業設計要求無從下手。
通過C語言課程的學習,學生應正確理解C語言的基本概念,掌握語句的格式及用法,編寫出優化的實用程序。我們知道C語言課程強調的是實踐性,對于計算機語言課程的教學不應僅僅是傳授知識,應該以培訓能力為主,過分強調該語言的系統性和完整性可能會轉移學生對課程重點的注意力。在規定的課時內教師講解不可能面面俱到,所以授課時必須突出重點,突出實用性,遵循理論與實踐相結合的原則。教師應始終堅持以應用為中心,以算法為基礎,以培養學生的實踐能力為核心,突出技術實用性和學習能力的培養。
程序設計課程具有很強的實踐性,要以社會對編程能力的需求和技術發展為依據,調整教學內容,以適應技術崗位能力要求。在課程設置與建設中,要充分體現教學內容在培養學生實踐能力方面的需求,適當增加實訓教學內容,以強化學生的實際開發和應用能力。
C語言程序設計,注重由設計算法到書寫程序并進行調試的整個過程,顯得抽象復雜。在教學過程中,應該先介紹一個較完整的程序例子,該例子包含了語言中的主要語句,目的是使學生先對程序有個初步的印象,再簡單介紹該例子中用到的語句,讓學生對該語言的學習有一個大概的了解。整個教學過程中應該把“解題思路、方法和步驟”當作授課的重點,從而讓學生明白如何分析、解決實際問題,逐漸培養學生進行程序設計的正確思維模式。
算法是程序設計的靈魂,是教學重點,也是教學難點,一個優化的程序必有一個好的算法。而語言只是表示形式,沒有正確的算法,計算機將解決不了任何問題,對于C語言所涉及到的算法,應進行部分精講多練。通過案例分析,講解程序設計的思想和方法,將課程內容分為若干個主題,以程序設計做為貫穿各主題的主線。每個主題的教學過程由“要點講解”、“練習上機實踐”和“疑難解答”三個階段組成?;趩栴}的教學提出問題,以學生獨立完成為主,教師只提供必要的輔導,培養學生探索問題和解決問題的能力。將C語言的知識點溶化到一個個實訓項目的程序編寫中。在課程初期,主要是進行單項的編程練習,重在掌握C語言的基本語句、數據類型與程序結構等。在進入數組、函數、結構、指針和文件內容教學時,開始實訓項目的編程實踐,逐步組建“教師管理系統”,并且添加文本菜單,整合擴展記錄添加、排序、查詢、統計和記錄瀏覽等內容形成課程設計。
計算機軟件課程具有多樣性、復雜性特點,我們要針對每個學生任務完成的情況,讓同學們展示自己的勞動成果,及時肯定學生的成績,這樣會有利于激發學生們的學習熱情,保持濃厚的學習興趣,對學生的后續學習將產生強大的動力和自信心,也可以對每次任務的完成情況進行積分制度,算入期末成績中,以激發學生們的學習興趣。
可以通過給學生布置作業的形式讓同學們自學,初始階段往往會遇到因為學生自學能力差而帶來的困難,所以在學生完成任務時,老師既要要求學生獨立思考、自主學習,又要鼓勵學生間進行協作學習。教師可以分配一些比較復雜的問題,由幾個學生組成一個小組合作解決,這樣同學們可以互相探討學習方法,協作解決一些遇到的問題,通過解決問題,鍛煉學生綜合應用知識的能力、培養其創造性和合作精神。在教學中教授的不僅僅是具體語言的語法知識,更重要的是通過這門語言學習,培養學生發現問題、分析問題、解決問題的能力,使學生更好的學好是C語言這一課程。