C語言程序設計教學與實踐

時間:2022-06-06 14:50:12

導語:C語言程序設計教學與實踐一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

C語言程序設計教學與實踐

摘要:本文針對高職高專院校學生來源和基礎不同、學生學習興趣不濃厚以及教師在教學過程中存在的問題采用了任務驅動式教學方法對“C語言程序設計”進行教學實踐,通過該方法不僅可以有效地激發學生的學習興趣,同時還能增強教師對學生實踐能力培養的重視程度,進而提升教學效果。

關鍵詞:C語言程序設計;任務驅動;教學實踐

一、概述

隨著互聯網技術的發展以及廣泛應用,計算機已經滲透到各個領域和行業,成為人們學習和生活最重要的組成部分,而運用計算機編程語言處理現實生活中的各種問題已成為每位大學生所必備的基本能力。因此,“C語言程序設計”課程作為現代高職高專院校計算機類各專業和電子信息類各專業所開設的一門必修課程。但是學生基礎較薄弱、學習興趣不深厚是高職高專院校的學生存在的主要問題,因此,采用任務驅動教學法提升學生的學習興趣,增強學生的實踐能力是十分必要的。任務驅動教學法通常是應用于技術性較強的學科類型中,通過為學生提供體驗實踐情境和感悟問題的情境,引導學生圍繞任務開展學習,并以任務的完成結果作為學習成效評價依據,實現學習過程問題分析的教學方法[1]。任務驅動教學法以建構主義理論為基礎,教師通過創設盡可能真實的學習情境,引導學生帶著“真實”的任務進入學習情境,使學習更加直觀和形象,從而有效地激發學生產生聯想和解決問題的欲望,激發學生的學習興趣,使學生處于積極的狀態[2]。

二、“C語言程序設計”課程現狀

(一)課程地位

“C語言程序設計”課程是現代高職高專院校計算機類各專業和電子信息類各專業所開設的一門必修課程,旨在提升高職高專學生的知識素養以及運用計算機進行邏輯思維的能力并掌握通過C語言編程來解決生活和工作中的實際問題,從而為學生就業打下堅實的基礎。以我院計算機系統維護專業為例,該課程為本專業的一門核心課程,在大一下學期開設,總學時為72學時。該課程在計算機系統維護專業培養方案和授課計劃中起到承上啟下的過渡作用,前導課程主要有“計算機導論”,后續課程主要包括“Java程序設計”“動態網站建設”等。

(二)課程目標

通過本課程的學習,使學生達到理解面向過程的編程思想,掌握計算機程序的順序結構、選擇結構、循環結構三大基本結構,掌握數組和函數以及指針的使用方法和基本操作等知識目標;達到掌握C語言的基本語法,會運行和調試及維護C語言程序以及通過使用C語言編寫相應的程序來處理實際問題等的能力目標;達到通過小組協作培養學生的團隊精神,通過任務驅動教學法提升學生的學習興趣和愿望的素質目標。

(三)教材分析

以我院計算機專業為例,“C語言程序設計”課程采用的教材為人民郵電出版社出版的《C語言程序設計任務驅動式教程》,主編為宋鐵橋、劉潔、趙葉。全書以任務驅動的方式講解了C語言的基礎知識和編程方法,共分為10個單元,包括認識C語言程序、C語言程序設計基礎、順序結構程序設計、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體和文件、項目實訓———ATM功能實現。

(四)高職院校學生現狀分析

1.學生的來源不同高職院校的學生一般由普通高中畢業生、中等職業學校畢業生、通過單獨招生(單獨招生考試是我國近幾年來經教育部批準,為進一步完善具有中國特色的高等職業教育體系,由高職院校單獨組織考試和錄取的一種新型招生方式[3])的社會考生等組成。2.學生的基礎不同不同來源的學生的基礎水平也不盡相同,普通高中文科畢業生理論知識較弱,大部分學生在高中階段對計算機程序設計語言都沒有過多的接觸,但他們的學習能力較強;對于中等職業學校畢業生而言,他們的動手實踐能力較強,而且在高中階段學習過一些程序設計類語言,如VisualBasic等;通過單獨招生方式的考生相對來說理論和實踐能力較差一些,但他們工作實踐經驗多一些。3.學生的學習興趣不濃厚大部分高職院校的學生缺乏自我約束能力,上課不認真學習的現象時有發生,尤其對于晦澀難懂的理論知識更是產生不了興趣,這就使得他們把大部分時間花費在其他事情上,從而給“C語言程序設計”課程的教學帶來困難。

