彭納新 陳俞強
1 廣東科技學院計算機系 廣東東莞 523808
2 東莞職業(yè)技術學院計算機工程系 廣東東莞 523808
基于任務驅動的高職院校C語言程序設計課程教學改革與實踐*
彭納新1陳俞強2
1 廣東科技學院計算機系 廣東東莞 523808
2 東莞職業(yè)技術學院計算機工程系 廣東東莞 523808
根據(jù)高職院校學生和C語言程序設計課程的特點,采用項目驅動的教學模式,明確教學目的,構建合理的課程內容體系,教學過程采用任務驅動的教學模式,在教學的任務過程中滲透C語言的理論知識和程序設計的理論知識,提高學生學習的興趣,進而領會程序設計的理念。實際效果驗證了任務驅動的教學方法是有效和可行的,更有利于計算機專業(yè)的學生學習后續(xù)的計算機課程。
C語言程序設計;任務驅動;程序設計理念
隨著信息技術和計算機技術的不斷發(fā)展,21世紀成為信息技術高速發(fā)展的新時代,越來越多的人從事計算機的程序設計工作。C語言是一門出色的程序設計語言,它以精煉、靈活、可移植性好、應用領域廣泛、目標程序效率高而著稱。國內外許多高校都將C語言程序設計作為計算機專業(yè)學生學習程序設計的入門課程。
C語言在當今計算機開發(fā)中仍然占有非常重要的地位,它在軟件開發(fā)人員的學習中起到承前啟后的作用。據(jù)TIOBE網(wǎng)最近的調研顯示,C語言在計算機語言應用中仍然占有重要的份額。TIOBE網(wǎng)站公布的程序設計語言受歡迎程度的趨勢如表1所示。由表1可知,10種最受歡迎的程序設計語言中,除C語言外,還包括Java、C++、C#、PHP、Perl等多種直接或間接參考C語言的語法特性,從中可以看出程序開發(fā)人員學習C語言的重要性。
即便如此,許多人仍然會問:為什么學習C語言?對這個問題,不同學校的教師、不同專業(yè)的學生、不同行業(yè)的程序員有可能給出不同的答案。因此,許多剛接觸C語言的學生,尤其是喜歡獨立思考的學生,會對這些回答產生懷疑,從而導致學習C語言的目的不明確,進而導致失去學習C語言的興趣。教師在教學過程中沒有說明學習C語言的真正目的,許許多多的C語言教學資料中也沒有真正揭示學習C語言的真正理由。程序設計是計算機專業(yè)的一門重要課程,其重要性并不是簡單地教學生編制程序,更重要的是讓學生轉換思維,體會過程化編程的思想,領會程序設計的理念,掌握通過計算機解決問題的方法。所以,C語言程序設計課程的教學難度將大大提高。
本文從C語言程序設計課程學習過程的根源上開始考慮,從教學目的、編寫教材的理念、課程內容的設計、教學模式的設計、考核方式等多個角度,針對C語言教與學過程中的問題,綜合考慮各方面的因素,嘗試對傳統(tǒng)的C語言教學模式進行改革。在教與學的過程中,開拓學生的思路,引導學生探究解決問題的方法,激發(fā)學生學習程序設計的興趣。
表1 10種最受歡迎的程序設計語言所占份額
程序設計是計算機專業(yè)的一門重要課程,重點在于培養(yǎng)學生的計算思維能力,讓學生嘗試以計算機為解決問題的工具。因此,針對計算機專業(yè)人才培養(yǎng)的特定,嘗試下面一些探索。
針對計算機行業(yè)從業(yè)人員的專業(yè)技能要求,從職業(yè)領域出發(fā),以實際問題的求解過程為引導,講授基于C語言的程序設計的基本方法;以結構化與模塊化程序設計理論為核心,將C語言相關的語法知識有機地結合到程序設計中,避免枯燥無趣的語法敘述,把教材編寫的目的從簡單的語法陳述轉變?yōu)榻虒W生如何使用C語言解決計算問題的方法和途徑。
在教材內容中,選擇一些趣味性強、有吸引力的實例,引導學生主動使用C語言編寫程序,努力提高學生的實踐能力。在教材內容的組織方面,也將簡單的數(shù)據(jù)結構和軟件工程理論知識融入其中,讓學生沿著數(shù)據(jù)結構從簡單到復雜這條線展開,接觸計算機軟件工程相關的思想和方法學,開拓學生的思維能力。
許多院校在進行C語言的教學過程中,均以講述C語言的知識點為主,主要講解C語言的語法,忽略了在教學中講述程序設計理念和計算思維的重要性。許多學生畢業(yè)后不一定從事C語言的開發(fā)工作,從而導致許多學生覺得學習C語言沒有任何用處。在傳統(tǒng)的教學過程中,無法讓學生思想觀念發(fā)生根本性的轉變,對后續(xù)計算機課程的學習作用幾乎為零。因此,針對計算機專業(yè)學生的教學,教師應改變觀念,讓學生改變思維方式,理解程序設計理念的重要性,培養(yǎng)學生的計算機思維能力,而不是僅僅學習C語言的語法知識。然而這些內容,學生也無法從簡單的幾句話或者幾次課程就能理解透,需要在不斷的程序設計中理解體會。
結合高職學生的特點,在設計課程內容時,采用以實踐操作為主、理論為輔的方式,依據(jù)程序設計語言在實際軟件開發(fā)過程中的應用場景及其要點進行規(guī)劃。根據(jù)C語言與程序設計的特性,結合前面所提的C語言課程的教學目標,采用項目驅動與情境相結合的模式,以C語言知識點在項目中的應用為導向,注重實際動手能力和自主學習能力的培養(yǎng)。
圖1 任務驅動的課堂教學過程
C語言程序設計課程以項目實施過程為導向,將課程分為多個項目,每個項目又根據(jù)實際崗位工作內容確定典型工作任務,典型工作任務又分解為若干個子任務,并緊緊圍繞工作任務的完成來選擇和組織課程內容,增強課程內容與職業(yè)崗位能力要求的相關性?;谌蝿镇寗拥慕虒W一般包括圖1所示過程,每一項任務教學按如下順序安排:
1)教師進行任務情景展示;
2)教師提出任務目標;
3)學生分組討論;
4)教師講授并演示任務的處理過程;
5)以學生為主體開展系統(tǒng)工作并完成任務;
6)教師總結完成任務情況及注意事項;
7)學生完成實驗報告。
在教學過程中,將程序設計的理念嵌入教學過程中,將學歷教育和職業(yè)技能獲取結合起來,學生畢業(yè)時可以獲得學歷證書,為進一步獲取職業(yè)資格證書打造一個更好的基礎,有利于提高學生的就業(yè)競爭力。
課程的教學是以任務驅動為主,學生在完成學習任務的過程中慢慢掌握C語言的使用,體會程序設計的理念。為后續(xù)計算機課程的學習打下堅實的基礎。課程內容由認識簡單的C程序、C語言的數(shù)據(jù)表示的應用、順序結構程序的設計、分支結構程序的設計、循環(huán)結構程序設計的應用等共12個項目組成(如表2所示)。每個項目始終以背景知識、項目設計及準備、項目實施、項目小結、理論分析和工程實訓為主線,每個項目根據(jù)所涉及的C語言與程序設計的知識點的多少分解為若干個任務。將基于C語言的程序設計的知識點融入相關的情景中,突出實用性,提高學生程序設計的能力。
在教學過程中,明確教學目標,學生通過完成上述項目,并通過相應的考核,也就很好地完成了C語言程序設計課程的教學任務。學生在學習的過程中不僅掌握C語言的使用和程序設計理念,在每個任務的學習過程中也充滿了探索學習C語言的樂趣。
傳統(tǒng)的期末考核多以筆試的方式進行。對課程考核方式進行改革,不再以知識點的考核為主。教師在完成每個項目的教學后,針對每個項目采用即時考核方式,根據(jù)學生的學習情況安排相應的任務,分階段考核學生的理論與實踐能力。根據(jù)每個項目在教學過程中的比重,對其進行階段性評分,作為期末成績的一部分。在學期結束的考核中,也將安排綜合性的項目,要求學生完成類似“學生成績管理系統(tǒng)”或“圖書館管理系統(tǒng)”的綜合項目,讓學生提高綜合運用C語言進行程序設計的能力。
表2 C語言程序設計的項目設計
本文針對C語言課程教學過程中存在的問題進行探討,從教學目的、編寫教材的理念、課程內容的設計、教學模式的設計、考核方式等多方面入手,進行一定程度的改革。教學實踐表明,改革取得較好的教學效果。通過課改,學生在后續(xù)的C#語言或JAVA語言學習中都比沒有學習C語言的學生效果要好得多,同時開發(fā)能力及語言學習自信心也會大大提高。然而教學改革探索之路是無止境的,教師與學生是教學過程中的兩個主體,兩者只有堅持不懈地學習與探索,才能實現(xiàn)教學相長,共同促進教學的發(fā)展。
[1]陳俞強,齊愛琴,徐暢,等.C語言程序設計實用教程[M].大連:東軟電子出版社,2011.
[2]丁海燕,鄒疆,邱莎,等.C語言實驗教學體系及改革措施[J].實驗技術與管理,2010,27(11):179-181.
[3]鄧維斌,周玉敏.提高C語言實驗教學效果的探索[J].實驗室研究與探索,2006,25(3):359-360,396.
[4]蘇小紅,王宇穎,孫志剛,等.C語言程序設計[M].北京:高等教育出版社,2011.
[5]李寅杰.高職《C語言程序設計》的信息化教學設計研究[D].遼寧:遼寧師范大學,2005.
[6]梁路.行為導向教學模式在“Linux操作系統(tǒng)”課程中的探討[J].廣東工業(yè)大學學報:社會科學版,2010,10(Z1):74-75,78.
[7]宋廣華,李善平,鄭扣根,等.邊學邊干:操作系統(tǒng)課程教學改革的探索與實踐[J].計算機教育,2006(7):27-29.
C Language Program Design Course Teaching Reform and Practice based on Task Driven in Higher Vocational Colleges
Peng Naxin, Chen Yuqiang
According to the characteristics of higher vocational college students and C Language Program Design Course, driven by project teaching mode, clear teaching objectives, to build a reasonable course content system, adopt the task driven teaching mode in the teaching process,penetrate theory knowledge of C language and programming theory knowledge in the process of teaching tasks, improve the students’ interest in learning, so that the students grasp the concept of program design. Actual results verified the task driven teaching method is effective and feasible, more conducive for the computer specialized student to learn subsequent computer courses.
Clanguage program design; task driven; program design concept
G712
B
1671-489X(2013)18-0074-02
10.3969/j.issn.1671-489X.2013.18.074
廣東省高等教育學會職業(yè)教育研究會重點項目(No:GDGZ10001);東莞職業(yè)技術學院教改基金(No:JGXM2011011和No:JGXM2012202)。
作者:彭納新,碩士,講師,主要研究方向為計算機高職教育。