時(shí)間:2022-06-03 12:59:13
導(dǎo)言:作為寫作愛好者,不可錯(cuò)過為您精心挑選的10篇程序設(shè)計(jì)實(shí)訓(xùn)總結(jié),它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。
0.引言
C語言程序設(shè)計(jì)實(shí)訓(xùn)這門課程要求學(xué)生掌握計(jì)算機(jī)程序設(shè)計(jì)語言的基本知識(shí)和程序設(shè)計(jì)的方法與技術(shù),培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)解決實(shí)際問題的能力,重視學(xué)生實(shí)際編程能力和程序思維能力的培養(yǎng),通過學(xué)生上機(jī)編寫程序來提升學(xué)生的編程能力,培養(yǎng)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新能力。
C語言程序設(shè)計(jì)為其前導(dǎo)課程,是對(duì)其前導(dǎo)課程知識(shí)的鞏固、實(shí)踐與提升,是ACM程序設(shè)計(jì)課程的基礎(chǔ),通過此次實(shí)訓(xùn)為程序設(shè)計(jì)比賽和ACM大賽輸送人才,使更多的學(xué)生在全國的各種編程比賽中取得好成績,同時(shí)為學(xué)生畢業(yè)后從事編程工作打下良好的基礎(chǔ),為企事業(yè)單位輸送程序設(shè)計(jì)人才。
本人根據(jù)C程序設(shè)計(jì)實(shí)訓(xùn)課程教學(xué)中存在的問題對(duì)教學(xué)內(nèi)容、教學(xué)方法,考核方式進(jìn)行了改革,并以本校2010級(jí)軟件班學(xué)生為試點(diǎn)進(jìn)行教學(xué),總結(jié)了一些經(jīng)驗(yàn)。
1.教學(xué)中存在的問題及解決對(duì)策
1.1實(shí)訓(xùn)內(nèi)容單一
實(shí)訓(xùn)教學(xué)內(nèi)容應(yīng)該首先根據(jù)C語言的特點(diǎn)對(duì)知識(shí)進(jìn)行整合,然后引入針對(duì)性較強(qiáng)的典型綜合實(shí)例,從程序整體向各個(gè)核心知識(shí)點(diǎn)滲透。教師可以根據(jù)學(xué)生的實(shí)際情況設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目,內(nèi)容應(yīng)覆蓋學(xué)生所學(xué)的知識(shí),突出實(shí)用性,內(nèi)容最好為學(xué)生所熟悉領(lǐng)域或?qū)W生感興趣的領(lǐng)域。如果學(xué)生層次不一,可以根據(jù)學(xué)生對(duì)基礎(chǔ)知識(shí)的掌握情況設(shè)置不同的實(shí)訓(xùn)內(nèi)容。
1.2教學(xué)方法單一
在實(shí)訓(xùn)教學(xué)過程中,應(yīng)將重點(diǎn)放在分析程序設(shè)計(jì)過程上,培養(yǎng)學(xué)生良好的編程習(xí)慣,逐步提高學(xué)生編程能力。單一實(shí)訓(xùn)手段要達(dá)到這一目標(biāo)是很困難的,這就要求運(yùn)用多種實(shí)訓(xùn)教學(xué)方法,讓學(xué)生對(duì)編程有個(gè)很好的理解過程。
可以引入多種教學(xué)方法。以前的實(shí)訓(xùn)課程不能激發(fā)學(xué)生的學(xué)習(xí)興趣,主要是因?yàn)檎n堂是由老師主載,學(xué)生是被動(dòng)的學(xué)習(xí),不能成為課堂的主人。我們將采用多種教學(xué)方法來激發(fā)學(xué)生的興趣,轉(zhuǎn)變老師和學(xué)生的課堂角色。
(1)基于ACM模式的教學(xué)方法。ACM的教學(xué)模式是結(jié)合具體的問題講授概念與理論,輔以課堂討論,做習(xí)題等多項(xiàng)教學(xué)手段。在教學(xué)過程中,安排學(xué)生深入有關(guān)實(shí)際問題進(jìn)行研究,加深對(duì)所學(xué)理論的認(rèn)識(shí),利用網(wǎng)站進(jìn)行程序設(shè)計(jì)。以往的教學(xué)是按照基礎(chǔ)知識(shí)、循環(huán)結(jié)構(gòu)語句、結(jié)構(gòu)體語句等知識(shí)點(diǎn)的順序進(jìn)行講解。基于ACM的教學(xué)方式是按照習(xí)題所屬知識(shí)類別進(jìn)行理論講解,離散數(shù)學(xué)、初等數(shù)論、數(shù)值計(jì)算、人工智能、動(dòng)態(tài)規(guī)劃算法、圖算法等知識(shí)點(diǎn)進(jìn)行講解與練習(xí)。ACM的教學(xué)模式在一定程度上將基礎(chǔ)學(xué)科很好地運(yùn)用于程序設(shè)計(jì)當(dāng)中,有利于知識(shí)的融合,可以提高學(xué)生的思維能力,在做練習(xí)時(shí)舉一些趣味習(xí)題,激發(fā)學(xué)生的興趣。
基于ACM的教學(xué)方法的優(yōu)點(diǎn)如下:
①知識(shí)分類講解可以加深學(xué)生對(duì)知識(shí)的理解,更加系統(tǒng)。
②ACM所選的題目趣味化生活化,可以激發(fā)學(xué)生的學(xué)習(xí)興趣。
③題目所含知識(shí)面廣泛,有利于知識(shí)的鞏固。
④分組培養(yǎng)大家的團(tuán)隊(duì)協(xié)作精神。
⑤學(xué)生講解培養(yǎng)學(xué)生的表達(dá)能力與思維能力。
(2)討論式教學(xué)法。由于每一道程序題可以有不同的編寫方法,答案不唯一,所以很適合使用討論式教學(xué)方法。將學(xué)生以三人為一個(gè)團(tuán)體進(jìn)行分組,在組內(nèi)討論編程方法,上機(jī)編寫程序并進(jìn)行驗(yàn)證,由組內(nèi)推舉成員向大家進(jìn)行講解和演示,有不同編程方法的組可以繼續(xù)演示,最后由老師進(jìn)行總結(jié),并選出時(shí)間和空間復(fù)雜度最小的程序,同時(shí)也可以發(fā)現(xiàn)學(xué)生在編程過程中出現(xiàn)的常見錯(cuò)誤,發(fā)揮學(xué)生的團(tuán)隊(duì)精神,提高學(xué)生的表達(dá)能力。
(3)任務(wù)驅(qū)動(dòng)法。在實(shí)訓(xùn)課堂上,學(xué)生需明確要完成的任務(wù),依照實(shí)訓(xùn)任務(wù)完成實(shí)訓(xùn)。題目由易到難,知識(shí)點(diǎn)由單分支到多種分支情況的應(yīng)用,這樣適合學(xué)生學(xué)習(xí)特點(diǎn)及編程由易到難的編寫過程。
1.3考試一錘定音
這門課程主要是培養(yǎng)和檢驗(yàn)學(xué)生的編程能力,所以不能以一次考試來決定學(xué)生的最終成績,檢驗(yàn)過程應(yīng)該貫穿整個(gè)學(xué)習(xí)過程。引入過程性考核思路,總成績分部累加。采用平時(shí)計(jì)分和最終考核相結(jié)合的方式,以每節(jié)課的發(fā)言演示情況來給出平時(shí)等級(jí),一學(xué)期進(jìn)行累計(jì),按累計(jì)成績進(jìn)行排名,前三分之一學(xué)生可以免去最后的考核,以平時(shí)成績作為最終成績,這樣也可以激勵(lì)大家踴躍發(fā)言,剩下的學(xué)生參加最終考核,最后成績由平時(shí)成績和最后一次考核的成績各占一部分比例來組成。通過實(shí)踐檢驗(yàn),課程考核方法改革后,考核出了學(xué)生的實(shí)際操作水平,用過程性考核思想后,在學(xué)習(xí)過程中時(shí)刻檢驗(yàn)學(xué)生的學(xué)習(xí)接受掌握情況,加大了課程全程質(zhì)量監(jiān)控力度,課程考核結(jié)果基本能夠反映學(xué)生學(xué)習(xí)后真正的計(jì)算機(jī)應(yīng)用能力水平??己私Y(jié)果公平、有效,這也是現(xiàn)在倡導(dǎo)的全過程考試。
2.總結(jié)
通過對(duì)C程序設(shè)計(jì)實(shí)訓(xùn)課程的教學(xué)內(nèi)容、教學(xué)方法、考核方式的改革,并對(duì)2010級(jí)軟件班學(xué)生進(jìn)行試點(diǎn)后,使學(xué)生理解模塊化程序設(shè)計(jì)的基本思想,掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,掌握C語言的數(shù)據(jù)結(jié)構(gòu)、程序結(jié)構(gòu)、語句以及控制結(jié)構(gòu)的使用方法,能用程序設(shè)計(jì)技術(shù)解決一定難度的實(shí)際問題,掌握在實(shí)際開發(fā)環(huán)境下進(jìn)行編輯、編譯、連接、調(diào)試和運(yùn)行的方法;綜合訓(xùn)練學(xué)生分析問題的基本方法,提高解決實(shí)際問題的能力,培養(yǎng)學(xué)生的專項(xiàng)技能和職業(yè)能力。
【參考文獻(xiàn)】
[1]王嵩.C語言程序設(shè)計(jì).教學(xué)探索與實(shí)踐[J].教書育人,2006,(35).
[2]王美娜.C語言程序設(shè)計(jì).教學(xué)方法探析[J].科教文匯(下旬刊),2007,(04).
[3]曾鴻.基于項(xiàng)目的軟件工程綜合實(shí)訓(xùn)教學(xué)模式[J].中國職業(yè)技術(shù)教育,2008,(12).
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
“C語言”是從事計(jì)算機(jī)軟、硬件開發(fā)和應(yīng)用人員必備的專業(yè)知識(shí)。C語言既具有高級(jí)語言的特點(diǎn),又具有低級(jí)語言的功能,語法結(jié)構(gòu)簡潔精妙,便于描述算法,寫出的程序效率高,運(yùn)用C語言可以編寫系統(tǒng)底層的內(nèi)核程序。C++、Java、C#、J#、perl等高級(jí)語言也是衍生自C語言,所以掌握了C語言,可以很容易掌握這些新型的語言去開發(fā)程序。因此在高等院校與計(jì)算機(jī)相關(guān)專業(yè)的教學(xué)計(jì)劃中,“C語言程序設(shè)計(jì)”是一門必修的基礎(chǔ)課及核心課程,是一門理論性和實(shí)踐性均較強(qiáng)的課程。開設(shè)“C語言程序設(shè)計(jì)”課程主要培養(yǎng)學(xué)生掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,建立嚴(yán)謹(jǐn)?shù)某绦蛟O(shè)計(jì)思想及較強(qiáng)的動(dòng)手編寫及調(diào)試程序的能力,逐步培養(yǎng)獨(dú)立分析問題和解決問題的能力。同時(shí)為數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)及其他高級(jí)語言課程等后續(xù)專業(yè)課程的學(xué)習(xí)打下扎實(shí)的理論和實(shí)踐基礎(chǔ)。
在以往的教學(xué)過程中,大部分學(xué)生對(duì)學(xué)習(xí)“C語言程序設(shè)計(jì)”存在畏難情緒,更不知如何運(yùn)用C語言解決實(shí)際問題。教學(xué)效果不理想,給后續(xù)學(xué)習(xí)造成障礙。筆者在教學(xué)中調(diào)整了以往按部就班的教學(xué)模式和重理論輕實(shí)踐的教學(xué)理念,將模塊化案例教學(xué)引入“C語言程序設(shè)計(jì)”的課程中,進(jìn)行了教材整合和強(qiáng)化實(shí)踐教學(xué),并圍繞模塊化案例展開C語言教學(xué),以案例引出C語言的知識(shí)點(diǎn)。全部授課都以程序設(shè)計(jì)為目的,收到顯著的教學(xué)效果。
2課程進(jìn)行整合,建立模塊化案例教學(xué)
2.1傳統(tǒng)的教學(xué)模式以語言知識(shí)為主線
傳統(tǒng)的“C語言程序設(shè)計(jì)”課程教學(xué)模式采用以語言知識(shí)為主線,按照變量、數(shù)據(jù)類型、表達(dá)式、數(shù)據(jù)輸入/輸出、流程控制、函數(shù)、指針、結(jié)構(gòu)、文件等順序進(jìn)行教學(xué),實(shí)訓(xùn)課多以驗(yàn)證為主。學(xué)生在學(xué)習(xí)的過程中每一知識(shí)點(diǎn)都是獨(dú)立聽記,不能將所學(xué)知識(shí)進(jìn)行綜合運(yùn)用。因此,學(xué)生是邊學(xué)邊忘,學(xué)習(xí)后續(xù)內(nèi)容沒有前期知識(shí)支撐,學(xué)到5~6周就失去學(xué)習(xí)的興趣和信心,甚至有些學(xué)生放棄對(duì)該門課的學(xué)習(xí),到期末考試突擊復(fù)習(xí),不及格率比較高。
2.2課程整合以程序設(shè)計(jì)為主線
課程整合以程序設(shè)計(jì)為主線貫穿語言各知識(shí)點(diǎn),就是將“C語言程序設(shè)計(jì)”課程內(nèi)容分解為四個(gè)模塊,即C語言基本程序設(shè)計(jì)模塊、函數(shù)模塊、指針模塊、文件模塊,每一模塊都以案例展開C語言的知識(shí)點(diǎn)教學(xué),講解C語言的理論知識(shí)為目的,上機(jī)實(shí)訓(xùn)以授課中的案例貫穿始終,即強(qiáng)化理論知識(shí)的掌握,便于后續(xù)知識(shí)的學(xué)習(xí),同時(shí)還要逐步培養(yǎng)學(xué)生編寫C程序的能力,緊緊圍繞這四個(gè)模塊的案例舉一反三展開程序設(shè)計(jì)的實(shí)訓(xùn)。
2.2.1基本程序設(shè)計(jì)模塊
利用“統(tǒng)計(jì)一名學(xué)生的三門課程平均成績”的程序,引導(dǎo)出變量、數(shù)據(jù)類型、表達(dá)式、數(shù)據(jù)輸入/輸出等C語言基本知識(shí)。這階段主要是引導(dǎo)學(xué)生掌握C語言程序的基本結(jié)構(gòu),編寫程序的基本方法,是學(xué)習(xí)C語言入門階段。如圖1所示。
2.2.2函數(shù)模塊
C程序是由若干函數(shù)構(gòu)成的,函數(shù)是C語言的核心知識(shí)。因此,在講函數(shù)知識(shí)及設(shè)計(jì)函數(shù)程序時(shí),將前面講述的計(jì)算學(xué)生多門課程成績組合成較完整的C程序案例。如圖2所示。
通過這個(gè)案例講清C語言中變量的存儲(chǔ)類型的區(qū)別和功能,函數(shù)調(diào)用、參數(shù)傳遞的方式及要求,按值和按地址傳遞區(qū)別。在講函數(shù)調(diào)用時(shí)啟發(fā)學(xué)生逐步完成圖2各個(gè)程序模塊的組合。同時(shí)調(diào)動(dòng)學(xué)生的積極性逐步擴(kuò)展圖2中的功能,將所學(xué)的知識(shí)進(jìn)行綜合應(yīng)用,并提出預(yù)處理和文件包含知識(shí)概念及運(yùn)用。
2.2.3指針模塊
指針是C語言的重要功能,正確而靈活地運(yùn)用指針,可以動(dòng)態(tài)分配內(nèi)存和對(duì)物理地址直接進(jìn)行操作,方便地使用字符串和數(shù)組,有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),在函數(shù)調(diào)用時(shí)能獲得1個(gè)以上的函數(shù)值。指針內(nèi)容非常豐富,而且復(fù)雜,這部分是C語言的重點(diǎn),也是學(xué)習(xí)的難點(diǎn)。按常規(guī)模式教學(xué),學(xué)生對(duì)指針知識(shí)理解難、運(yùn)用更難,部分學(xué)生到此幾乎放棄學(xué)習(xí)。采用模塊案例教學(xué),學(xué)生首先了解指針的運(yùn)用,調(diào)動(dòng)學(xué)生學(xué)習(xí)的興趣和學(xué)習(xí)的欲望,然后逐步從指針案例中啟發(fā)引出知識(shí)點(diǎn),邊學(xué)邊用,通過實(shí)例反復(fù)練習(xí),學(xué)生能較靈活運(yùn)用指針知識(shí)編寫程序。指針模塊如圖3所示。
首先利用演示鏈表案例引導(dǎo)出動(dòng)態(tài)分配內(nèi)存。然后演示用指針修改數(shù)組處理學(xué)生成績排序的程序案例,或者設(shè)計(jì)較簡單的對(duì)硬件操作的案例,讓學(xué)生了解指針知識(shí)運(yùn)用之后,再由學(xué)生模仿將函數(shù)模塊中用數(shù)組存儲(chǔ)數(shù)據(jù)修改為用指針進(jìn)行數(shù)據(jù)處理。在知識(shí)引申的過程中,逐步提出字符串指針、指針數(shù)組及指針數(shù)組做main()函數(shù)的參數(shù)的運(yùn)用。
2.2.4文件模塊
主要講述輸入輸出函數(shù),將內(nèi)存中存儲(chǔ)的數(shù)據(jù)輸出到外存上,仍然利用案例分析文件的概念及文件的運(yùn)用。
3圍繞案例展開教學(xué)
在基本程序設(shè)計(jì)模塊中,以計(jì)算1名學(xué)生三科成績的平均成績這個(gè)程序開始引導(dǎo)C語言基本知識(shí)。程序如下:
#include
main()
{ int scor1,scor2,scor3;
float grade, total;
total = 0.0;
printf(“Enter grades: \n");
scanf("scor1=%d ,scor2=%d ,scor3=%d", &scor1, &scor2, &scor3);
total= scor1 + scor2 + scor3;
grade=total/3;
printf(“Grade average is %.2f\n", grade);
getch();
}
3.1案例啟發(fā)教學(xué),使學(xué)生輕松聽課
在案例教學(xué)過程中,要求學(xué)生熟記模塊中程序。例如:第一次課熟記“統(tǒng)計(jì)1名學(xué)生三科成績”這個(gè)程序。然后調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,引導(dǎo)學(xué)生積極思考和參與,一起分析程序中語句的含義,在分析語句的過程中,采用啟發(fā)式的循序漸進(jìn)、由淺到深、由易到難,逐步提出新問題,引出C程序中新知識(shí),用新知識(shí)解決新問題,再舉一反三寫出對(duì)應(yīng)不同問題的C語言程序。例如:提出判斷并輸出學(xué)生三科成績的最高分和最低分引出分支結(jié)構(gòu)。提出若是8門課,進(jìn)行總成績統(tǒng)計(jì)的簡便方法,由此引導(dǎo)出循環(huán)結(jié)構(gòu)。根據(jù)對(duì)成績升序或降序排序引導(dǎo)出一維數(shù)組,再計(jì)算多個(gè)學(xué)生中每個(gè)學(xué)生多科成績引導(dǎo)出二維數(shù)組等,根據(jù)引導(dǎo)的知識(shí)逐步擴(kuò)展和加深知識(shí)的運(yùn)用。
保證學(xué)生動(dòng)腦、用心聽課。教師在講解每個(gè)基本知識(shí)的過程中不要面面俱到,對(duì)常用的編程知識(shí)細(xì)講熟練,不常用的知識(shí)略講或用表格統(tǒng)解,有些基礎(chǔ)知識(shí)是隨著編程逐步引出或者以后應(yīng)用時(shí)在自學(xué),保證學(xué)生聽課不疲勞。聽得懂、跟得上、興趣濃,興趣是學(xué)習(xí)的動(dòng)力,動(dòng)力會(huì)產(chǎn)生效果。同時(shí)要求學(xué)生強(qiáng)化記憶判斷最高分、成績排序等程序,以便于后續(xù)課由用戶建立的若干個(gè)自定義函數(shù)構(gòu)成較完整的程序。在分析函數(shù)案例過程中,講清數(shù)據(jù)存儲(chǔ)類型的區(qū)別及參數(shù)的使用等知識(shí)。授課過程如圖4所示,每節(jié)課結(jié)束前教師與學(xué)生共同總結(jié)本節(jié)課的重點(diǎn)知識(shí),便于課后復(fù)習(xí)。
3.2培養(yǎng)閱讀程序的能力
讀程序是學(xué)習(xí)C語言入門最快,也是最好的方法。教師在講述程序中各語句含義的時(shí)候,首先培養(yǎng)學(xué)生閱讀程序的能力。在閱讀程序的同時(shí)注重培養(yǎng)學(xué)生掌握C程序的結(jié)構(gòu)。例如:編寫程序首先根據(jù)表達(dá)式確定變量及變量的數(shù)據(jù)類型,然后給變量賦值(直接賦值或通過鍵盤接受值),再進(jìn)行運(yùn)算,最后輸出計(jì)算后的結(jié)果等。要求學(xué)生不放過每一章中提到的所有例題,仔細(xì)研讀程序,直到每一行都理解了??炊畡e人是如何解決問題的,學(xué)習(xí)解決問題的方法和程序設(shè)計(jì)技巧,掌握程序結(jié)構(gòu)。為了使學(xué)生盡快掌握編程思想和基本結(jié)構(gòu),教師課后給學(xué)生布置一些設(shè)計(jì)C程序作業(yè),由學(xué)生根據(jù)自身能力,閱讀程序、修改程序、給程序補(bǔ)充語句以及寫出程序運(yùn)行結(jié)果,強(qiáng)化訓(xùn)練。
3.3培養(yǎng)學(xué)生編寫程序能力,掌握分析問題算法
3.3.1模仿編寫程序
“C語言程序設(shè)計(jì)”是一門實(shí)踐性很強(qiáng)的課程,“紙上談兵”光學(xué)不練是學(xué)不好C語言的。在閱讀程序的過程中,培養(yǎng)學(xué)生學(xué)會(huì)模仿編寫程序,如果沒有深刻地理解C語言的語句及掌握編寫程序的基本方法,模仿編寫程序也是一句空話。在模擬編寫程序時(shí),如果寫不出來,回過頭來再繼續(xù)研究例題,想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到熟練為止,在模仿編程的過程中培養(yǎng)學(xué)生養(yǎng)成良好的編程風(fēng)格。
3.3.2分析算法
利用C語言編程解決實(shí)際問題,所需要的不僅僅是C語言語句,還需要相關(guān)的專業(yè)知識(shí)及算法。例如,如果你不知道計(jì)算π的公式,即使C語言學(xué)得再好也無法編寫計(jì)算π的近似值的程序。如果不知道判斷閏年的條件,就無法計(jì)算某年是否為閏年。所以在程序設(shè)計(jì)過程中,必須注重培養(yǎng)學(xué)生分析問題及找到解決問題的最優(yōu)算法,這是設(shè)計(jì)程序的重要條件。
3.4強(qiáng)化編程能力的訓(xùn)練,樹立編程信心
教師在全部的授課過程中,時(shí)時(shí)鼓勵(lì)學(xué)生能學(xué)好C語言。因此教師在提供豐富多樣的實(shí)驗(yàn)題目時(shí),注重學(xué)生的差異,讓學(xué)生根據(jù)自身水平和興趣,選擇自己能理解的訓(xùn)練題目。讓每一個(gè)學(xué)生都能享受編寫程序獲得成功的喜悅,以促進(jìn)學(xué)生堅(jiān)定學(xué)習(xí)的信心和激情。同時(shí)教師鼓勵(lì)學(xué)生在學(xué)習(xí)“C語言程序設(shè)計(jì)”的過程中,閱讀一本C語言方面參考書,經(jīng)常上一些好的C語言論壇進(jìn)行學(xué)習(xí)、交流,開闊自己的視野。教師也經(jīng)常組織學(xué)生進(jìn)行師生間、學(xué)生間的學(xué)習(xí)交流活動(dòng),對(duì)實(shí)訓(xùn)題目采取自測(cè)、在線判題等活動(dòng)。這些多種交流學(xué)習(xí)方式,其目的是充分發(fā)揮學(xué)生在教學(xué)活動(dòng)中的主體地位,調(diào)動(dòng)學(xué)生學(xué)習(xí)的主觀能動(dòng)性和求知欲望,使學(xué)生在交流中得到學(xué)習(xí)、思考,取長補(bǔ)短獲取編程的技巧。成績考核以筆試、實(shí)訓(xùn)、交流等多種形式,每一環(huán)節(jié)著重考核學(xué)生綜合運(yùn)用所學(xué)知識(shí)編寫程序、解決實(shí)際問題的能力。
4圍繞模塊案例開展實(shí)訓(xùn)教學(xué)
在“C語言程序設(shè)計(jì)”的實(shí)訓(xùn)教學(xué)中,通過上機(jī)調(diào)試模塊中的案例強(qiáng)化學(xué)生對(duì)所學(xué)知識(shí)的運(yùn)用及深化理解,不僅培養(yǎng)學(xué)生編寫程序、調(diào)試程序的專業(yè)技能,同時(shí)注重對(duì)學(xué)生的人際技能方面的培養(yǎng)。
4.1培養(yǎng)學(xué)生專業(yè)技能
4.1.1調(diào)試基本程序設(shè)計(jì)模塊
初學(xué)者首先掌握C語言編程軟件的使用及調(diào)試程序的基本方法,修改程序中出現(xiàn)的語句、語法、程序流程等錯(cuò)誤,積累調(diào)試程序的經(jīng)驗(yàn)。在調(diào)試程序的過程中,逐步培養(yǎng)學(xué)生主動(dòng)思考、分析、探索、發(fā)現(xiàn)出錯(cuò)的原因,并且能獨(dú)立加以解決。再通過修改已經(jīng)運(yùn)行程序的某些語句,查看程序發(fā)生的變化及分析結(jié)果變化的原因,加深對(duì)新學(xué)知識(shí)點(diǎn)的理解。實(shí)現(xiàn)“輸入”程序加深知識(shí)的記憶,“修改”程序加深對(duì)知識(shí)的理解。記憶和理解相輔相成,相互促進(jìn)編程能力的提高。
4.1.2培養(yǎng)綜合實(shí)訓(xùn)能力
當(dāng)學(xué)生掌握了基本調(diào)試程序方法之后,對(duì)函數(shù)模塊、指針模塊、文件模塊案例進(jìn)行調(diào)試,提高學(xué)生調(diào)試綜合程序的能力,修改程序中出現(xiàn)的邏輯結(jié)構(gòu)、流程錯(cuò)誤。綜合實(shí)訓(xùn)可以根據(jù)函數(shù)模塊案例建立學(xué)習(xí)小組,每個(gè)自定義函數(shù)分配給小組中不同學(xué)生獨(dú)立編寫程序、調(diào)試、運(yùn)行,逐步養(yǎng)成獨(dú)立分析問題,運(yùn)用知識(shí)解決問題的能力和自學(xué)能力。然后將小組中每個(gè)人編寫的程序綜合在一起,進(jìn)行綜合調(diào)試、運(yùn)行。調(diào)動(dòng)學(xué)生求知欲望及運(yùn)用知識(shí)的能力,鼓勵(lì)學(xué)生樹立創(chuàng)新意識(shí),增加程序的功能,利用開放的實(shí)訓(xùn)環(huán)境進(jìn)行自主調(diào)試,培養(yǎng)學(xué)生自我發(fā)展的意識(shí)。
4.1.3撰寫實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)報(bào)告是對(duì)實(shí)訓(xùn)的總結(jié)和知識(shí)的鞏固,總結(jié)實(shí)訓(xùn)中調(diào)試程序的經(jīng)驗(yàn)、收獲、不足和需要解決的問題,便于后續(xù)實(shí)訓(xùn)課的操作。實(shí)驗(yàn)報(bào)告也是師生交流的最好手段,老師掌握每個(gè)學(xué)生實(shí)訓(xùn)過程中的問題、想法、效果等,可以調(diào)整授課進(jìn)度和方法,提高學(xué)生學(xué)習(xí)效果。
4.2注重學(xué)生人際技能培養(yǎng)
作者簡介:侯春明(1979-),男,白族,湖南吉首人,吉首大學(xué)信息科學(xué)與工程學(xué)院,講師。(湖南 吉首 416000)
基金項(xiàng)目:本文系吉首大學(xué)校級(jí)教改課題“計(jì)算機(jī)課程群教學(xué)中技能培養(yǎng)的教學(xué)改革與實(shí)踐”的研究成果。
中圖分類號(hào):G642.45 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0079(2013)28-0163-02
高校信息類專業(yè)(如計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、電子信息工程、通信工程、物聯(lián)網(wǎng)工程等)課程體系中,程序設(shè)計(jì)類的課程占有相當(dāng)?shù)谋戎?。常見的專業(yè)課有“C語言程序設(shè)計(jì)”、“Visual Foxpro程序設(shè)計(jì)”、“面向?qū)ο蟪绦蛟O(shè)計(jì)”、“匯編語言程序設(shè)計(jì)”、“網(wǎng)絡(luò)程序設(shè)計(jì)”等。由于信息類專業(yè)的應(yīng)用領(lǐng)域非常強(qiáng)調(diào)技術(shù)實(shí)現(xiàn),普通高校學(xué)生必須具備較強(qiáng)的編程能力,才能滿足社會(huì)對(duì)人才的要求。據(jù)統(tǒng)計(jì),普通二本高校信息類畢業(yè)生,除了小部分繼續(xù)攻讀碩士博士學(xué)位外,絕大部分都在畢業(yè)后直接從事專業(yè)技術(shù)工作。[1]雖然不同專業(yè)對(duì)計(jì)算機(jī)編程能力的要求和應(yīng)用領(lǐng)域各有不同,比如電子信息工程和物聯(lián)網(wǎng)工程更側(cè)重對(duì)硬件的控制和嵌入式方向,而計(jì)算機(jī)科學(xué)與技術(shù)和網(wǎng)絡(luò)工程等專業(yè)更側(cè)重系統(tǒng)軟件開發(fā)和應(yīng)用軟件的開發(fā)。但是從整體上看,這些信息類專業(yè)都對(duì)學(xué)生的編程能力提出了較高要求。為了達(dá)到相應(yīng)的培養(yǎng)目標(biāo),相關(guān)課程群應(yīng)該在課程實(shí)訓(xùn)環(huán)節(jié)進(jìn)行改進(jìn),以求提高學(xué)生的程序設(shè)計(jì)能力,進(jìn)而全面提升學(xué)生的專業(yè)水平和動(dòng)手能力,為國家和社會(huì)培養(yǎng)合格的人才,這是需要深入研究的課題。[2]
一、計(jì)算機(jī)課程群實(shí)訓(xùn)課的特點(diǎn)與不足
計(jì)算機(jī)課程群的實(shí)訓(xùn)課程是連接理論課程與編程能力的橋梁,程序設(shè)計(jì)類課程群對(duì)編程能力的培養(yǎng)尤為重要。但是在教學(xué)實(shí)踐過程中,要達(dá)到全面提升學(xué)生動(dòng)手編程能力的狀態(tài),面臨諸多困難。
1.課時(shí)不足
隨著高校課程體系的全面改進(jìn),為了寬口徑的培養(yǎng)學(xué)生,以便學(xué)生將來能有更廣闊的就業(yè)領(lǐng)域,信息類的各個(gè)專業(yè)被加入了越來越多的課程,程序設(shè)計(jì)類課程也面臨著課時(shí)緊縮的問題。一方面要保證理論課的講授與教學(xué),另一方面要保證學(xué)生動(dòng)手編程能力的提高。這樣理論課程的時(shí)間顯得非常緊張,必須在有限的時(shí)間內(nèi)盡可能的把該語言中的各種各樣的知識(shí)點(diǎn)傳授給學(xué)生,還要保證他們能有足夠的課時(shí)在實(shí)訓(xùn)課環(huán)節(jié)完成相關(guān)的實(shí)訓(xùn)內(nèi)容,為此在時(shí)間和教學(xué)上就要合理安排。
2.技術(shù)的快速發(fā)展
信息類專業(yè)發(fā)展速度迅猛,很多技術(shù)在過去的幾年快速的誕生和崛起。傳統(tǒng)的程序設(shè)計(jì)類課程主要是側(cè)重對(duì)基本語法的掌握和中小規(guī)模問題的分析與解決。比如運(yùn)用一些經(jīng)典的算法解決某些數(shù)學(xué)問題,并編程實(shí)現(xiàn)。這樣的培養(yǎng)模式的結(jié)果是畢業(yè)生的動(dòng)手實(shí)踐能力無法滿足社會(huì)上IT企業(yè)對(duì)人才的要求。
3.師資力量不足
高校教師的教學(xué)負(fù)擔(dān)很重,除了要完成各種教學(xué)和科研任務(wù)外,還要負(fù)責(zé)學(xué)生管理工作。從全局來看,高校的信息類專業(yè)是新興專業(yè),很多高校的該專業(yè)教師以中青年為主,部分教師還需要進(jìn)一步進(jìn)行深造,比如攻讀博士、博士后、做訪問學(xué)者、參與各種學(xué)術(shù)交流等。因此,在計(jì)算機(jī)程序設(shè)計(jì)類的實(shí)訓(xùn)課中,很多時(shí)候都是一個(gè)教師輔導(dǎo)數(shù)十人學(xué)生。師資力量不足也是制約學(xué)生的計(jì)算機(jī)程序設(shè)計(jì)能力全面提高的重要因素。
二、計(jì)算機(jī)課程群實(shí)訓(xùn)課的教學(xué)改革建議
1.針對(duì)不同專業(yè)進(jìn)行有重點(diǎn)的課程設(shè)計(jì)
為了提高計(jì)算機(jī)專業(yè)畢業(yè)生的職業(yè)素養(yǎng)與編程能力,學(xué)校應(yīng)該加強(qiáng)學(xué)生的實(shí)訓(xùn)教學(xué)環(huán)節(jié)。[3]雖然信息類的不同專業(yè)都會(huì)開設(shè)各種程序設(shè)計(jì)課程,但是不同的專業(yè)側(cè)重點(diǎn)明顯不同,比如電子信息、電子科技、物聯(lián)網(wǎng)等專業(yè),從專業(yè)培養(yǎng)目標(biāo)上看更接近對(duì)硬件的控制。在實(shí)訓(xùn)課的綜合訓(xùn)練項(xiàng)目以及相應(yīng)的課程設(shè)計(jì)的培養(yǎng)環(huán)節(jié)上,可以考慮做單片機(jī)、嵌入式系統(tǒng)中的項(xiàng)目。將編程能力訓(xùn)練放到具體的硬件控制項(xiàng)目中,既符合相關(guān)專業(yè)的專業(yè)培養(yǎng)目標(biāo),又能幫助學(xué)生有效的將程序設(shè)計(jì)課程與硬件類課程群進(jìn)行融合,既提高了編程能力,又提高了綜合的專業(yè)知識(shí)的應(yīng)用能力。比如C語言程序設(shè)計(jì),如果只是反復(fù)的訓(xùn)練經(jīng)典的算法和習(xí)題,編程能力的提高還是有限。但是如果學(xué)生完成一個(gè)軟硬件相結(jié)合的系統(tǒng)設(shè)計(jì),對(duì)C語言在單片機(jī)控制或嵌入式中的應(yīng)用開發(fā)能力就會(huì)快速增強(qiáng)。當(dāng)然,對(duì)于計(jì)算機(jī)科學(xué)與技術(shù)或網(wǎng)絡(luò)工程這樣的專業(yè),其專業(yè)培養(yǎng)目標(biāo)更偏向于上層應(yīng)用,也可以選擇相關(guān)的實(shí)用性的軟件開發(fā)項(xiàng)目(如數(shù)據(jù)庫系統(tǒng)等)來訓(xùn)練學(xué)生的動(dòng)手編程能力。在完成項(xiàng)目的同時(shí),學(xué)生一方面加深了對(duì)相應(yīng)專業(yè)課的認(rèn)識(shí),另一方面也加強(qiáng)了編程能力。
2.充分調(diào)動(dòng)不同學(xué)生群體的學(xué)習(xí)積極性
在高校的專業(yè)人才培養(yǎng)模式中,不能按照一個(gè)固定的模式要求所有的學(xué)生,必須考慮到學(xué)生自身的實(shí)際情況,調(diào)動(dòng)不同學(xué)生群體的積極性,才能最大限度的提升學(xué)生的程序設(shè)計(jì)能力。比如現(xiàn)在很多高校都將計(jì)算機(jī)等級(jí)考試和學(xué)位證掛鉤,非計(jì)算機(jī)專業(yè)的學(xué)生必須通過計(jì)算機(jī)等級(jí)考試,才能順利獲得學(xué)位證。針對(duì)這一學(xué)生群體,應(yīng)該將針對(duì)等級(jí)考試的訓(xùn)練合理的放入到實(shí)訓(xùn)環(huán)節(jié),同時(shí)鼓勵(lì)學(xué)生積極主動(dòng)的多做等級(jí)考試的習(xí)題,并在上機(jī)實(shí)訓(xùn)的過程中多做題庫中的題。一方面可以提升編程能力和動(dòng)手能力,另一方面也能提高通過等級(jí)考試的概率。
最近幾年,高校程序設(shè)計(jì)比賽以及其他的一些設(shè)計(jì)類比賽越來越受到高校和學(xué)生的重視。對(duì)于有志于參加全校、全省、全國甚至世界級(jí)比賽的學(xué)生,在實(shí)訓(xùn)環(huán)節(jié)中可以積極引導(dǎo)他們進(jìn)行相關(guān)的訓(xùn)練。比如參加ACM程序設(shè)計(jì)大賽的學(xué)生,可以鼓勵(lì)他們?cè)趯?shí)訓(xùn)環(huán)節(jié)中,在完成正常學(xué)習(xí)任務(wù)的基礎(chǔ)上,充分調(diào)動(dòng)主觀能動(dòng)性,多練習(xí)ACM題庫中的習(xí)題,由淺入深,步步推進(jìn)。而立志參加嵌入式系統(tǒng)設(shè)計(jì)的學(xué)生,也可以主動(dòng)去編寫一些嵌入式環(huán)境中的程序。使學(xué)生群體在提高自身編程水平的同時(shí),也能更加接近相應(yīng)大賽的要求,收到一箭雙雕的效果。還有一些學(xué)生,立志于從事應(yīng)用系統(tǒng)的開發(fā),比如網(wǎng)站系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)、電子商務(wù)系統(tǒng)、智能手機(jī)應(yīng)用系統(tǒng)、物聯(lián)網(wǎng)應(yīng)用系統(tǒng)等。該學(xué)生群體對(duì)學(xué)習(xí)的實(shí)用性比較看重,更愿意在畢業(yè)前就找到專業(yè)領(lǐng)域的一個(gè)主攻方向,孜孜不倦地鉆研該方向,往實(shí)用的方向發(fā)展。結(jié)合這些學(xué)生的興趣和愛好,應(yīng)該在相關(guān)的實(shí)訓(xùn)訓(xùn)練和課程設(shè)計(jì)中鼓勵(lì)他們多動(dòng)手寫程序,進(jìn)而力爭做出對(duì)社會(huì)有實(shí)用價(jià)值的應(yīng)用系統(tǒng)。在提升了編程能力的同時(shí),也能更多的為社會(huì)作出貢獻(xiàn)。
3.加強(qiáng)對(duì)編程能力的考核
傳統(tǒng)的教學(xué)模式注重對(duì)知識(shí)的考察,計(jì)算機(jī)類課程群也不例外。一門專業(yè)課學(xué)習(xí)完成后,最常見的考核方式就是閉卷考試。這種方式可以很好地檢查學(xué)生對(duì)該課程知識(shí)體系的掌握程度,但是對(duì)編程類的課程群來說,閉卷考試很難全面考核學(xué)生的編程能力。在教學(xué)實(shí)踐中,經(jīng)常遇到書本知識(shí)掌握良好但上機(jī)編程能力較差的學(xué)生。為了促使學(xué)生參與編程能力訓(xùn)練,應(yīng)該加強(qiáng)對(duì)編程能力的考核。比如組織上機(jī)考試,將考試成績納入到整體的考核成績中;也可以鼓勵(lì)學(xué)生提交應(yīng)用軟件系統(tǒng)。但是上機(jī)考試在實(shí)踐中也存在一定的困難,如普通考試,一個(gè)班級(jí)只要2個(gè)監(jiān)考教師即可,但為了避免學(xué)生作弊,計(jì)算機(jī)上機(jī)考試需要大量的教師參與監(jiān)考。另外,如果是固定的幾個(gè)習(xí)題,在機(jī)房的環(huán)境中不便于監(jiān)考,而如果是從海量題庫中隨機(jī)抽題,又很難做到絕對(duì)的公平,因?yàn)橛械膶W(xué)生可能抽到較為容易的題目,而有的學(xué)生則可能抽到較困難的題目。但是從發(fā)展趨勢(shì)上看,為了提高信息類專業(yè)學(xué)生的編程能力,加強(qiáng)對(duì)編程能力的考核還是非常有必要的。
4.在校企合作中加強(qiáng)編程能力的培養(yǎng)
信息類專業(yè)學(xué)生的一個(gè)主要就業(yè)領(lǐng)域是IT企業(yè),如何培養(yǎng)適應(yīng)現(xiàn)代IT企業(yè)的合格畢業(yè)生,一直是高校信息類專業(yè)教師研究的重要課題。外部社會(huì)和技術(shù)變化越來越快,高校中的很多課程和教學(xué)變化往往不能及時(shí)和外部接軌。為了解決這個(gè)問題,可以考慮廣泛開展校企合作,選擇一些專業(yè)對(duì)口的大企業(yè),以實(shí)習(xí)的方式組織學(xué)生去企業(yè)學(xué)習(xí),在實(shí)踐中提高學(xué)生的程序設(shè)計(jì)能力。高校的程序設(shè)計(jì)類課程更多的是注重學(xué)生知識(shí)體系的建立和基本編程能力的培養(yǎng),而各類IT公司更看重的是學(xué)生的實(shí)際研發(fā)能力。高校應(yīng)該盡量和IT企業(yè)開展合作,一方面鼓勵(lì)學(xué)生積極參與到企業(yè)的實(shí)際項(xiàng)目研發(fā)中,另一方面也可以擴(kuò)寬學(xué)生的就業(yè)渠道,全面提升學(xué)生的編程能力。但是實(shí)現(xiàn)起來也有諸多困難,比如:高校的課程安排緊湊,學(xué)生要擠出較長的時(shí)間參與企業(yè)的軟件研發(fā),時(shí)間上比較困難;有的高校位于經(jīng)濟(jì)不發(fā)達(dá)地區(qū),高校所在城市很難找到能提供相應(yīng)機(jī)會(huì)的企業(yè);低年級(jí)學(xué)生沒有技術(shù)實(shí)力參與到企業(yè)的研發(fā)中,而高年級(jí)學(xué)生尤其是大四學(xué)生,又面臨找工作的就業(yè)壓力,到處參加面試也會(huì)給相關(guān)的實(shí)訓(xùn)和實(shí)習(xí)工作造成影響。
三、在提高學(xué)生編程能力上的一些實(shí)踐
作為二本高校的計(jì)算機(jī)教師,在教學(xué)過程作了一些有益的教學(xué)改革嘗試,初步取得了一些效果。作為班主任,在自己管理的班級(jí)中對(duì)學(xué)生進(jìn)行分類,鉆研應(yīng)用技術(shù)的學(xué)生,鼓勵(lì)他們組成興趣小組(比如嵌入開發(fā)小組、電子設(shè)計(jì)小組、信息安全技術(shù)小組、數(shù)據(jù)庫應(yīng)用技術(shù)小組等),在實(shí)際項(xiàng)目的研發(fā)中提高編程能力。這些學(xué)生畢業(yè)后大部分成長為國內(nèi)一些IT企業(yè)的技術(shù)骨干,而將來選擇從事IT領(lǐng)域非研發(fā)方向(如管理、市場、技術(shù)支持類工作崗位)的學(xué)生,則鼓勵(lì)他們學(xué)好基礎(chǔ)知識(shí),擴(kuò)寬知識(shí)面,同時(shí)積極參加計(jì)算機(jī)等級(jí)考試和其他的一些技術(shù)類證書考試。為他們收集大量的考試資料,調(diào)動(dòng)相關(guān)學(xué)生的學(xué)習(xí)興趣,鼓勵(lì)他們多通過相應(yīng)考試。對(duì)于立志參加各類學(xué)科競賽的學(xué)生,則鼓勵(lì)他們更多的將精力放到比賽的訓(xùn)練和準(zhǔn)備上來,并指導(dǎo)部分學(xué)生獲得了較好的競賽成績。
四、結(jié)論
針對(duì)高等院校尤其是二本高校計(jì)算機(jī)課程群的實(shí)訓(xùn)課程的現(xiàn)狀進(jìn)行了分析,特別是針對(duì)程序設(shè)計(jì)能力不強(qiáng)的現(xiàn)狀進(jìn)行了分析,給出了在程序設(shè)計(jì)類課程群的實(shí)訓(xùn)環(huán)節(jié)進(jìn)行教學(xué)改革的一些建議,并總結(jié)了為提升學(xué)生編程能力所積累的一些工作經(jīng)驗(yàn),以期為廣大的工作在教學(xué)崗位的計(jì)算機(jī)教師提供參考。
參考文獻(xiàn):
1、前言
計(jì)算機(jī)程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)學(xué)生的基本能力,對(duì)提高學(xué)生的就業(yè)質(zhì)量是一個(gè)重要的能力,因此加強(qiáng)學(xué)生的程序設(shè)計(jì)能力培養(yǎng)對(duì)提高學(xué)生就業(yè)率,提高學(xué)生的就業(yè)質(zhì)量都是很重要的。但高職學(xué)生由于基礎(chǔ)較差、邏輯思維能力較弱,用傳統(tǒng)的教學(xué)方式按學(xué)科體系教學(xué),從基本概念,基礎(chǔ)知識(shí)入手,一步步理解掌握,再到應(yīng)用的方式教學(xué),學(xué)生學(xué)著沒興趣,理解困難,學(xué)完了不會(huì)應(yīng)用,教學(xué)效果很差,學(xué)生學(xué)完程序設(shè)計(jì)課程基本不會(huì)做開發(fā)設(shè)計(jì)。由于程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的主干課程,相關(guān)課程較多,學(xué)生一旦失去興趣,放棄學(xué)習(xí),幾乎等于放棄了大部分專業(yè)學(xué)習(xí),因此培養(yǎng)學(xué)生對(duì)程序設(shè)計(jì)的興趣,提高程序設(shè)計(jì)課程的教學(xué)質(zhì)量,對(duì)計(jì)算機(jī)專業(yè)是至關(guān)重要的。
2、認(rèn)真做好課前準(zhǔn)備
2.1選擇好要設(shè)計(jì)的項(xiàng)目。項(xiàng)目設(shè)計(jì)教學(xué)要選擇好所用的項(xiàng)目,項(xiàng)目過簡單涵蓋的知識(shí)面不能滿足教學(xué)的要求,項(xiàng)目過難學(xué)生難以理解,增加教學(xué)難度。因此選擇合適的項(xiàng)目案例進(jìn)行教學(xué),是項(xiàng)目設(shè)計(jì)教學(xué)的關(guān)鍵,項(xiàng)目設(shè)計(jì)教學(xué)包括課堂教學(xué)、實(shí)訓(xùn)和課程設(shè)計(jì),課堂教學(xué)的案例應(yīng)該是連續(xù)的,前后關(guān)聯(lián)的,案例涉及的知識(shí)點(diǎn)要循序漸進(jìn),實(shí)訓(xùn)是程序設(shè)計(jì)課程的關(guān)鍵環(huán)節(jié),實(shí)訓(xùn)的項(xiàng)目要和課堂教學(xué)的接近但又不要完全相同,要留給學(xué)生獨(dú)立完成的內(nèi)容,否則實(shí)訓(xùn)課就變成了打字課。課程設(shè)計(jì)是對(duì)程序設(shè)計(jì)類課程的綜合應(yīng)用,也是培養(yǎng)學(xué)生程序設(shè)計(jì)能力的必不可少的環(huán)節(jié),課程設(shè)計(jì)的題目要和教學(xué)與實(shí)訓(xùn)的內(nèi)容接近和相似,但要在平時(shí)上機(jī)實(shí)訓(xùn)的內(nèi)容上有一定的擴(kuò)展,要盡量涵蓋所學(xué)的內(nèi)容,要有適當(dāng)?shù)碾y度,課程設(shè)計(jì)任務(wù)太少使得設(shè)計(jì)過程中學(xué)生閑暇多,涉及到的知識(shí)點(diǎn)少,動(dòng)手能力得不到很好的鍛煉,從而影響了教學(xué)質(zhì)量。設(shè)計(jì)任務(wù)分量過大,學(xué)生難以完成,導(dǎo)致設(shè)計(jì)過程草草收兵,應(yīng)付了事,挫傷了學(xué)生的學(xué)習(xí)熱情。課程設(shè)計(jì)應(yīng)該選擇一個(gè)較完整的項(xiàng)目,讓學(xué)生從分析任務(wù)開始,到看到一個(gè)能運(yùn)行的較完整的成果,這樣能大大提高學(xué)生對(duì)程序設(shè)計(jì)的興趣。因此選擇合適的項(xiàng)目是項(xiàng)目設(shè)計(jì)的關(guān)鍵,只有選擇了合適的項(xiàng)目才能達(dá)到預(yù)期的效果。
2.2做好各門課之間的協(xié)調(diào)。程序設(shè)計(jì)能力的培養(yǎng)是由多門課程來完成的,包括面向?qū)ο蟪绦蛟O(shè)計(jì),數(shù)據(jù)庫、信息系統(tǒng)開發(fā)等課程,在教學(xué)中各門課程要相互關(guān)聯(lián)配合,前期課程要為后續(xù)課程打基礎(chǔ)做鋪墊,后續(xù)課程要結(jié)合前期課程的內(nèi)容,這樣學(xué)生學(xué)起來前后有連續(xù),知識(shí)點(diǎn)反復(fù)使用,加深了理解,也知道這些知識(shí)的用途,學(xué)習(xí)的目的性也更強(qiáng)。因此制定好各門課程的教學(xué)大綱是關(guān)鍵,各門課程的知識(shí)點(diǎn)和內(nèi)容要互相協(xié)調(diào)和補(bǔ)充。
3、做好教與導(dǎo)的關(guān)系
3.1理論與應(yīng)用相結(jié)合
程序設(shè)計(jì)能力表現(xiàn)在項(xiàng)目開發(fā)上,開發(fā)能力的培養(yǎng)中,教學(xué)的重點(diǎn)是培養(yǎng)學(xué)生分析問題和解決問題的方法和步驟,高職的重點(diǎn)在應(yīng)用,因此教學(xué)中重點(diǎn)是教會(huì)學(xué)生基本概念和知識(shí)點(diǎn)的應(yīng)用,注重培養(yǎng)學(xué)生用學(xué)過的知識(shí)和查找別人的成功例子,開發(fā)項(xiàng)目中有大量的相似工作是自己和前人已經(jīng)做過,教會(huì)學(xué)生看懂這些案例,把這些案例變成自己的程序,能快速地實(shí)現(xiàn)自己的項(xiàng)目,過去我們單獨(dú)地講解每個(gè)命令、控件的用法,學(xué)生用起來很困難,分離的代碼學(xué)生也不會(huì)在項(xiàng)目開發(fā)中使用。用項(xiàng)目案例講解,代碼是上下文連貫的,學(xué)生就容易理解,再重點(diǎn)介紹針對(duì)不同的應(yīng)用怎樣修改哪些內(nèi)容,這樣學(xué)生也會(huì)在別的項(xiàng)目中使用,收到了較好的效果。
3.2做好上機(jī)實(shí)訓(xùn)輔導(dǎo)
上機(jī)實(shí)訓(xùn)是能力培養(yǎng)的重要步驟,有時(shí)學(xué)生課堂上聽懂了,上機(jī)實(shí)訓(xùn)卻不會(huì)做,或者只會(huì)照著書本輸代碼,不知道代碼的用途,這樣就沒有達(dá)到目的,因此上機(jī)指導(dǎo)也是教學(xué)環(huán)節(jié)的重點(diǎn),不能只訓(xùn)不導(dǎo),老師要在實(shí)訓(xùn)過程中認(rèn)真指導(dǎo)學(xué)生,對(duì)學(xué)生出現(xiàn)的問題要及時(shí)解決,這對(duì)老師的實(shí)際操作能力提出了較高的要求,如果老師不熟練,不能及時(shí)幫學(xué)生解決碰到的問題,學(xué)生被問題難住就會(huì)失去信心。老師在幫助學(xué)生解決問題的同時(shí)也能指導(dǎo)和培養(yǎng)學(xué)生發(fā)現(xiàn)問題和解決問題的能力,增強(qiáng)學(xué)生的信心和興趣。
3.3做好課程設(shè)計(jì)的指導(dǎo)是關(guān)鍵
能力的培養(yǎng)是綜合的,課程設(shè)計(jì)可以把所學(xué)的知識(shí)綜合起來應(yīng)用,因此課程設(shè)計(jì)的選題非常關(guān)鍵。課程設(shè)計(jì)中老師要認(rèn)真做好準(zhǔn)備,認(rèn)真寫好設(shè)計(jì)任務(wù)書,任務(wù)書應(yīng)包括:(1)設(shè)計(jì)目的、任務(wù);(2)設(shè)計(jì)依據(jù);(3)設(shè)計(jì)相關(guān)資料;(4)設(shè)計(jì)步驟與要求;(5)成果內(nèi)容;(6)設(shè)計(jì)進(jìn)度安排;(7)紀(jì)律要求;(8)成績考核標(biāo)準(zhǔn)。如有必要,還應(yīng)編入相應(yīng)的設(shè)計(jì)例題,供學(xué)生進(jìn)行課程設(shè)計(jì)時(shí)參考,但也不能把老師做好的項(xiàng)目程序給學(xué)生,把課程設(shè)計(jì)變成打字和調(diào)試,這對(duì)程序設(shè)計(jì)能力的培養(yǎng)是不利的。課程設(shè)計(jì)中老師要隨時(shí)檢查輔導(dǎo),督促學(xué)生認(rèn)真完成任務(wù),也要及時(shí)幫學(xué)生解決碰到的問題。對(duì)優(yōu)秀的學(xué)生可以根據(jù)情況追加一些內(nèi)容,這樣能讓好學(xué)生學(xué)到更多的知識(shí),提升自學(xué)能力和自信心,也能帶動(dòng)中等學(xué)生的積極行。在課程設(shè)計(jì)中知道老師要對(duì)一些設(shè)計(jì)規(guī)范、設(shè)計(jì)方法和設(shè)計(jì)步驟做詳細(xì)介紹,培養(yǎng)學(xué)生的職業(yè)技能和規(guī)范的設(shè)計(jì)步驟,這對(duì)學(xué)生畢業(yè)后的就業(yè)是有很大幫助的。設(shè)計(jì)過程中要倡導(dǎo)同學(xué)間互相討論、互相幫助、互相學(xué)習(xí)、共同提高的團(tuán)隊(duì)精神,對(duì)一些學(xué)生做的好的通用類可以介紹給其他同學(xué)用,這可以培養(yǎng)學(xué)生的團(tuán)隊(duì)互助精神。項(xiàng)目課程設(shè)計(jì)用小組的形式比較好,這樣能照顧到程度不同的學(xué)生,能力強(qiáng)的學(xué)生承擔(dān)一些較難和關(guān)鍵的任務(wù),能力較差的學(xué)生承擔(dān)一些簡單的任務(wù),學(xué)生之間互相幫助,相互學(xué)習(xí),共同完成設(shè)計(jì)任務(wù),培養(yǎng)了學(xué)生的團(tuán)隊(duì)精神,在同學(xué)的鼓勵(lì)和督促下能力差的學(xué)生也不會(huì)輕易放棄。
一、引言
隨著信息技術(shù)的發(fā)展和普及,社會(huì)對(duì)信息類人才的要求越來越高,很多高校都設(shè)立了信息類的相關(guān)專業(yè)以滿足社會(huì)發(fā)展的需求。其中程序設(shè)計(jì)類課程是信息類專業(yè)的重要基礎(chǔ)課程之一,這類課程主要是通過理論知識(shí)的傳授與實(shí)驗(yàn)結(jié)合,培養(yǎng)學(xué)生的邏輯思維能力和實(shí)踐能力。桂林理工大學(xué)信息類專業(yè)中程序設(shè)計(jì)類課程占到了很大的比例,主要包括程序設(shè)計(jì)方法學(xué)、高級(jí)語言程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)、Java程序設(shè)計(jì)等,這些課程之間存在很強(qiáng)的互聯(lián)關(guān)系,屬于核心課程,所以此類課程群的建設(shè)將會(huì)促進(jìn)一系列課程的良性發(fā)展。由于程序設(shè)計(jì)類課程群和生產(chǎn)實(shí)踐緊密相關(guān),所以它對(duì)培養(yǎng)“三實(shí)型人才”起到非常重要的作用。所謂新“三實(shí)型”人才主要是指實(shí)干、實(shí)踐和實(shí)用,其中實(shí)干是對(duì)思維的培養(yǎng),實(shí)踐則是實(shí)際動(dòng)手能力,實(shí)用是指所學(xué)符合社會(huì)需求。本文主要針對(duì)程序設(shè)計(jì)類課程進(jìn)行探討,首先,結(jié)合我校信息類專業(yè)的特點(diǎn),對(duì)程序設(shè)計(jì)類課程群建設(shè)的現(xiàn)狀進(jìn)行了分析;之后,指出了現(xiàn)在程序設(shè)計(jì)類課程群方面存在的不足;最后,針對(duì)存在的問題,并結(jié)合程序設(shè)計(jì)類課程的實(shí)踐教學(xué)認(rèn)真總結(jié)經(jīng)驗(yàn),對(duì)該類課程的建設(shè)和發(fā)展提出一系列相關(guān)的研究和探索。
二、課程教學(xué)現(xiàn)狀及存在的問題
1.地域性問題。我校位于西部地區(qū),經(jīng)濟(jì)較為落后,高校生源多來自本省和其他經(jīng)濟(jì)落后區(qū)域。以信息類某專業(yè)某年級(jí)為例統(tǒng)計(jì)(表1),學(xué)生人數(shù)為81人,77.78%的學(xué)生生源地為本省,其中65.43%的為偏遠(yuǎn)山區(qū)。這些來自經(jīng)濟(jì)發(fā)展較慢地區(qū)的學(xué)生,大多數(shù)是在進(jìn)入大學(xué)后才正式接觸Windows操作系統(tǒng)的計(jì)算機(jī),所以起點(diǎn)低、學(xué)習(xí)難度大是程序設(shè)計(jì)類課程教學(xué)中遇到的問題之一。
表1 信息類某專業(yè)某年級(jí)學(xué)生生源地統(tǒng)計(jì)表
學(xué)生生源地 比例
生源地來自城鎮(zhèn) 34.57%
生源地來自農(nóng)村 65.43%
生源地來自省外 22.22%
來自東部發(fā)達(dá)沿海省市 7.40%
少數(shù)民族比例 34.57%
2.課程特點(diǎn)的問題。程序設(shè)計(jì)類課程最大的特點(diǎn)就是注重學(xué)生實(shí)踐思維及解決問題能力的培養(yǎng)。與其他偏理論的課程相比,這門課程的實(shí)驗(yàn)課時(shí)比例大,但是由于實(shí)驗(yàn)課時(shí)間比較緊張,學(xué)生在學(xué)習(xí)過程中缺乏自我約束能力,容易被各種網(wǎng)絡(luò)娛樂吸引,所以盡管程序設(shè)計(jì)類課程要求掌握的語法和句法比較基礎(chǔ)和簡單,但由于上述問題的存在,很難達(dá)到培養(yǎng)學(xué)生程序設(shè)計(jì)思維的目的。課程的考核方式也存在一定的缺陷,由于理論考試分值占比偏大,實(shí)驗(yàn)操作分值小,所以大多學(xué)生采取考前突擊、臨時(shí)抱佛腳的方式應(yīng)對(duì)考試,很少在平時(shí)實(shí)踐中慢慢思考、揣摩和體會(huì)。
3.傳統(tǒng)教學(xué)方法的問題。教師在程序設(shè)計(jì)教學(xué)過程中一般套用的模式是:先從語言的發(fā)展史開始,再到相關(guān)的語法、語義,之后通過簡單實(shí)例和實(shí)驗(yàn)教學(xué)結(jié)合的方式讓學(xué)生理解程序設(shè)計(jì),培養(yǎng)學(xué)生的程序設(shè)計(jì)思維能力。由于程序設(shè)計(jì)語言枯燥,沒有形象生動(dòng)的畫面,單一的教學(xué)方式讓學(xué)生失去對(duì)程序語言類學(xué)科學(xué)習(xí)的興趣。另外,由于不同的程序設(shè)計(jì)語言中很多語義和語法規(guī)則都不相同,增加了編寫程序的煩瑣與枯燥,讓學(xué)生去記住每一種規(guī)則和含義,還要去調(diào)試找到程序錯(cuò)誤,更使得學(xué)生學(xué)不懂、聽不懂,學(xué)習(xí)思路更加混亂,極大地降低學(xué)習(xí)的效率和學(xué)習(xí)此類課程的積極性。
三、課程教學(xué)改革思路
1.教競結(jié)合。我校信息類相關(guān)專業(yè)一共六個(gè),可以分為計(jì)算機(jī)和電子信息通信兩大類,總數(shù)達(dá)到1800余人。經(jīng)過教學(xué)團(tuán)隊(duì)的長期教學(xué)實(shí)踐總結(jié)發(fā)現(xiàn),學(xué)生對(duì)參與科技類競賽的積極性很高,所以從2015年開始每個(gè)專業(yè)都選擇一項(xiàng)有利于本專業(yè)發(fā)展的全國性競賽項(xiàng)目,而且在教學(xué)上也設(shè)置了相應(yīng)的課程引導(dǎo),幫助學(xué)生參賽。為讓學(xué)生對(duì)ACM國際程序設(shè)計(jì)大賽有一個(gè)初步的了解,學(xué)校特設(shè)ACM程序設(shè)計(jì)實(shí)踐課程,同時(shí)這也是廣西高校首次將國際大賽ACM引入到課堂教學(xué)中。另外,我校仍然大力支持傳統(tǒng)比賽,如“藍(lán)橋杯大賽”“中國軟件杯設(shè)計(jì)大賽”等,這些課程都采用了相應(yīng)的算法類教學(xué)。
2.教學(xué)課程設(shè)置改革。對(duì)于程序設(shè)計(jì)類課程,除了保持原有的理論學(xué)時(shí),還要加強(qiáng)對(duì)實(shí)驗(yàn)教學(xué)的監(jiān)督和管理,加大實(shí)驗(yàn)考核比例,增設(shè)實(shí)訓(xùn)實(shí)踐類課程。其中實(shí)訓(xùn)類課程的開展主要是在學(xué)生完成某個(gè)程序設(shè)計(jì)課程后進(jìn)行的,課程時(shí)間較為集中,主要在實(shí)驗(yàn)室機(jī)房完成,實(shí)訓(xùn)題目主要由教師設(shè)定,學(xué)生也可以根據(jù)自身情況和教師商量后確定題目。而實(shí)踐類課程主要是在學(xué)校的課外實(shí)習(xí)基地展開,由企業(yè)有經(jīng)驗(yàn)的工程師帶領(lǐng)學(xué)生完成實(shí)踐,解決實(shí)際問題。教學(xué)課程的改革,將有利于理論與實(shí)踐的結(jié)合,使學(xué)生增強(qiáng)動(dòng)手能力,引導(dǎo)“三實(shí)型”人才的培養(yǎng)。
3.師資培養(yǎng)。由于程序設(shè)計(jì)類課程具有很強(qiáng)的實(shí)踐性,要求教師不僅有深厚的理論知識(shí),還需要有一定的工程實(shí)踐背景。所以為了適應(yīng)工程型教育的需求,學(xué)院加強(qiáng)了對(duì)教學(xué)團(tuán)隊(duì)的培養(yǎng),除了引進(jìn)博士學(xué)歷的人才外,還引入工程型的教師,要求其有2?3年的工程實(shí)踐背景,參與過企業(yè)項(xiàng)目開發(fā),具備工程實(shí)踐經(jīng)驗(yàn)。另一方面,積極協(xié)助青年教師去國內(nèi)985/211高校和國外高水平大學(xué)進(jìn)修或者訪學(xué),鼓勵(lì)青年教師申報(bào)各種基金項(xiàng)目。
四、總結(jié)
本文結(jié)合我校信息類專業(yè)的特點(diǎn),依據(jù)教學(xué)團(tuán)隊(duì)多年實(shí)踐教學(xué)經(jīng)驗(yàn),提出了一系列程序設(shè)計(jì)類課程改革和探索的新思路。相信通過課程設(shè)置的改革,將競賽融入教學(xué)中,能有效地引導(dǎo)新“三實(shí)型”人才的培養(yǎng),增強(qiáng)學(xué)生動(dòng)手實(shí)踐編程的能力,增加學(xué)生未來就業(yè)的籌碼。此外,在今后的教學(xué)中,教師將進(jìn)一步深化課堂教學(xué)研究,教學(xué)水平還會(huì)不斷提高。
互聯(lián)網(wǎng)技術(shù)的高速發(fā)展已經(jīng)對(duì)我國的教育領(lǐng)域產(chǎn)生了深遠(yuǎn)的影響。與此同時(shí),“Java程序設(shè)計(jì)”課程的教學(xué)和改革也迎來了挑戰(zhàn)和機(jī)遇。因此,為了提高“Java程序設(shè)計(jì)”課程教學(xué)質(zhì)量和教學(xué)效果,充分發(fā)揮學(xué)生的主動(dòng)學(xué)習(xí)積極性,探索線下線下的混合式教學(xué)模式顯得非常必要。教師要不斷深化和改革課程教學(xué),創(chuàng)新教學(xué)模式,最大限度上提高課程價(jià)值。混合式教學(xué)(即線上教學(xué))與傳統(tǒng)課堂教學(xué)(即線下教學(xué))相融合,可以在很大程度上推動(dòng)“Java程序設(shè)計(jì)”高職院校的教學(xué)獲得新的成效。然而結(jié)合實(shí)際情況,雖然我國大多數(shù)高職院校開展了“Java程序設(shè)計(jì)”課程的混合式教學(xué),但是,教學(xué)過程中還存在著不少的問題和弊端。因此,高校教師還需要深入對(duì)“Java程序設(shè)計(jì)”課程混合式教學(xué)模式的研究和探討。
1 高職“Java程序設(shè)計(jì)”課程教學(xué)現(xiàn)狀
“Java程序設(shè)計(jì)”是我國高職院校軟件技術(shù)專業(yè)的一門重要專業(yè)基礎(chǔ)課程,其主要內(nèi)容比較廣泛,而個(gè)體差異廣泛存在于我國高職院校的學(xué)生中,并且很大一部分學(xué)生的計(jì)算機(jī)思維能力較弱,自我約束能力和自我學(xué)習(xí)能力較差,這就導(dǎo)致了在進(jìn)行“Java程序設(shè)計(jì)”課程教學(xué)時(shí)存在著巨大的困難[1]。
1.1 學(xué)生正確學(xué)習(xí)意識(shí)不足
由于高職院校中的學(xué)生普遍缺乏良好的自我約束和自我學(xué)習(xí)能力,同時(shí)也對(duì)專業(yè)不夠重視,對(duì)課程的認(rèn)識(shí)性不足,相當(dāng)一部分學(xué)生在課堂中打瞌睡、玩手機(jī),這讓“Java程序設(shè)計(jì)”課程的教學(xué)變得十分困難。
1.2 課程實(shí)訓(xùn)安排不合理
由于“Java程序設(shè)計(jì)”課程在很多高職院校中只會(huì)開設(shè)一學(xué)期,因此學(xué)生對(duì)于課程的整體學(xué)習(xí)和課程進(jìn)度的把握顯得十分有限。“Java程序設(shè)計(jì)”課程目前朝著多樣化的趨勢(shì)發(fā)展,然而,我國高職院?!癑ava程序設(shè)計(jì)”課程普遍缺乏對(duì)實(shí)訓(xùn)課程的合理安排,并且可能會(huì)降低已有的實(shí)訓(xùn)課程難度來滿足基礎(chǔ)較差的同學(xué),導(dǎo)致實(shí)訓(xùn)效果和實(shí)訓(xùn)效率很低。
1.3 課程體系建設(shè)還有待加強(qiáng)
許多高職院校在進(jìn)行“Java程序設(shè)計(jì)”課程的教學(xué)和設(shè)計(jì)時(shí),往往都沒有考慮到學(xué)生的基礎(chǔ)能力是比較薄弱的,忽略了學(xué)生只是軟件技術(shù)專業(yè)的“初學(xué)者”身份。教師在專業(yè)課程的教學(xué)過程中,也沒有進(jìn)行對(duì)階段性教學(xué)成果的總結(jié)與反思,只是不斷地要求學(xué)生進(jìn)行專業(yè)知識(shí)和技能的學(xué)習(xí),從而導(dǎo)致學(xué)生缺乏對(duì)課程的總結(jié)和反思。同時(shí),缺乏對(duì)“Java程序設(shè)計(jì)”這門課程的后續(xù)安排,缺乏循序漸進(jìn)的課程體系,使得學(xué)生的學(xué)習(xí)動(dòng)力不足,課程前后銜接不完善也導(dǎo)致了學(xué)生出現(xiàn)知識(shí)脫節(jié)的情況,不利于學(xué)生的長期學(xué)習(xí)。
2 線上線下混合教學(xué)模式分析
2.1 合理科學(xué)的教學(xué)評(píng)價(jià)體系
筆者認(rèn)為,一個(gè)完整的課程評(píng)價(jià)體系應(yīng)當(dāng)是貫穿在整個(gè)混合教學(xué)過程中的,評(píng)價(jià)體系應(yīng)當(dāng)完整地將學(xué)生在學(xué)習(xí)過程中的狀態(tài)展示出來,在教師進(jìn)行課程的全面教學(xué)過程中,要充分鼓勵(lì)學(xué)生積極自主參加教學(xué)評(píng)價(jià),從而讓學(xué)生能夠掌握自身的學(xué)習(xí)狀態(tài)。教師也應(yīng)當(dāng)在教學(xué)過程中,充分地對(duì)學(xué)生知識(shí)掌握能力和技能掌握能力進(jìn)行綜合評(píng)價(jià),并且設(shè)置學(xué)習(xí)小組,對(duì)學(xué)習(xí)小組長進(jìn)行領(lǐng)導(dǎo)力評(píng)價(jià)。建立起這種評(píng)價(jià)體系,能夠在很大程度上帶動(dòng)學(xué)生的積極性,提高學(xué)習(xí)積極性。
2.2 充分認(rèn)識(shí)學(xué)生的學(xué)習(xí)需求
學(xué)生的學(xué)習(xí)需求是任何一門課程能夠良好實(shí)施的重要基礎(chǔ)。課程教學(xué)目標(biāo)應(yīng)當(dāng)在充分結(jié)合了學(xué)生學(xué)習(xí)需求的基礎(chǔ)上進(jìn)行設(shè)定,為后續(xù)的教學(xué)工作最大化提供便利[2]。學(xué)生的學(xué)習(xí)需求一般來講是分為主觀和客觀的。在學(xué)生的角度而言,主觀學(xué)習(xí)需求就是對(duì)教學(xué)成果和教學(xué)目標(biāo)實(shí)現(xiàn)的期望,而學(xué)生今后的職業(yè)發(fā)展、社會(huì)地位、薪資待遇等因素則是學(xué)生的客觀學(xué)習(xí)需求?!癑ava程序設(shè)計(jì)”課程混合式教學(xué)要充分地對(duì)學(xué)生的主觀和客戶學(xué)習(xí)需求進(jìn)行平衡,盡量做到主觀需求和客觀需求能夠?qū)Φ取?/p>
2.3 教學(xué)策略制定
“互聯(lián)網(wǎng)+”大背景下,線上線下混合式教學(xué)已經(jīng)成為各高職院校教學(xué)的基本模式。傳統(tǒng)式教學(xué)是一種很強(qiáng)的主觀式行為,強(qiáng)調(diào)的是教師的教學(xué)行為,而混合式教學(xué)策略則是充分展示教學(xué)環(huán)境和教學(xué)資源等元素。在制定混合式教學(xué)策略時(shí),教師要注重隨時(shí)對(duì)課程進(jìn)行優(yōu)化和改善,比如可以對(duì)學(xué)生進(jìn)行分層次教學(xué),對(duì)不同層次水平的學(xué)生安排不同的教學(xué)實(shí)施任務(wù),能夠幫助教師很好地完成教學(xué)任務(wù),同時(shí)也能夠高效地達(dá)到教學(xué)目標(biāo)。
3 線上線下混合式教學(xué)在“Java程序設(shè)計(jì)”課程中的具體應(yīng)用
3.1 設(shè)置合理的教學(xué)項(xiàng)目和情景
“互聯(lián)網(wǎng)+”背景下,不同課程的教學(xué)項(xiàng)目和情景、課程設(shè)計(jì)形式等都是多種多樣的。通過利用互聯(lián)網(wǎng)將學(xué)生的學(xué)習(xí)和課程的教學(xué)緊密聯(lián)合在一起,是一種當(dāng)下非常新興的教學(xué)模式,同時(shí)也是一種重要的、不同于傳統(tǒng)教學(xué)模式的突破。在混合式教學(xué)模式中,教師需要把互聯(lián)網(wǎng)課程與課程實(shí)施項(xiàng)目、理論情景進(jìn)行緊密結(jié)合,比如可以在教學(xué)過程中設(shè)置圖書館管理系統(tǒng)、學(xué)生信息管理系統(tǒng)等情景,并對(duì)其進(jìn)行合理設(shè)計(jì),能夠在一定程度上提高學(xué)生的學(xué)習(xí)興趣[3]。
3.2 提高實(shí)驗(yàn)課程占比,提高實(shí)驗(yàn)教學(xué)力度
實(shí)驗(yàn)教學(xué)在“Java程序設(shè)計(jì)”課程中占比非常大,教師在設(shè)計(jì)混合式教學(xué)的過程中,應(yīng)當(dāng)著重突出實(shí)驗(yàn)教學(xué)的力度,充分體現(xiàn)“Java程序設(shè)計(jì)”教學(xué)的實(shí)用性和適用性,增加實(shí)驗(yàn)教學(xué)在課程中的課時(shí)占比[4]。教師還應(yīng)當(dāng)在每一次實(shí)訓(xùn)課程開展前,提前給學(xué)生布置實(shí)訓(xùn)任務(wù),讓學(xué)生充分地對(duì)學(xué)習(xí)任務(wù)進(jìn)行了解和預(yù)習(xí),這也能夠讓學(xué)生在課外進(jìn)行自主探索學(xué)習(xí)。此外,教師在課程的期中考核和期末考核中也應(yīng)設(shè)置充分的實(shí)驗(yàn)內(nèi)容,這也能在一定程度上提高學(xué)生將理論知識(shí)轉(zhuǎn)化為實(shí)踐應(yīng)用的能力。如此,才能夠大大地提高混合式教學(xué)的教學(xué)效率,充分發(fā)揮實(shí)訓(xùn)教學(xué)和實(shí)訓(xùn)課程的作用。
3.3 優(yōu)化和不斷完善課程體系
“Java程序設(shè)計(jì)”課程旨在提高學(xué)生編程能力,提高項(xiàng)目開發(fā)能力,因此,課程體系的不斷優(yōu)化和改善對(duì)于“Java程序設(shè)計(jì)”課程的混合式教學(xué)實(shí)施顯得尤為重要?!癑ava程序設(shè)計(jì)”前中期要求學(xué)生重點(diǎn)掌握語法基礎(chǔ)、數(shù)據(jù)庫等知識(shí),后期則需要學(xué)生重點(diǎn)掌握面向?qū)ο蟆ava高級(jí)特性等知識(shí)。所以,對(duì)學(xué)生進(jìn)行綜合評(píng)價(jià),掌握學(xué)生的學(xué)習(xí)需求,了解學(xué)生的學(xué)習(xí)能力,是教師不斷優(yōu)化和改善課程體系的良好方式。只有構(gòu)建出合理且科學(xué)的課程體系,“Java程序設(shè)計(jì)”課程的教學(xué)實(shí)施效果才能得到良好的保證。
4 結(jié)語
總之,開展和實(shí)施混合式教學(xué)對(duì)于“Java程序設(shè)計(jì)”課程的教學(xué)有十分重要的作用。許多高職院校也在大力地建設(shè)和發(fā)展自己的網(wǎng)絡(luò)課程,并已經(jīng)在教學(xué)過程中實(shí)施混合式教學(xué)。教師也可以在“互聯(lián)網(wǎng)+”大背景下不斷地進(jìn)行網(wǎng)絡(luò)課程教學(xué)創(chuàng)新,為學(xué)生創(chuàng)造和提供良好的學(xué)習(xí)條件。
[參考文獻(xiàn)]
[1]劉長旺.基于工程實(shí)踐能力培養(yǎng)的Java程序設(shè)計(jì)課程教學(xué)改革研究[J].教育教學(xué)論壇,2017 (25 ):134-135.
1計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程實(shí)踐教學(xué)的主要范疇
計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程實(shí)踐教學(xué)主要包括上機(jī)實(shí)驗(yàn)、綜合練習(xí)、課程設(shè)計(jì)、軟件開發(fā)實(shí)訓(xùn)等幾個(gè)方面。上機(jī)實(shí)驗(yàn)是最基本的實(shí)踐教學(xué),由任課教師根據(jù)理論教學(xué)的具體進(jìn)度,設(shè)置一些簡單的實(shí)驗(yàn),要求學(xué)生在規(guī)定時(shí)間內(nèi)完成,通過這些實(shí)驗(yàn)加強(qiáng)學(xué)生對(duì)理論知識(shí)的理解和掌握。綜合練習(xí)一般在經(jīng)歷了一定的學(xué)習(xí)階段之后,任課教師根據(jù)現(xiàn)階段學(xué)生的學(xué)習(xí)情況,結(jié)合日常生活、工作中面臨的實(shí)際問題,設(shè)置一些難度較小的綜合性練習(xí)題,要求學(xué)生在規(guī)定的時(shí)間內(nèi)進(jìn)行調(diào)查分析,然后應(yīng)用所學(xué)知識(shí)解決問題。綜合練習(xí)主要側(cè)重某一方面具體知識(shí)的應(yīng)用。課程設(shè)計(jì)是在本門課程學(xué)習(xí)完畢后,任課老師根據(jù)教學(xué)大綱的要求,結(jié)合課程的特點(diǎn)和實(shí)際應(yīng)用,設(shè)置一些難度適中、綜合性強(qiáng)的課題,要求學(xué)生按要求完成課題任務(wù)。課程設(shè)計(jì)主要考查學(xué)生對(duì)知識(shí)綜合運(yùn)用的能力,培養(yǎng)學(xué)生利用所學(xué)知識(shí)來分析問題、解決問題的能力。軟件開發(fā)實(shí)訓(xùn)則是通過實(shí)際軟件項(xiàng)目來提高學(xué)生的職業(yè)綜合技能。計(jì)算機(jī)程序設(shè)計(jì)實(shí)踐教學(xué)都采取由淺入深的原則進(jìn)行,其過程為:上機(jī)實(shí)驗(yàn)綜合練習(xí)課程設(shè)計(jì)軟件開發(fā)實(shí)訓(xùn)。
2計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程實(shí)踐教學(xué)的重要性
2.1加強(qiáng)實(shí)踐教學(xué)是實(shí)現(xiàn)計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程教學(xué)目標(biāo)的要求計(jì)算機(jī)程序設(shè)計(jì)課程的主要目的是培養(yǎng)學(xué)生的程序基本開發(fā)能力、程序代碼編寫能力和程序調(diào)試應(yīng)用能力,重點(diǎn)培養(yǎng)學(xué)生的算法應(yīng)用分析能力和數(shù)據(jù)綜合處理能力。其主要任務(wù)是通過日常教學(xué),使學(xué)生掌握程序設(shè)計(jì)的一般方法和程序設(shè)計(jì)的具體過程,掌握計(jì)算機(jī)程序設(shè)計(jì)語言的語言特征,具備程序設(shè)計(jì)師的基礎(chǔ)應(yīng)用能力。在教學(xué)過程中,任課教師應(yīng)以人才培養(yǎng)為目標(biāo),側(cè)重編程綜合應(yīng)用能力的培養(yǎng),通過具體的實(shí)踐教學(xué)來提高學(xué)生的職業(yè)技能。
2.2實(shí)踐教學(xué)是提高程序設(shè)計(jì)課程教學(xué)質(zhì)量的重要手段實(shí)踐教學(xué)是培養(yǎng)學(xué)生動(dòng)手能力的重要手段,是提高學(xué)生的動(dòng)手能力和職業(yè)技能最有效的方式,是對(duì)學(xué)生理論知識(shí)掌握程度的檢驗(yàn)。“知識(shí)來源于實(shí)踐”,“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,計(jì)算機(jī)程序設(shè)計(jì)課程的理論知識(shí)應(yīng)通過編程實(shí)踐體現(xiàn),通過具體的程序設(shè)計(jì)案例和實(shí)際編程來提高學(xué)生對(duì)理論知識(shí)的掌握,學(xué)生
綜合編程能力的強(qiáng)弱是檢驗(yàn)計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程教學(xué)質(zhì)量的基本標(biāo)準(zhǔn)。
3成人教育業(yè)程序設(shè)計(jì)課程實(shí)踐教學(xué)存在的問題
我國成人教育業(yè)程序設(shè)計(jì)課程的實(shí)踐教學(xué)存在問題的體現(xiàn)在下述方面:①實(shí)踐設(shè)施不足,教學(xué)條件不完善;②對(duì)教學(xué)認(rèn)識(shí)不足,實(shí)踐教學(xué)不受重視;③實(shí)踐教學(xué)方法陳舊,考核方式單一。 轉(zhuǎn)貼于
4積極探索,構(gòu)建合理的程序設(shè)計(jì)課程實(shí)踐教學(xué)模式
4.1實(shí)踐教學(xué)要符合教學(xué)目標(biāo)的需要計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程實(shí)踐教學(xué)必須緊緊圍繞專業(yè)培養(yǎng)目標(biāo)、人才培養(yǎng)規(guī)格進(jìn)行。要結(jié)合專業(yè)特點(diǎn)更新教學(xué)內(nèi)容,調(diào)整實(shí)踐教學(xué)內(nèi)容、方法和手段。實(shí)踐教學(xué)內(nèi)容的更新,要注重對(duì)學(xué)生編程綜合能力的培養(yǎng)和創(chuàng)新能力的培養(yǎng),要對(duì)已有的實(shí)踐教學(xué)內(nèi)容進(jìn)行篩選、整合,改變單一的演示性、驗(yàn)證性實(shí)驗(yàn),增加綜合性、設(shè)計(jì)性、創(chuàng)新性實(shí)驗(yàn),要充分利用計(jì)算機(jī)課程的教學(xué)特征,提高實(shí)踐教學(xué)效果。
4.2以社會(huì)就業(yè)需求為主導(dǎo),開展多種形式的實(shí)踐教學(xué)程序設(shè)計(jì)課程實(shí)踐教學(xué)主要有上機(jī)實(shí)驗(yàn)、課程章節(jié)綜合練習(xí)、大作業(yè)、課程設(shè)計(jì)、軟件項(xiàng)目實(shí)訓(xùn)、校外軟件基地實(shí)習(xí)、軟件合作企業(yè)頂崗實(shí)習(xí)、校內(nèi)軟件課題研發(fā)等。其中實(shí)訓(xùn)、實(shí)習(xí)和研發(fā)都是采用“真題真做”。通過上述這些實(shí)踐過程,學(xué)生的程序設(shè)計(jì)綜合應(yīng)用能力和軟件開發(fā)能力都能得到良好的鍛煉。
4.3程序設(shè)計(jì)課程實(shí)踐教學(xué)設(shè)計(jì)一般要求定教學(xué)的具體內(nèi)容。大多數(shù)情形下,采用實(shí)例教學(xué)效果比較明顯,通過實(shí)例的演練促進(jìn)學(xué)生對(duì)知識(shí)的掌握。實(shí)例式實(shí)踐教學(xué)設(shè)計(jì)一般應(yīng)包括教學(xué)目標(biāo)、課時(shí)要求、教學(xué)組織、教學(xué)內(nèi)容、實(shí)踐方式、實(shí)踐總結(jié)、成績?cè)u(píng)定等幾部分內(nèi)容。在設(shè)計(jì)實(shí)踐教學(xué)內(nèi)容的過程中,應(yīng)做好三個(gè)方面工作。一是要結(jié)合學(xué)生實(shí)際情況,盡量體現(xiàn)知識(shí)性、實(shí)用性,激發(fā)學(xué)生的靈感和創(chuàng)造欲,使學(xué)生對(duì)實(shí)踐內(nèi)容感興趣,以充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性和主觀能動(dòng)性,促進(jìn)學(xué)生積極創(chuàng)新,完成實(shí)踐內(nèi)容。二是應(yīng)注重理論教學(xué)與實(shí)踐教學(xué)相結(jié)合,保證實(shí)踐教學(xué)與理論課教學(xué)相適應(yīng),加深學(xué)生對(duì)基本理論、基本知識(shí)的理解和掌握。三是保證實(shí)踐題目難度和工作量適中,學(xué)生通過自己的努力,可以在規(guī)定時(shí)間內(nèi)完成實(shí)踐任務(wù),實(shí)踐方式可以靈活多變。
目前,程序設(shè)計(jì)類課程已作為中職計(jì)算機(jī)專業(yè)的一門重要課程。在學(xué)生完成了計(jì)算機(jī)基礎(chǔ)知識(shí)的學(xué)習(xí)后,通常要學(xué)習(xí)一些高級(jí)語言的程序設(shè)計(jì)類課程,如VB、C#、ASP. NET等,而這些課程要求學(xué)生必須有較好的計(jì)算機(jī)基礎(chǔ)和靈活的邏輯思維能力才能學(xué)好。在實(shí)際的教學(xué)過程中,雖然實(shí)施了“理實(shí)一體化”的教學(xué)模式和以學(xué)生為主、項(xiàng)目化教學(xué)等方式,但效果并不理想。所以,必須尋找一種更有效的教學(xué)方法來提高程序設(shè)計(jì)類課程的教學(xué)效果。
一、教學(xué)現(xiàn)狀及原因分析
相信大部分計(jì)算機(jī)教師在教學(xué)生程序設(shè)計(jì)類課程時(shí)362總有這樣的感覺:講理論知識(shí)時(shí)很多很全,學(xué)生感覺枯燥無味;實(shí)訓(xùn)操作時(shí),學(xué)生沒興趣,消極應(yīng)對(duì)。那么,是什么原因造成以上現(xiàn)象呢?我認(rèn)為有以下幾點(diǎn)。
1.課程的特點(diǎn)。程序設(shè)計(jì)類課程一般都是由理論知識(shí)和實(shí)訓(xùn)操作兩部分構(gòu)成,是一門專業(yè)性較強(qiáng)的課程,要求學(xué)生對(duì)知識(shí)點(diǎn)掌握十分透徹,并具備一定的邏輯思維能力。如C#語言中學(xué)生必須要掌握.NET框架和基類庫、程序的構(gòu)成和結(jié)構(gòu)、類、數(shù)組等概念才能較好地完成實(shí)訓(xùn)操作。概念之抽象是學(xué)生難以學(xué)好的一個(gè)原因。
2.學(xué)生的特點(diǎn)。中職學(xué)生大多計(jì)算機(jī)基礎(chǔ)薄弱、學(xué)習(xí)興趣低、自主學(xué)習(xí)能力差。但他們又對(duì)新鮮事物充滿好奇,能進(jìn)行探索和思考。通過調(diào)查發(fā)現(xiàn),大多數(shù)學(xué)生覺得學(xué)不好的原因是覺得課程知識(shí)點(diǎn)難懂,實(shí)訓(xùn)操作模式單一(主要是完成書本中的項(xiàng)目實(shí)訓(xùn)),沒有積極性。
3.教學(xué)設(shè)計(jì)與方法。在傳統(tǒng)的教學(xué)中,教師一般將書本的理論知識(shí)先講授,再讓學(xué)生通過項(xiàng)目實(shí)訓(xùn)來鞏固所學(xué)知識(shí),通常采取任務(wù)驅(qū)動(dòng)、小組合作學(xué)習(xí)、教師引導(dǎo)的方法完成實(shí)訓(xùn)任務(wù)。然而在書本中,每一個(gè)項(xiàng)目對(duì)應(yīng)的是一個(gè)知識(shí)點(diǎn)的專項(xiàng)實(shí)訓(xùn),項(xiàng)目與項(xiàng)目之間相對(duì)獨(dú)立,學(xué)生一旦沒有對(duì)知識(shí)點(diǎn)掌握透徹,就很難完成項(xiàng)目實(shí)訓(xùn)。雖然有小組合作,但由于知識(shí)抽象,掌握知識(shí)技巧的學(xué)生也很難教會(huì)不懂的學(xué)生。
二、項(xiàng)目結(jié)合,大膽探索
針對(duì)以上現(xiàn)象,如何提高程序設(shè)計(jì)類課程的教學(xué)效果呢?本人經(jīng)過研究和探索發(fā)現(xiàn),要讓學(xué)生學(xué)好程序設(shè)計(jì)類課程,光靠書本理論的講授和實(shí)訓(xùn)是不夠的,只有充分地激起學(xué)生的興趣,學(xué)生才能想學(xué)、去學(xué)、喜歡學(xué),主動(dòng)性和積極性才能提高。對(duì)此,本人總結(jié)出了一套“項(xiàng)目結(jié)合”的教學(xué)方法,就是打破傳統(tǒng)的教學(xué)法,將某一章節(jié)獨(dú)立的項(xiàng)目重新設(shè)計(jì),循序漸進(jìn)地結(jié)合起來,提高項(xiàng)目的趣味性,用興趣綁住學(xué)生。比如在《Windows程序設(shè)計(jì)案例教程(C#)》中第二章,書本中的項(xiàng)目依次是時(shí)鐘實(shí)例、加法練習(xí)器實(shí)例、項(xiàng)目選擇器實(shí)例、選擇題應(yīng)答器實(shí)例、倒計(jì)時(shí)實(shí)例和英文字母練習(xí)器實(shí)例。通過對(duì)項(xiàng)目和教學(xué)的重新設(shè)計(jì),我以英文字母練習(xí)器實(shí)例為主線,將倒計(jì)時(shí)實(shí)例、選擇題應(yīng)答器實(shí)例、加法練習(xí)器實(shí)例中的重要知識(shí)點(diǎn)結(jié)合起來,形成了一個(gè)趣味性強(qiáng)、知識(shí)點(diǎn)關(guān)聯(lián)性高的一個(gè)新項(xiàng)目。下面以《Windows程序設(shè)計(jì)案例教程(C#)》中第二章的《英文字母練習(xí)器》教學(xué)為例,和大家探討“項(xiàng)目結(jié)合”的方法在實(shí)際教學(xué)過程中的作用。教學(xué)設(shè)計(jì)和教學(xué)方法分為如下幾個(gè)步驟:
1.引入游戲,創(chuàng)設(shè)情境。教師展示一款大家都比較熟悉的“切西瓜”游戲,并進(jìn)行操作演示,同時(shí)讓學(xué)生觀察思考,分析游戲的功能,從而激發(fā)學(xué)生興趣,學(xué)生通過觀察分析出游戲所具備的功能,為新課作鋪墊。教學(xué)方法可采用學(xué)生觀察法,討論法。
2.項(xiàng)目要點(diǎn)剖析,提高認(rèn)識(shí)。首先,以書本中的英文字母練習(xí)器實(shí)例為基礎(chǔ),分析項(xiàng)目的功能、關(guān)鍵技術(shù)、設(shè)計(jì)的方法等,如timer的功能、pictureBox的作用等。然后,對(duì)比“切西瓜”游戲,讓學(xué)生分析項(xiàng)目中的不足及完善的方法。教學(xué)方法可采用小組討論、教師引導(dǎo)。
中圖分類號(hào):TP312.1-4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 16-0000-02
C#作為一種簡單、現(xiàn)代、面向?qū)ο笄翌愋桶踩木幊陶Z言,由C和C++語言衍生而來,雖然與C和C++有相似之處,但是它有自身的特點(diǎn)和優(yōu)點(diǎn)。C#語言的優(yōu)勢(shì)如下:
具有高度的靈活的性和強(qiáng)大的底層控制能力,能與計(jì)算機(jī)硬件直接通信。
具有可移植性,盡管程序的編寫是針對(duì)所使用的操作系統(tǒng)和特定的計(jì)算機(jī)硬件系統(tǒng)的,但是只需要做少量的修改就可以應(yīng)用于其他系統(tǒng)。
代碼高效,具有相當(dāng)?shù)膱?zhí)行效率。
1 課程特點(diǎn)
根據(jù)高職教學(xué)的特點(diǎn)在課程設(shè)計(jì)上體現(xiàn)“以就業(yè)需要確定崗位,以崗位確定能力(技能、技術(shù))”的原則。每一崗位技能由一個(gè)系列課程(2~4門課程+1~2門實(shí)訓(xùn)課程)教學(xué)進(jìn)行培養(yǎng),形成“崗位系列課程鏈”。也就是,把職業(yè)崗位要求的一項(xiàng)專門技術(shù)看成是一項(xiàng)任務(wù),并設(shè)計(jì)成一個(gè)貫穿教學(xué)全過程的課程鏈;以核心知識(shí)課程打好技術(shù)和能力基礎(chǔ);以行動(dòng)導(dǎo)向的實(shí)訓(xùn)課程或課程設(shè)計(jì)項(xiàng)目培養(yǎng)職業(yè)需要的技能。在軟件開發(fā)核心能力的培養(yǎng)中,C#程序設(shè)計(jì)是非常重要的一環(huán),所以在課程講授主線上,按照“讀程”、“編程”、“開發(fā)”、“測(cè)試”、“研發(fā)”的能力結(jié)構(gòu)和學(xué)習(xí)過程設(shè)置教學(xué)環(huán)節(jié),學(xué)生可按“模塊化、組合型、進(jìn)階式”等方式選擇學(xué)習(xí)內(nèi)容,逐步深入掌握編程知識(shí),并兼顧其他能力培養(yǎng)。
2 教學(xué)實(shí)施及管理
在實(shí)際教學(xué)中,教學(xué)模塊設(shè)計(jì)以軟件開發(fā)崗位任職要求、工作過程為導(dǎo)向,任務(wù)驅(qū)動(dòng),遵循由易到難的規(guī)律,形成由單一能力培養(yǎng)到綜合能力培養(yǎng)的思路。把軟件開發(fā)分為C/S和B/S兩種模式,對(duì)于兩種模式分別以綜合實(shí)訓(xùn)項(xiàng)目入手,強(qiáng)調(diào)實(shí)際工作能力的培養(yǎng),而不是單一知識(shí)點(diǎn)的掌握。目前,企業(yè)對(duì)畢業(yè)生的用人標(biāo)準(zhǔn)中,動(dòng)手能力、學(xué)習(xí)能力、與人溝通能力和團(tuán)隊(duì)合作能力,是其選擇人才的重要標(biāo)準(zhǔn)。動(dòng)手能力和實(shí)踐經(jīng)驗(yàn)的提高,必須在實(shí)踐環(huán)節(jié)的教學(xué)管理中加以訓(xùn)練和培養(yǎng)。通過實(shí)踐課環(huán)節(jié)的學(xué)習(xí),學(xué)生的動(dòng)手能力、自主學(xué)習(xí)能力等技能都得到了提高。而其項(xiàng)目開發(fā)本身的趣味性和挑戰(zhàn)性,很好地激發(fā)了學(xué)生對(duì)實(shí)踐環(huán)節(jié)的學(xué)習(xí)積極性。因此,加強(qiáng)實(shí)踐環(huán)節(jié)的培養(yǎng)是C#程序設(shè)計(jì)課程的教學(xué)重點(diǎn)。在教學(xué)中綜合運(yùn)用多種教學(xué)方法。根據(jù)C#程序設(shè)計(jì)課程的特點(diǎn),并通過幾個(gè)學(xué)期的教學(xué)實(shí)踐證明,采用項(xiàng)目教學(xué)法,在不同的項(xiàng)目中設(shè)計(jì)小的教學(xué)情境,模擬真實(shí)的工作環(huán)境,用實(shí)際任務(wù)驅(qū)動(dòng)教學(xué)的開展,采用激勵(lì)式教學(xué)法、團(tuán)隊(duì)互助式教學(xué)法等多種方法共同使用,使學(xué)生更好的掌握各項(xiàng)知識(shí)和技能。對(duì)于不同的知識(shí)點(diǎn)靈活的運(yùn)用不同的教學(xué)方法,達(dá)到良好的教學(xué)效果。
3 校企合作課程建設(shè)
深化教學(xué)改革,遵循軟件技術(shù)職業(yè)能力的形成規(guī)律,發(fā)揮教師的實(shí)踐工作經(jīng)驗(yàn),強(qiáng)化任務(wù)(案例)驅(qū)動(dòng)和“以做為主”的教學(xué)方法,將企業(yè)中真實(shí)項(xiàng)目、案例和技巧融入到教學(xué)中,使課程的講授更加貼近企業(yè)的真實(shí)工作環(huán)境和技術(shù)要求,并進(jìn)一步強(qiáng)化“以教師為主導(dǎo),學(xué)生為主體”的教學(xué)理念。
在教學(xué)中通過角色扮演的方式模擬企業(yè)的實(shí)際工作環(huán)境,使學(xué)生感受更加真實(shí)。企業(yè)技術(shù)人員和教師在軟件開發(fā)實(shí)訓(xùn)項(xiàng)目中通過扮演項(xiàng)目經(jīng)理以及系統(tǒng)設(shè)計(jì)師等角色,帶領(lǐng)學(xué)生完成真實(shí)的軟件項(xiàng)目。軟件開發(fā)是一個(gè)多角色協(xié)作的過程,有配置經(jīng)理、開發(fā)人員、文檔作者、測(cè)試人員、維護(hù)人員幾個(gè)角色可供選擇,只有在實(shí)訓(xùn)項(xiàng)目中讓學(xué)生通過扮演適當(dāng)?shù)慕巧拍芙o學(xué)生真正溝通,協(xié)作體驗(yàn),并獲得適應(yīng)未來工作需要的實(shí)際經(jīng)驗(yàn)。
4 多種教學(xué)手段的應(yīng)用
4.1 精心設(shè)計(jì)教學(xué)課件,合理設(shè)計(jì)教學(xué)情境
在課堂教學(xué)中,不是死板的運(yùn)用PPT演示知識(shí)點(diǎn),而是把知識(shí)點(diǎn)穿插在實(shí)際案例中,合理的設(shè)計(jì)教學(xué)情境,讓學(xué)生更加深刻的理解所學(xué)知識(shí)點(diǎn)。
4.2 講解編程思路,引導(dǎo)學(xué)生編程
在教學(xué)過程中,教師并不是把大段的程序發(fā)給學(xué)生,再給學(xué)生講解程序功能,這樣只會(huì)使學(xué)生一味的抄襲,缺乏自我思考。教師應(yīng)該引導(dǎo)學(xué)生,讓學(xué)生參加到程序的開發(fā)中,隨著教師的思路一同完成的程序的編寫,并把程序中相近的部分讓學(xué)生獨(dú)立完成。
4.3 利用LanStar教學(xué)廣播系統(tǒng)
在教師講解知識(shí)點(diǎn)和課后總結(jié)中,通過廣播教學(xué)方式,讓全體學(xué)生的注意力集中在教師身上,提高教學(xué)效果。在學(xué)生自主練習(xí)時(shí),學(xué)生可以運(yùn)用LanStar系統(tǒng)進(jìn)行課堂提問,教師可以及時(shí)輔導(dǎo),并且可以讓學(xué)生自己把優(yōu)秀的學(xué)生作品,通過LanStar系統(tǒng)展示給其他同學(xué),提高學(xué)生的綜合素質(zhì)。
4.4 利用互聯(lián)網(wǎng)進(jìn)行課后教學(xué)輔導(dǎo)
課后教師運(yùn)用QQ、MSN等軟件,為學(xué)生提供遠(yuǎn)程在線指導(dǎo)隨時(shí)解決學(xué)生在學(xué)習(xí)過程中所遇到的問題,教師可以通過QQ軟件提供的遠(yuǎn)程協(xié)助功能,教師可以遠(yuǎn)程登錄學(xué)生的電腦,為學(xué)生解決編程中的各項(xiàng)問題,使學(xué)生的學(xué)習(xí)不再局限于有限的課堂教學(xué)時(shí)間。
5 探索以技能考核的新方式
在考核方式上,知識(shí)理論性按融合了知識(shí)點(diǎn)與技能點(diǎn)的試卷形式進(jìn)行考核,項(xiàng)目設(shè)計(jì)按作品完成情況進(jìn)行考核,實(shí)訓(xùn)操作按操作和測(cè)試過程中學(xué)生現(xiàn)場表現(xiàn)進(jìn)行考核,對(duì)于不同內(nèi)容采用不同的考核方式,考核標(biāo)準(zhǔn)也有所不同,該標(biāo)準(zhǔn)應(yīng)包括:實(shí)訓(xùn)題庫(學(xué)生必須掌握的操作技能)、評(píng)價(jià)標(biāo)準(zhǔn)、組織形式等內(nèi)容。實(shí)行終結(jié)性考核與過程性考試相結(jié)合的方式。以實(shí)際技能為導(dǎo)向,把實(shí)踐能力和項(xiàng)目能力納入考核范圍。采用筆試、機(jī)試、綜合作業(yè)、項(xiàng)目評(píng)審考核等方法。并以此全面衡量和控制教學(xué)質(zhì)量。
所以,在課程的考核中既要考核學(xué)生理論知識(shí)的掌握程度,學(xué)生的實(shí)踐動(dòng)手能力,更要考核學(xué)生的團(tuán)隊(duì)協(xié)作能力,通過平時(shí)的知識(shí)點(diǎn)考核和最終的項(xiàng)目展示、項(xiàng)目答辯達(dá)到預(yù)期效果。
6 總結(jié)
在C#程序設(shè)計(jì)課程的教學(xué)中,通過與企業(yè)之間的合作,取得了良好的教學(xué)效果,教學(xué)中采用企業(yè)的真實(shí)項(xiàng)目開展教學(xué),并邀請(qǐng)企業(yè)技術(shù)人員與學(xué)校專職教師共同完成課程的講授,既發(fā)揮了教師理論知識(shí)強(qiáng)的優(yōu)點(diǎn),也使學(xué)生在企業(yè)技術(shù)人員身上學(xué)到了最新的實(shí)踐技能。 “工學(xué)結(jié)合”項(xiàng)目貫徹整個(gè)教學(xué)過程,學(xué)生在課程學(xué)習(xí)中,參與企業(yè)的真實(shí)案例,讓學(xué)生在真實(shí)企業(yè)環(huán)境中提升崗位技能。在教學(xué)中,強(qiáng)化任務(wù)驅(qū)動(dòng)和“以做為主”的教學(xué)方法,將大量真實(shí)的任務(wù)、案例和操作技巧融入教學(xué)內(nèi)容,使課程內(nèi)容緊貼生產(chǎn)實(shí)踐和技術(shù)前沿,強(qiáng)化“以教師為主導(dǎo),學(xué)生為主體”的教學(xué)理念。
參考文獻(xiàn):
[1]王婧.任務(wù)驅(qū)動(dòng)法在計(jì)算機(jī)課程教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2011,8.
[2]游祖元.C#案例教程[J].電子工業(yè)出版社,2008,8.
C語言程序設(shè)計(jì)既是高等學(xué)校一門重要的公共基礎(chǔ)課程,也是計(jì)算機(jī)專業(yè)的一門專業(yè)基礎(chǔ)課。由于邏輯性和實(shí)踐性強(qiáng),使該課程的教學(xué)和實(shí)踐存在一些誤區(qū),主要表現(xiàn)如下。
1) 學(xué)生不清楚本專業(yè)的特點(diǎn)。多數(shù)高校將本課程安排在大一的第一學(xué)期,由于對(duì)于本專業(yè)的課程體系了解不夠,導(dǎo)致新生對(duì)各專業(yè)特點(diǎn)混淆不清,有的學(xué)生去報(bào)考計(jì)算機(jī)等級(jí)考試,結(jié)果有的還不如非計(jì)算機(jī)專業(yè)的學(xué)生,致使一些學(xué)生學(xué)習(xí)消沉。我們通過和學(xué)生談心,得知不只是大一有這種現(xiàn)象,大二的學(xué)生甚至也存在這種心理[1]。
2) 學(xué)生學(xué)習(xí)本課程目的不明確,興趣不高。在教學(xué)中,有不少學(xué)生問,既然C#和Java是現(xiàn)在的主流編程語言,為什么還要讓我們學(xué)習(xí)C語言?所以我們?cè)诘谝惶谜n介紹計(jì)算機(jī)語言發(fā)展時(shí),將C語言和其他語言作比較,強(qiáng)調(diào)C語言是當(dāng)前程序員共同的語言,它使程序員互相溝通,比流行語言都更接近機(jī)器。C語言更適合解決某些小型程序的編程,在編寫底層的設(shè)備驅(qū)動(dòng)程序和內(nèi)嵌應(yīng)用程序時(shí),往往是更好的選擇。有了C的基礎(chǔ),在需要時(shí)進(jìn)一步學(xué)習(xí)其他語言,也是很容易過渡的。當(dāng)然,第一堂課上,我們把重點(diǎn)放在培養(yǎng)學(xué)生的興趣上,所以會(huì)用1個(gè)學(xué)時(shí)去展示歷年實(shí)訓(xùn)的優(yōu)秀作品,這些作品都是完整的系統(tǒng),除了包涵基礎(chǔ)知識(shí),還有高級(jí)技術(shù)。我們向?qū)W生灌輸學(xué)習(xí)這門課程的境界:Beginner―Advanced―Professional。
3) 任課教師對(duì)課程的定位、理解和把握不夠。老師只有有一桶水,才能教給學(xué)生一碗水,教得了學(xué)生不等于教得好學(xué)生,學(xué)生的評(píng)教正說明了此問題。
通過實(shí)踐,我們對(duì)計(jì)算機(jī)專業(yè)本課程教師的要求是:“復(fù)合型”的教師――既要精通這門課程,還要有3年以上實(shí)際項(xiàng)目開發(fā)經(jīng)驗(yàn),并且非常熟悉計(jì)算機(jī)其他學(xué)科的知識(shí),而“教師的成功在于培養(yǎng)出值得自己崇拜的人[2]”。
因此,我們對(duì)本課程的定位是,以程序設(shè)計(jì)為中心,掌握語法,了解算法,重在算法的實(shí)現(xiàn)――編程。算法是靈魂,語法是基礎(chǔ),編程是中心。處理好三者的關(guān)系,直接決定了教學(xué)的成敗。
算法盡管重要,但本課程不是算法設(shè)計(jì)課程,不可能過多地介紹算法,更不是在研究算法。我們要在學(xué)生學(xué)習(xí)編程的過程中,介紹相關(guān)的典型算法,引導(dǎo)學(xué)生面對(duì)問題去思考如何構(gòu)造算法,編寫程序的過程本身就是設(shè)計(jì)算法的過程。
為此,我們對(duì)本課程體系進(jìn)行了改革,并將本課程與計(jì)算機(jī)其他學(xué)科進(jìn)行了融合教學(xué)與實(shí)踐,取得了非常好的效果。
1課程體系的改革
1) 修改教學(xué)環(huán)節(jié)。
我們把原計(jì)劃一學(xué)期的教學(xué)時(shí)間調(diào)整為一學(xué)年。第一學(xué)期進(jìn)行C語言程序設(shè)計(jì)基礎(chǔ)的教學(xué),第二學(xué)期進(jìn)行C語言程序設(shè)計(jì)的進(jìn)階教學(xué),在學(xué)年末進(jìn)行該門課的實(shí)訓(xùn),接著的暑假進(jìn)行校外實(shí)習(xí)。根據(jù)不同專業(yè),我們還開了小學(xué)期,在小學(xué)期里有連續(xù)12周的實(shí)驗(yàn)環(huán)節(jié)。
2) 修訂培養(yǎng)計(jì)劃和大綱,改革考核方式。
我們把本課程的教學(xué)改革與本學(xué)院的“卓越工程師計(jì)劃”相結(jié)合,組織教師外出考察、研討,然后重新修訂了培養(yǎng)計(jì)劃、教學(xué)大綱、實(shí)驗(yàn)大綱、實(shí)訓(xùn)大綱、實(shí)綱。相應(yīng)地,考核方式也作了調(diào)整:基礎(chǔ)教學(xué)由筆試轉(zhuǎn)向機(jī)試,試題難度高于非計(jì)算機(jī)專業(yè)的等級(jí)考試,每次考試的題庫都將重新命題和審閱。進(jìn)階教學(xué)由考試轉(zhuǎn)向完成3 000行以上大作業(yè)形式的考查,實(shí)訓(xùn)由過去的全班一個(gè)模擬題目轉(zhuǎn)向提供多個(gè)實(shí)際驗(yàn)收簽定過的項(xiàng)目,進(jìn)行C版本的再次開發(fā),實(shí)習(xí)由過去的只是到實(shí)習(xí)基地參觀調(diào)整為直接進(jìn)企業(yè)拜師跟班學(xué)習(xí)。
3) 豐富配套的教學(xué)資源。
我校組織編寫了《C語言程序設(shè)計(jì)基礎(chǔ)及進(jìn)階教程》,被評(píng)為“十一五”國家級(jí)規(guī)劃教材,已于2010年由清華大學(xué)出版社出版發(fā)行。我們還配套編印了上機(jī)實(shí)驗(yàn)的實(shí)踐教程(將在今年教材的第二版時(shí)一并出版),以及實(shí)訓(xùn)時(shí)的實(shí)訓(xùn)教材和實(shí)習(xí)的實(shí)習(xí)教程,并建設(shè)了精品課程在線學(xué)習(xí)平臺(tái),供師生討論和交流。制作了與教材配套的課件與教案,供教學(xué)參考。
我們專門搭建了學(xué)校ACM/ICPC在線測(cè)評(píng)平臺(tái),并組建了容納120人的競賽專用機(jī)房,成立了ACM/ICPC競賽班。2008年起,河南省計(jì)算機(jī)學(xué)會(huì)主辦一年一次的河南省大學(xué)生程序設(shè)計(jì)競賽,我們每年都組隊(duì)參加,在過去的三屆競賽上,共獲得4枚金獎(jiǎng)、2枚銀獎(jiǎng)、1枚銅獎(jiǎng)。2009年參加亞洲區(qū)賽現(xiàn)場賽獲得優(yōu)秀獎(jiǎng)。2010年參加第35屆亞洲區(qū)賽,通過預(yù)賽,獲得天津賽區(qū)、杭州賽區(qū)和成都賽區(qū)的決賽資格,并在成都賽區(qū)獲得1枚銅牌,排名第59名,是河南省該項(xiàng)賽事最好成績,為學(xué)校爭得了榮譽(yù)。在學(xué)校內(nèi)部,我們從2009年開始每年組織兩次全校程序設(shè)計(jì)競賽,至今已經(jīng)主辦了四次校級(jí)競賽。
4) 轉(zhuǎn)變教學(xué)理念。
我們提出了C語言與計(jì)算機(jī)相關(guān)課程的融合教學(xué)與實(shí)踐的教學(xué)理念。
5) 采用新的教學(xué)方法。
在課堂教學(xué)中,我們使用任務(wù)驅(qū)動(dòng)、課堂討論、3W1H教學(xué)法、現(xiàn)場編程教學(xué)法、課堂陷阱教學(xué)法、任務(wù)分解教學(xué)法、任務(wù)貫穿教學(xué)法、分散集中教學(xué)法、兩段教學(xué)法、實(shí)訓(xùn)優(yōu)秀作品展示激勵(lì)法、融合教學(xué)法等多種教學(xué)法,在課外使用網(wǎng)上在線討論與答疑、競賽輔導(dǎo)撥高法、課題組觀摩討論法。我們打破大學(xué)考試試卷不評(píng)講的一貫做法,在第二學(xué)期的進(jìn)階課程第一堂課評(píng)講上學(xué)期期末試卷[3]。
(1)3W1H教學(xué)法。即:What――解決什么問題,Why――通過實(shí)際生活例子引入為什么要解決這個(gè)問題,Where――在什么條件下能夠解決,How――如何運(yùn)用學(xué)到的方法、技術(shù)來解決問題。
(2) 現(xiàn)場編程教學(xué)法。在講授有代碼編寫的理論課時(shí),當(dāng)一個(gè)理論知識(shí)介紹完后,教師出一個(gè)難易程度適當(dāng)且有代表性的題目,讓學(xué)生隨堂寫代碼,并抽學(xué)生到黑板上寫,或者抽幾份學(xué)生作業(yè)當(dāng)場點(diǎn)評(píng)。
(3) 課堂陷阱教學(xué)法。在期中檢查座談會(huì)上,有的老教師說學(xué)生很難發(fā)現(xiàn)自己程序的錯(cuò)誤,而課堂上即使是老師手下的一個(gè)筆誤,學(xué)生也能發(fā)現(xiàn)并喊錯(cuò)了。我們正是可以利用學(xué)生這種“容許自己范錯(cuò),不許老師失誤”的習(xí)慣,對(duì)于學(xué)生書寫代碼時(shí)容易出錯(cuò),或者上機(jī)碰到的共性問題,我們?cè)谡n堂上演示時(shí)設(shè)下陷阱,故意把代碼寫錯(cuò),有的學(xué)生當(dāng)時(shí)就能發(fā)現(xiàn),而有的學(xué)生在編譯時(shí)才發(fā)現(xiàn)有錯(cuò),我們用自己的錯(cuò)誤來吸引學(xué)生注意力,加深學(xué)生的印象。
(4) 課題組觀摩討論法。我們組織本課題組教師每兩周進(jìn)行一次教學(xué)觀摩討論,取長補(bǔ)短,相互學(xué)習(xí),推廣好的教學(xué)方法。
(5) 實(shí)訓(xùn)優(yōu)秀作品展示激勵(lì)法。我們?cè)诘谝粚W(xué)期基礎(chǔ)課程的第一堂課上展示往屆的優(yōu)秀實(shí)訓(xùn)作品,讓學(xué)生覺得既好奇又深?yuàn)W,極大地激勵(lì)了學(xué)生的興趣。臨到畢業(yè),大部分學(xué)生還能對(duì)這堂課記憶猶新。
2與計(jì)算機(jī)相關(guān)課程的融合教學(xué)
通過近5年的實(shí)踐與總結(jié),我們認(rèn)為如果把C語言程序設(shè)計(jì)與計(jì)算機(jī)相關(guān)課程進(jìn)行融合教學(xué),必將促進(jìn)學(xué)生對(duì)該門課程的理解,同時(shí)凝聚專業(yè)特色,促進(jìn)其他課程的學(xué)習(xí),對(duì)于學(xué)生的自學(xué)與綜合能力的培養(yǎng)都有積極的作用。
1) 與數(shù)據(jù)結(jié)構(gòu)融合。
在講到C語言中的基本數(shù)據(jù)類型與構(gòu)造類型時(shí),圍繞數(shù)據(jù)結(jié)構(gòu)的一條主線――四種結(jié)構(gòu)兩種存儲(chǔ),聯(lián)系數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)類型,在抽象數(shù)據(jù)類型ADT中只定義了基本操作,復(fù)雜的操作是通過基本操作實(shí)現(xiàn)的。在抽象數(shù)據(jù)類型中定義的操作與C語言中的各種類型的運(yùn)算,比如取余運(yùn)算符“%”,在C語言中僅限整數(shù)。在講到查找與排序時(shí),對(duì)照數(shù)據(jù)結(jié)構(gòu)中的查找與排序,介紹一些經(jīng)典和效率高的算法。在講到遞歸函數(shù)調(diào)用時(shí),用數(shù)據(jù)結(jié)構(gòu)中的遞歸調(diào)用時(shí)棧的進(jìn)棧出棧變化過程講解。在講到scanf函數(shù)和其他讀取字符函數(shù)時(shí),將內(nèi)存與鍵盤輸入緩沖區(qū)結(jié)合,使學(xué)生更容易理解數(shù)據(jù)的輸入格式。
2) 與操作系統(tǒng)融合。
在講到變量的數(shù)據(jù)類型及變量的存儲(chǔ)類型時(shí),結(jié)合操作系統(tǒng)的內(nèi)存結(jié)構(gòu),講解內(nèi)存區(qū)域分為6個(gè)不同的部分來存儲(chǔ)不同的數(shù)據(jù),使學(xué)生了解內(nèi)存組織的有序性。特殊地,寄存器變量不占內(nèi)存,而字符串常量存放在符號(hào)常量區(qū),通過講解內(nèi)存結(jié)構(gòu),學(xué)生就明白靜態(tài)變量為什么第一次使用時(shí)會(huì)初始化,以后再使用時(shí)用的是上一次的值。在講解數(shù)組的連續(xù)存儲(chǔ)、鏈表的動(dòng)態(tài)存儲(chǔ)時(shí),結(jié)合內(nèi)存就會(huì)理解得更透徹些,甚至可補(bǔ)充內(nèi)存中堆與棧使用的知識(shí)[4]。
3) 與計(jì)算機(jī)組成原理融合。
入學(xué)時(shí),教師介紹計(jì)算機(jī)發(fā)展,一般都會(huì)講到馮•諾依曼原理,那么為什么要學(xué)習(xí)語言呢?還得從計(jì)算機(jī)組成原理來講,從電腦城裝配電腦介紹起,首先運(yùn)用BIOS程序,然后再啟動(dòng)操作系統(tǒng),最后再運(yùn)行用戶的應(yīng)用程序。而BIOS程序、操作系統(tǒng)和應(yīng)用軟件都是用語言開發(fā)出來的軟件,之前都曾經(jīng)有過C語言版本,BIOS現(xiàn)在還是C語言編寫的,而操作系統(tǒng)的一些內(nèi)核也還有C語言的許多代碼。因?yàn)榇笠坏谝粚W(xué)期的計(jì)算機(jī)科學(xué)導(dǎo)論與本課程是同步開設(shè),學(xué)生對(duì)計(jì)算機(jī)的了解還是有限的。同樣地,在講到C語言的三種進(jìn)制數(shù)、位運(yùn)算、指針時(shí),與計(jì)算機(jī)的字長、補(bǔ)碼運(yùn)算、指令加以對(duì)照,就容易理解些。
4) 與面向?qū)ο笳Z言融合。
掌握好一門語言,可以自學(xué)其他語言。做到這點(diǎn)不容易,因?yàn)榇髮W(xué)專業(yè)課的特點(diǎn)是學(xué)一門結(jié)一門,沒有哪所大學(xué)或哪個(gè)專業(yè)開設(shè)了所有語言,所以在語言課之間融合對(duì)照學(xué)習(xí),會(huì)收到非常好的效果。比如講到結(jié)構(gòu)體時(shí),與面向?qū)ο笾械念悓?duì)照,將結(jié)構(gòu)體變量與對(duì)象對(duì)照,就比較好理解數(shù)據(jù)類型和類不占內(nèi)存,對(duì)象與變量占內(nèi)存了。講到函數(shù)時(shí),與方法對(duì)照,講到函數(shù)參數(shù)時(shí),補(bǔ)充面向?qū)ο笾幸玫氖褂茫瑢?duì)將來學(xué)習(xí)面向?qū)ο笳Z言和數(shù)據(jù)結(jié)構(gòu)非常有益。
5) 與數(shù)據(jù)庫原理融合。
程序所需數(shù)據(jù)從哪兒來?運(yùn)行結(jié)果保存到哪兒去?在講到文件操作時(shí),將C語言中用到的文件與數(shù)據(jù)庫中數(shù)據(jù)文件作比較,再聯(lián)系結(jié)構(gòu)體成員與數(shù)據(jù)庫中的字段、記錄,使學(xué)生對(duì)程序的理解更完整一些。
6) 與編譯原理融合。
在演示程序開發(fā)過程、多文件的操作、編譯預(yù)處理時(shí),均可以聯(lián)系編譯原理中編譯器的詞法/語法分析,教師可以演示單步編譯,鼓勵(lì)學(xué)生思考編譯的過程。
7) 與高等數(shù)學(xué)、線性代數(shù)、概率論、離散數(shù)學(xué)、數(shù)值分析、運(yùn)籌學(xué)等融合。
如果能將學(xué)習(xí)C語言與離散數(shù)學(xué)中的集合論、代數(shù)系統(tǒng)、圖論結(jié)合,再解決高等數(shù)學(xué)、線性代數(shù)、概率統(tǒng)計(jì)、幾何、數(shù)值分析和運(yùn)籌學(xué)中的數(shù)學(xué)問題,能夠極大提高學(xué)生的興趣,也鞏固了所學(xué)的知識(shí)。
8) 與網(wǎng)絡(luò)融合。
使用C語言可以開發(fā)C/S結(jié)構(gòu)的客戶端與服務(wù)器端程序,在實(shí)訓(xùn)和實(shí)習(xí)時(shí)可以分層次進(jìn)行一些高級(jí)的練習(xí),比如C/S結(jié)構(gòu)的網(wǎng)絡(luò)編程。再提出一些問題,比如如何實(shí)現(xiàn)抓圖和打印等,培養(yǎng)學(xué)生的自學(xué)習(xí)慣。
9) 與軟件工程融合。
結(jié)合專業(yè)特點(diǎn),講解軟件開發(fā)不僅僅是寫代碼,還是一個(gè)模型的開發(fā)過程,對(duì)于學(xué)生將來畢業(yè)做好畢業(yè)設(shè)計(jì)與寫好畢業(yè)論文有指導(dǎo)意義。特別是軟件工程和軟件測(cè)試專業(yè)更是需要了解。
其實(shí),我們?cè)谥v授C語言程序設(shè)計(jì)時(shí),幾乎可以和所有計(jì)算機(jī)專業(yè)課程聯(lián)系起來,比如選修課算法分析與設(shè)計(jì),還可以和ACM/ICPC結(jié)合,通過ACM/ICPC競賽的題目尋找合適的教學(xué)切入點(diǎn),有時(shí)也可以引入離散數(shù)學(xué)中的邏輯推理知識(shí),或者構(gòu)造一種教學(xué)情境,讓大家感興趣,能被吸引住,使學(xué)生一步步跟著往前走,比如抽幾名學(xué)生排隊(duì)講排序算法。
也可以和非計(jì)算機(jī)專業(yè)課程聯(lián)系起來,比如計(jì)算機(jī)英語。同樣地,在教學(xué)過程中,融合一些新的技術(shù),比如物聯(lián)網(wǎng)、CPS計(jì)劃等,學(xué)生會(huì)更感興趣。如何融合比較教學(xué),既能深入淺出地完成教學(xué)任務(wù)又不拖延學(xué)時(shí),需要把握好這個(gè)度。
3與計(jì)算機(jī)其他課程的融合實(shí)踐環(huán)節(jié)
除了做到融合教學(xué)外,在實(shí)踐環(huán)節(jié)上如何融合也至關(guān)重要。
1) 搭建ACM/ICPC校內(nèi)在線測(cè)評(píng)平臺(tái)。
我們采取競賽輔導(dǎo)拔高法,成立競賽班,采取“講-幫-帶”的方式,建立了鄭州輕工業(yè)學(xué)院在線測(cè)評(píng)平臺(tái),如圖1所示。豐富了題庫,組織校內(nèi)選拔賽,教師帶隊(duì)參加競賽。
自2009年開始,我們每年舉辦兩次全校性質(zhì)的大學(xué)生程序設(shè)計(jì)競賽:12月舉辦新生程序設(shè)計(jì)競賽(個(gè)人賽)、5月舉辦一次全校程序設(shè)計(jì)競賽(組隊(duì)賽)。均有IT公司贊助,并有開幕式和頒獎(jiǎng)儀式,極大地提高了學(xué)生的編程熱情。
參加ACM/ICPC競賽,有助于培養(yǎng)學(xué)生的抽象思維、邏輯思維、心理素質(zhì)、團(tuán)隊(duì)合作和協(xié)同能力[5]。
2) 與考研結(jié)合。
我們從大一第一學(xué)期就讓學(xué)生思考自己將來的出路:工作或考研。如果工作就必須學(xué)好知識(shí),重視實(shí)踐,提高動(dòng)手能力。
3) 與操作系統(tǒng)、C++融合實(shí)訓(xùn)。
在后續(xù)的操作系統(tǒng)和C++的實(shí)訓(xùn)時(shí),安排我們C語言程序設(shè)計(jì)課題組的教師參與實(shí)訓(xùn),使得C語言程序設(shè)計(jì)課程的學(xué)習(xí)更加長期有效。
4) 把等級(jí)考試當(dāng)做門檻。
我們把全國和河南省歷年計(jì)算機(jī)等級(jí)考試的題目穿插到平時(shí)的教學(xué)中,讓學(xué)生把握每個(gè)知識(shí)點(diǎn)。
5) 介紹學(xué)生參加教師的項(xiàng)目。
我們?cè)谑谡n的同時(shí),也有心培養(yǎng)一些勤于思考用心的學(xué)生,介紹他們參與到教師的應(yīng)急系統(tǒng)、嵌入式、GIS、網(wǎng)絡(luò)等實(shí)際項(xiàng)目開發(fā)中,引導(dǎo)學(xué)生自學(xué)C++和Java、JSP等工具,讓他們從實(shí)踐中得到鍛煉,積累經(jīng)驗(yàn)。
6) 跨學(xué)科實(shí)訓(xùn)并總結(jié)。
在第二學(xué)期期末的實(shí)訓(xùn)環(huán)節(jié),我們讓學(xué)生分組去做一些稍微大一點(diǎn)的題目。比如C語言語法分析模擬器、BIOS模擬器、科學(xué)型計(jì)算器、TC模擬器、Windows小游戲、信息系統(tǒng)等。在實(shí)訓(xùn)結(jié)束后,我們安排優(yōu)秀實(shí)訓(xùn)作品展示總結(jié)會(huì),也是對(duì)一學(xué)年課程學(xué)習(xí)的總結(jié)。有很多外專業(yè)的學(xué)生自愿來參加。通過展示交流,學(xué)生看到了別人的成績,也看到了自己的差距。
4結(jié)語
通過對(duì)C語言程序設(shè)計(jì)存在問題進(jìn)行思考和分析,我們結(jié)合學(xué)校實(shí)際,提出了C語言程序設(shè)計(jì)與計(jì)算機(jī)相關(guān)課程的融合教學(xué)與實(shí)踐。經(jīng)過4年的教學(xué)與實(shí)踐檢驗(yàn),取得了較好的教學(xué)效果,對(duì)C語言程序設(shè)計(jì),以及其他程序設(shè)計(jì)語言的教學(xué)都有一定的指導(dǎo)意義。
參考文獻(xiàn):
[1] 李玉梅.“C語言程序設(shè)計(jì)”課程的“教、學(xué)、做”一體化的探索與實(shí)踐[J]. 科技創(chuàng)新導(dǎo)報(bào),2010(28):164.
[2] 朱立華,俞瓊. C語言教材建設(shè)的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2009(13):150-153.
[3] 徐小青,李曉東.“高級(jí)語言程序設(shè)計(jì)”課程教學(xué)改革與實(shí)踐[J]. 計(jì)算機(jī)教育,2009(13):46-48.
[4] 王祥瑞. C語言中的內(nèi)存泄漏分析[J]. 長春大學(xué)學(xué)報(bào),2009(6):27-29.
[5] 武建華. 基于ACM模式的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革與探索[J]. 計(jì)算機(jī)教育,2009(13):114-116.
Integrated Teaching and Practice of C Language Program Design and Other Subjects of Computer
YAN Hongyan1, JIN Baohua1, ZHANG Xiaojuan2, XU Hongxia3