(五)高職院校教學現狀分析

1.教師理論知識豐厚,但實踐經驗相對匱乏高職高專任課教師一般都具有研究生學歷,在畢業以后都具有比較扎實和豐厚的理論知識,但在如何把這些理論知識轉化為學生可以接受的效果知識方面還稍顯不足。除此之外,大部分教師并沒有在一線企業工作的實踐經驗,所以缺乏相關的項目開發基礎,在授課過程中還存在“紙上談兵”現象。2.機械地選擇教學方法,教學成果不理想針對高職高專院校的學生,教學方法有很多,如教師通過生動和簡明的語言向學生授課的講授法、在教師指導下分小組的討論教學法,展示各種實物或進行相關示范性實驗的演示法,到實訓實驗基地參觀教學法以及給學生布置任務的驅動教學法等。教師在授課過程中機械地選擇一種或幾種教學方法,并沒有考慮學生的整體情況和個體差異,再加上高職院校的教師其專業行為更多停留在教學方面,從知識論角度在課程建設方面付出的努力遠遠不夠[4]。因此,在授課過程中存在選取的實驗、任務不符合實際、脫離現實等問題,進而導致了教學成果的不理想。3.對學生實踐能力培養重視程度不足在傳統的“C語言程序設計”課程教學體系中教師占主導地位,教學內容也主要是由教師進行理論知識傳授為主。在這種教授為主,學生為輔的教學模式下,對學生實踐能力培養重視程度不足。較多的理論知識和較少的實踐內容形成強烈的對比,學生得不到相應的實踐和能力的提升,因此學生的實際應用能力存在較為明顯的欠缺。4.對提升學生學習興趣的方法還稍顯不足對于基本的理論知識,大部分教師在上課時都是采用PPT或板書的形式單純向學生講授,在授課過程中為了加強學生對知識的理解與記憶,需要反復強調重點和難點內容。因此,語言重復乏味,不能引起學生的學習興趣。同時這種單向的灌輸式講課方式,學生在上課過程中參與程度比較低,不愿參與和教師的互動。

三、任務驅動教學法實施步驟與應用

(一)任務驅動教學法實施步驟

任務驅動教學法可以提升學生的學習興趣,在增強教師對課程建設進行深入思考的同時提升對學生實踐能力培養的重視程度。具體實施主要包括如下幾個步驟:第一步:創設教學情境,即提出明確的任務,真實的情境創設能夠更好地激發學生的學習興趣;第二步:明確教學任務,即根據教學內容對教學任務進行分解,引導學生進行知識點學習;第三步:分組學生,完成學習任務;第四步:評價學生的學習成果。

(二)任務驅動教學法的應用———以循環結構程序設計為例

日常生活中,我們經常會對輸入的多個數據應用相同的計算,而通過使用循環語句就解決了煩瑣的重復問題。如果在程序中有需要多次執行的語句,那么就需要進行循環結構程序設計。循環結構是結構化程序設計的三種基本結構之一,循環語句序列可重復執行,直到某條件不成立(或成立)結束,或完成指定的次數。循環結構的編寫由循環語句來完成,有時我們還希望控制循環的進入和退出,所以還會使用一些循環控制語句。在本單元共劃分為六個典型任務來講解和分析C語言程序中循環結構的程序設計方法。1.創設教學情境,提出工作任務教學情境一:歌唱比賽求平均分———while語句的應用。為豐富學生課余生活,學院決定開展“校園十佳歌手”大賽,為體現比賽的公平公正,評委由各系組織并進行推選,在比賽時一名選手演唱完畢后由各個評委負責打分,選手的最終成績為所有評委的平均分。設評委人數不固定,由輸入的評委人數決定,每個評委打分后進行求和,打分次數和評委人數不相等繼續打分和求和,打分結束后計算平均分,最后輸出最終成績。教學情境二:翻牌游戲———do-while語句的運用。相信大家小時候都做過這樣的一個小游戲———翻牌游戲。翻牌游戲需要準備一副撲克牌,然后三個人一起玩。在玩的過程中不區分撲克牌花色,一人選擇奇數牌,一人選擇偶數牌,一人負責計分,計分原則為不同的牌代表不同的分值,如A代表1分,2代表2分……K代表13分,大王或小王代表0分,直到兩人抽到大王或小王為止,游戲結束,最終兩人累積得分高者勝出。教學情境三:彩票中獎———for語句的運用。有一個小型模擬彩票中獎機,現已知彩票中獎號碼是一個固定的3位數即原始號碼。中獎的原則為對任意一個三位數,取出它的每位數字和原始號碼的每位數字比較,共有1位數相同中三等獎,2位數相同中二等獎,3位數都相同中一等獎。在所有的三位數中進行比較,然后輸出所有的中獎數字。教學情境四:九九乘法表———循環嵌套的運用。我們從小學就開始學的九九乘法口訣,即“九九乘法表”,它是一個九行九列的表格,行和列均從1變化到9,要求大家輸出此表格。教學情境五:找朋友———break語句的運用。日常生活中我們都玩過找朋友的游戲。游戲的規則為一個同學在一群同學中找朋友,找到朋友后說再見,然后換下一個同學找朋友。我們現在玩找字母朋友的游戲,首先從鍵盤輸入要找朋友的字符m,然后判斷再次從鍵盤輸入的字符,如果輸入的是小寫字母a…z或大寫字母A…Z,則輸出找到字母m的朋友,如果不是字母則結束游戲。教學情境六:猜數游戲———continue語句的運用?,F在大家玩一個猜數游戲,游戲規則為請玩家輸入猜的數值,范圍為0到9,然后猜出100以內能被這個輸入的數字整除且個位數也是這個數字的所有整數,最后將所猜數字輸出,游戲結束。2.明確學習任務,分解教學任務任務一:理解循環結構的概念。循環結構是結構化程序設計的基本結構之一,它與順序結構、選擇結構共同作為結構化程序的基本結構。任務二:掌握解決循環問題的三要素。首先,循環需要確定重復執行的次數,因此要設計一個循環變量,并對它進行初始化;然后需要設計循環條件,用來控制循環的結束,避免程序為永久循環;最后需要設計合理的循環體。任務三:掌握循環while語句、do-while語句、for語句的語法格式和執行過程以及break和continue語句的運用。任務四:正確運用while語句、do-while語句、for語句三種循環。如果循環體包含了一條以上的語句,此時應該用大括號將循環體括起來以復合語句的形式出現,從而表示為一個整體;在循環中應有使循環趨向于結束的語句,即設置修改條件的語句;如果表達式的值始終為真(即值為1),則是永久循環。通過正確運用while語句和do-while語句以及for語句三種循環及相應的循環控制語句break和continue來實現六個創設的學習情境。3.分組學生,完成學習任務教師在課前將任務一作為預習作業布置下去,讓學生自主學習,并提前將學生按照4~6人進行分組,每組設立小組長。對于任務二和任務三則由教師根據已創設的教學情境進行講解,在講解過程中要注意觀察學生的反應和學生進行互動,任務四則由教師給予一定的指導,然后由小組長負責組織本組成員進行討論分析,直至解決問題,即實現六個教學情境。4.評價學生的學習成果評價學生的學習成果包括學生自評、學生互評、小組評價和教師評價四個方面。學生自評可以提升對自我的認識,提高知識的掌握程度;學生互評可以增進同學之間相互學習,各取所長;小組評價可以增強學生的團隊意識,發揚團隊精神;教師評價可以從學生的學習態度、學習方法、團隊協作等多方面客觀地進行評價,同時也可以增進師生友情。其中學生自評占20%,學生互評占20%,小組評價占30%,教師評價占30%。

結語

通過任務教學法,“C語言程序設計”課程取得了以下成效:一是有效地提升了學生的學習興趣,使得大家可以積極地參與課堂教學,不再是被動地接受書本知識;二是教學情境將學際問題和基礎知識相結合,培養了學生解決實際問題的程序開發能力;三是公平合理的效果評價有助于激勵學生學習態度,提升學習效果;四是學生在教師的指導下可以有效地參與到項目的實施中,激發學生的學習潛能;五是團隊小組合作解決問題增強了學生的團隊意識,對培養高素質的實用型人才提供基礎。

參考文獻:

[1]李楚貞,余育文.Java程序設計課程混合式教學研究[J].福建電腦,2021,37(01):127-129.

[2]趙煥信.任務驅動教學法在中職汽修專業教學中的應用[J].中學教學參考,2021(33):93-94.

[3]王爽.單招背景下財務管理專業高數課程改革探究[J].中國管理信息化,2021,24(17):221-223.

[4]陳聯記,王升.知識論視野下高職教學的問題、特點與策略[J].河北工程大學學報(社會科學版),2021,38(02):116-120.

作者:劉洋 單位:廊坊燕京職業技術學院