伊人色婷婷综在合线亚洲,亚洲欧洲免费视频,亚洲午夜视频在线观看,最新国产成人盗摄精品视频,日韩激情视频在线观看,97公开免费视频,成人激情视频在线观看,成人免费淫片视频男直播,青草青草久热精品视频99

程序設計實訓總結模板(10篇)

時間:2022-06-03 12:59:13

導言:作為寫作愛好者,不可錯過為您精心挑選的10篇程序設計實訓總結,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。

程序設計實訓總結

篇1

0.引言

C語言程序設計實訓這門課程要求學生掌握計算機程序設計語言的基本知識和程序設計的方法與技術,培養(yǎng)學生應用計算機解決實際問題的能力,重視學生實際編程能力和程序思維能力的培養(yǎng),通過學生上機編寫程序來提升學生的編程能力,培養(yǎng)學生的學習興趣和創(chuàng)新能力。

C語言程序設計為其前導課程,是對其前導課程知識的鞏固、實踐與提升,是ACM程序設計課程的基礎,通過此次實訓為程序設計比賽和ACM大賽輸送人才,使更多的學生在全國的各種編程比賽中取得好成績,同時為學生畢業(yè)后從事編程工作打下良好的基礎,為企事業(yè)單位輸送程序設計人才。

本人根據(jù)C程序設計實訓課程教學中存在的問題對教學內(nèi)容、教學方法,考核方式進行了改革,并以本校2010級軟件班學生為試點進行教學,總結了一些經(jīng)驗。

1.教學中存在的問題及解決對策

1.1實訓內(nèi)容單一

實訓教學內(nèi)容應該首先根據(jù)C語言的特點對知識進行整合,然后引入針對性較強的典型綜合實例,從程序整體向各個核心知識點滲透。教師可以根據(jù)學生的實際情況設計實訓項目,內(nèi)容應覆蓋學生所學的知識,突出實用性,內(nèi)容最好為學生所熟悉領域或學生感興趣的領域。如果學生層次不一,可以根據(jù)學生對基礎知識的掌握情況設置不同的實訓內(nèi)容。

1.2教學方法單一

在實訓教學過程中,應將重點放在分析程序設計過程上,培養(yǎng)學生良好的編程習慣,逐步提高學生編程能力。單一實訓手段要達到這一目標是很困難的,這就要求運用多種實訓教學方法,讓學生對編程有個很好的理解過程。

可以引入多種教學方法。以前的實訓課程不能激發(fā)學生的學習興趣,主要是因為課堂是由老師主載,學生是被動的學習,不能成為課堂的主人。我們將采用多種教學方法來激發(fā)學生的興趣,轉變老師和學生的課堂角色。

(1)基于ACM模式的教學方法。ACM的教學模式是結合具體的問題講授概念與理論,輔以課堂討論,做習題等多項教學手段。在教學過程中,安排學生深入有關實際問題進行研究,加深對所學理論的認識,利用網(wǎng)站進行程序設計。以往的教學是按照基礎知識、循環(huán)結構語句、結構體語句等知識點的順序進行講解?;贏CM的教學方式是按照習題所屬知識類別進行理論講解,離散數(shù)學、初等數(shù)論、數(shù)值計算、人工智能、動態(tài)規(guī)劃算法、圖算法等知識點進行講解與練習。ACM的教學模式在一定程度上將基礎學科很好地運用于程序設計當中,有利于知識的融合,可以提高學生的思維能力,在做練習時舉一些趣味習題,激發(fā)學生的興趣。

基于ACM的教學方法的優(yōu)點如下:

①知識分類講解可以加深學生對知識的理解,更加系統(tǒng)。

②ACM所選的題目趣味化生活化,可以激發(fā)學生的學習興趣。

③題目所含知識面廣泛,有利于知識的鞏固。

④分組培養(yǎng)大家的團隊協(xié)作精神。

⑤學生講解培養(yǎng)學生的表達能力與思維能力。

(2)討論式教學法。由于每一道程序題可以有不同的編寫方法,答案不唯一,所以很適合使用討論式教學方法。將學生以三人為一個團體進行分組,在組內(nèi)討論編程方法,上機編寫程序并進行驗證,由組內(nèi)推舉成員向大家進行講解和演示,有不同編程方法的組可以繼續(xù)演示,最后由老師進行總結,并選出時間和空間復雜度最小的程序,同時也可以發(fā)現(xiàn)學生在編程過程中出現(xiàn)的常見錯誤,發(fā)揮學生的團隊精神,提高學生的表達能力。

(3)任務驅動法。在實訓課堂上,學生需明確要完成的任務,依照實訓任務完成實訓。題目由易到難,知識點由單分支到多種分支情況的應用,這樣適合學生學習特點及編程由易到難的編寫過程。

1.3考試一錘定音

這門課程主要是培養(yǎng)和檢驗學生的編程能力,所以不能以一次考試來決定學生的最終成績,檢驗過程應該貫穿整個學習過程。引入過程性考核思路,總成績分部累加。采用平時計分和最終考核相結合的方式,以每節(jié)課的發(fā)言演示情況來給出平時等級,一學期進行累計,按累計成績進行排名,前三分之一學生可以免去最后的考核,以平時成績作為最終成績,這樣也可以激勵大家踴躍發(fā)言,剩下的學生參加最終考核,最后成績由平時成績和最后一次考核的成績各占一部分比例來組成。通過實踐檢驗,課程考核方法改革后,考核出了學生的實際操作水平,用過程性考核思想后,在學習過程中時刻檢驗學生的學習接受掌握情況,加大了課程全程質量監(jiān)控力度,課程考核結果基本能夠反映學生學習后真正的計算機應用能力水平??己私Y果公平、有效,這也是現(xiàn)在倡導的全過程考試。

2.總結

通過對C程序設計實訓課程的教學內(nèi)容、教學方法、考核方式的改革,并對2010級軟件班學生進行試點后,使學生理解模塊化程序設計的基本思想,掌握結構化程序設計的基本方法,掌握C語言的數(shù)據(jù)結構、程序結構、語句以及控制結構的使用方法,能用程序設計技術解決一定難度的實際問題,掌握在實際開發(fā)環(huán)境下進行編輯、編譯、連接、調試和運行的方法;綜合訓練學生分析問題的基本方法,提高解決實際問題的能力,培養(yǎng)學生的專項技能和職業(yè)能力。

【參考文獻】

[1]王嵩.C語言程序設計.教學探索與實踐[J].教書育人,2006,(35).

[2]王美娜.C語言程序設計.教學方法探析[J].科教文匯(下旬刊),2007,(04).

[3]曾鴻.基于項目的軟件工程綜合實訓教學模式[J].中國職業(yè)技術教育,2008,(12).

篇2

中圖分類號:G642 文獻標識碼:B

1引言

“C語言”是從事計算機軟、硬件開發(fā)和應用人員必備的專業(yè)知識。C語言既具有高級語言的特點,又具有低級語言的功能,語法結構簡潔精妙,便于描述算法,寫出的程序效率高,運用C語言可以編寫系統(tǒng)底層的內(nèi)核程序。C++、Java、C#、J#、perl等高級語言也是衍生自C語言,所以掌握了C語言,可以很容易掌握這些新型的語言去開發(fā)程序。因此在高等院校與計算機相關專業(yè)的教學計劃中,“C語言程序設計”是一門必修的基礎課及核心課程,是一門理論性和實踐性均較強的課程。開設“C語言程序設計”課程主要培養(yǎng)學生掌握結構化程序設計的基本方法,建立嚴謹?shù)某绦蛟O計思想及較強的動手編寫及調試程序的能力,逐步培養(yǎng)獨立分析問題和解決問題的能力。同時為數(shù)據(jù)結構、操作系統(tǒng)及其他高級語言課程等后續(xù)專業(yè)課程的學習打下扎實的理論和實踐基礎。

在以往的教學過程中,大部分學生對學習“C語言程序設計”存在畏難情緒,更不知如何運用C語言解決實際問題。教學效果不理想,給后續(xù)學習造成障礙。筆者在教學中調整了以往按部就班的教學模式和重理論輕實踐的教學理念,將模塊化案例教學引入“C語言程序設計”的課程中,進行了教材整合和強化實踐教學,并圍繞模塊化案例展開C語言教學,以案例引出C語言的知識點。全部授課都以程序設計為目的,收到顯著的教學效果。

2課程進行整合,建立模塊化案例教學

2.1傳統(tǒng)的教學模式以語言知識為主線

傳統(tǒng)的“C語言程序設計”課程教學模式采用以語言知識為主線,按照變量、數(shù)據(jù)類型、表達式、數(shù)據(jù)輸入/輸出、流程控制、函數(shù)、指針、結構、文件等順序進行教學,實訓課多以驗證為主。學生在學習的過程中每一知識點都是獨立聽記,不能將所學知識進行綜合運用。因此,學生是邊學邊忘,學習后續(xù)內(nèi)容沒有前期知識支撐,學到5~6周就失去學習的興趣和信心,甚至有些學生放棄對該門課的學習,到期末考試突擊復習,不及格率比較高。

2.2課程整合以程序設計為主線

課程整合以程序設計為主線貫穿語言各知識點,就是將“C語言程序設計”課程內(nèi)容分解為四個模塊,即C語言基本程序設計模塊、函數(shù)模塊、指針模塊、文件模塊,每一模塊都以案例展開C語言的知識點教學,講解C語言的理論知識為目的,上機實訓以授課中的案例貫穿始終,即強化理論知識的掌握,便于后續(xù)知識的學習,同時還要逐步培養(yǎng)學生編寫C程序的能力,緊緊圍繞這四個模塊的案例舉一反三展開程序設計的實訓。

2.2.1基本程序設計模塊

利用“統(tǒng)計一名學生的三門課程平均成績”的程序,引導出變量、數(shù)據(jù)類型、表達式、數(shù)據(jù)輸入/輸出等C語言基本知識。這階段主要是引導學生掌握C語言程序的基本結構,編寫程序的基本方法,是學習C語言入門階段。如圖1所示。

2.2.2函數(shù)模塊

C程序是由若干函數(shù)構成的,函數(shù)是C語言的核心知識。因此,在講函數(shù)知識及設計函數(shù)程序時,將前面講述的計算學生多門課程成績組合成較完整的C程序案例。如圖2所示。

通過這個案例講清C語言中變量的存儲類型的區(qū)別和功能,函數(shù)調用、參數(shù)傳遞的方式及要求,按值和按地址傳遞區(qū)別。在講函數(shù)調用時啟發(fā)學生逐步完成圖2各個程序模塊的組合。同時調動學生的積極性逐步擴展圖2中的功能,將所學的知識進行綜合應用,并提出預處理和文件包含知識概念及運用。

2.2.3指針模塊

指針是C語言的重要功能,正確而靈活地運用指針,可以動態(tài)分配內(nèi)存和對物理地址直接進行操作,方便地使用字符串和數(shù)組,有效地表示復雜的數(shù)據(jù)結構,在函數(shù)調用時能獲得1個以上的函數(shù)值。指針內(nèi)容非常豐富,而且復雜,這部分是C語言的重點,也是學習的難點。按常規(guī)模式教學,學生對指針知識理解難、運用更難,部分學生到此幾乎放棄學習。采用模塊案例教學,學生首先了解指針的運用,調動學生學習的興趣和學習的欲望,然后逐步從指針案例中啟發(fā)引出知識點,邊學邊用,通過實例反復練習,學生能較靈活運用指針知識編寫程序。指針模塊如圖3所示。

首先利用演示鏈表案例引導出動態(tài)分配內(nèi)存。然后演示用指針修改數(shù)組處理學生成績排序的程序案例,或者設計較簡單的對硬件操作的案例,讓學生了解指針知識運用之后,再由學生模仿將函數(shù)模塊中用數(shù)組存儲數(shù)據(jù)修改為用指針進行數(shù)據(jù)處理。在知識引申的過程中,逐步提出字符串指針、指針數(shù)組及指針數(shù)組做main()函數(shù)的參數(shù)的運用。

2.2.4文件模塊

主要講述輸入輸出函數(shù),將內(nèi)存中存儲的數(shù)據(jù)輸出到外存上,仍然利用案例分析文件的概念及文件的運用。

3圍繞案例展開教學

在基本程序設計模塊中,以計算1名學生三科成績的平均成績這個程序開始引導C語言基本知識。程序如下:

#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ā)教學,使學生輕松聽課

在案例教學過程中,要求學生熟記模塊中程序。例如:第一次課熟記“統(tǒng)計1名學生三科成績”這個程序。然后調動學生學習的積極性和主動性,引導學生積極思考和參與,一起分析程序中語句的含義,在分析語句的過程中,采用啟發(fā)式的循序漸進、由淺到深、由易到難,逐步提出新問題,引出C程序中新知識,用新知識解決新問題,再舉一反三寫出對應不同問題的C語言程序。例如:提出判斷并輸出學生三科成績的最高分和最低分引出分支結構。提出若是8門課,進行總成績統(tǒng)計的簡便方法,由此引導出循環(huán)結構。根據(jù)對成績升序或降序排序引導出一維數(shù)組,再計算多個學生中每個學生多科成績引導出二維數(shù)組等,根據(jù)引導的知識逐步擴展和加深知識的運用。

保證學生動腦、用心聽課。教師在講解每個基本知識的過程中不要面面俱到,對常用的編程知識細講熟練,不常用的知識略講或用表格統(tǒng)解,有些基礎知識是隨著編程逐步引出或者以后應用時在自學,保證學生聽課不疲勞。聽得懂、跟得上、興趣濃,興趣是學習的動力,動力會產(chǎn)生效果。同時要求學生強化記憶判斷最高分、成績排序等程序,以便于后續(xù)課由用戶建立的若干個自定義函數(shù)構成較完整的程序。在分析函數(shù)案例過程中,講清數(shù)據(jù)存儲類型的區(qū)別及參數(shù)的使用等知識。授課過程如圖4所示,每節(jié)課結束前教師與學生共同總結本節(jié)課的重點知識,便于課后復習。

3.2培養(yǎng)閱讀程序的能力

讀程序是學習C語言入門最快,也是最好的方法。教師在講述程序中各語句含義的時候,首先培養(yǎng)學生閱讀程序的能力。在閱讀程序的同時注重培養(yǎng)學生掌握C程序的結構。例如:編寫程序首先根據(jù)表達式確定變量及變量的數(shù)據(jù)類型,然后給變量賦值(直接賦值或通過鍵盤接受值),再進行運算,最后輸出計算后的結果等。要求學生不放過每一章中提到的所有例題,仔細研讀程序,直到每一行都理解了。看懂別人是如何解決問題的,學習解決問題的方法和程序設計技巧,掌握程序結構。為了使學生盡快掌握編程思想和基本結構,教師課后給學生布置一些設計C程序作業(yè),由學生根據(jù)自身能力,閱讀程序、修改程序、給程序補充語句以及寫出程序運行結果,強化訓練。

3.3培養(yǎng)學生編寫程序能力,掌握分析問題算法

3.3.1模仿編寫程序

“C語言程序設計”是一門實踐性很強的課程,“紙上談兵”光學不練是學不好C語言的。在閱讀程序的過程中,培養(yǎng)學生學會模仿編寫程序,如果沒有深刻地理解C語言的語句及掌握編寫程序的基本方法,模仿編寫程序也是一句空話。在模擬編寫程序時,如果寫不出來,回過頭來再繼續(xù)研究例題,想想自己為什么寫不出來,然后再去寫這段程序,反反復復,直到熟練為止,在模仿編程的過程中培養(yǎng)學生養(yǎng)成良好的編程風格。

3.3.2分析算法

利用C語言編程解決實際問題,所需要的不僅僅是C語言語句,還需要相關的專業(yè)知識及算法。例如,如果你不知道計算π的公式,即使C語言學得再好也無法編寫計算π的近似值的程序。如果不知道判斷閏年的條件,就無法計算某年是否為閏年。所以在程序設計過程中,必須注重培養(yǎng)學生分析問題及找到解決問題的最優(yōu)算法,這是設計程序的重要條件。

3.4強化編程能力的訓練,樹立編程信心

教師在全部的授課過程中,時時鼓勵學生能學好C語言。因此教師在提供豐富多樣的實驗題目時,注重學生的差異,讓學生根據(jù)自身水平和興趣,選擇自己能理解的訓練題目。讓每一個學生都能享受編寫程序獲得成功的喜悅,以促進學生堅定學習的信心和激情。同時教師鼓勵學生在學習“C語言程序設計”的過程中,閱讀一本C語言方面參考書,經(jīng)常上一些好的C語言論壇進行學習、交流,開闊自己的視野。教師也經(jīng)常組織學生進行師生間、學生間的學習交流活動,對實訓題目采取自測、在線判題等活動。這些多種交流學習方式,其目的是充分發(fā)揮學生在教學活動中的主體地位,調動學生學習的主觀能動性和求知欲望,使學生在交流中得到學習、思考,取長補短獲取編程的技巧。成績考核以筆試、實訓、交流等多種形式,每一環(huán)節(jié)著重考核學生綜合運用所學知識編寫程序、解決實際問題的能力。

4圍繞模塊案例開展實訓教學

在“C語言程序設計”的實訓教學中,通過上機調試模塊中的案例強化學生對所學知識的運用及深化理解,不僅培養(yǎng)學生編寫程序、調試程序的專業(yè)技能,同時注重對學生的人際技能方面的培養(yǎng)。

4.1培養(yǎng)學生專業(yè)技能

4.1.1調試基本程序設計模塊

初學者首先掌握C語言編程軟件的使用及調試程序的基本方法,修改程序中出現(xiàn)的語句、語法、程序流程等錯誤,積累調試程序的經(jīng)驗。在調試程序的過程中,逐步培養(yǎng)學生主動思考、分析、探索、發(fā)現(xiàn)出錯的原因,并且能獨立加以解決。再通過修改已經(jīng)運行程序的某些語句,查看程序發(fā)生的變化及分析結果變化的原因,加深對新學知識點的理解。實現(xiàn)“輸入”程序加深知識的記憶,“修改”程序加深對知識的理解。記憶和理解相輔相成,相互促進編程能力的提高。

4.1.2培養(yǎng)綜合實訓能力

當學生掌握了基本調試程序方法之后,對函數(shù)模塊、指針模塊、文件模塊案例進行調試,提高學生調試綜合程序的能力,修改程序中出現(xiàn)的邏輯結構、流程錯誤。綜合實訓可以根據(jù)函數(shù)模塊案例建立學習小組,每個自定義函數(shù)分配給小組中不同學生獨立編寫程序、調試、運行,逐步養(yǎng)成獨立分析問題,運用知識解決問題的能力和自學能力。然后將小組中每個人編寫的程序綜合在一起,進行綜合調試、運行。調動學生求知欲望及運用知識的能力,鼓勵學生樹立創(chuàng)新意識,增加程序的功能,利用開放的實訓環(huán)境進行自主調試,培養(yǎng)學生自我發(fā)展的意識。

4.1.3撰寫實驗報告

實驗報告是對實訓的總結和知識的鞏固,總結實訓中調試程序的經(jīng)驗、收獲、不足和需要解決的問題,便于后續(xù)實訓課的操作。實驗報告也是師生交流的最好手段,老師掌握每個學生實訓過程中的問題、想法、效果等,可以調整授課進度和方法,提高學生學習效果。

4.2注重學生人際技能培養(yǎng)

篇3

作者簡介:侯春明(1979-),男,白族,湖南吉首人,吉首大學信息科學與工程學院,講師。(湖南 吉首 416000)

基金項目:本文系吉首大學校級教改課題“計算機課程群教學中技能培養(yǎng)的教學改革與實踐”的研究成果。

中圖分類號:G642.45 文獻標識碼:A 文章編號:1007-0079(2013)28-0163-02

高校信息類專業(yè)(如計算機科學與技術、網(wǎng)絡工程、電子信息工程、通信工程、物聯(lián)網(wǎng)工程等)課程體系中,程序設計類的課程占有相當?shù)谋戎?。常見的專業(yè)課有“C語言程序設計”、“Visual Foxpro程序設計”、“面向對象程序設計”、“匯編語言程序設計”、“網(wǎng)絡程序設計”等。由于信息類專業(yè)的應用領域非常強調技術實現(xiàn),普通高校學生必須具備較強的編程能力,才能滿足社會對人才的要求。據(jù)統(tǒng)計,普通二本高校信息類畢業(yè)生,除了小部分繼續(xù)攻讀碩士博士學位外,絕大部分都在畢業(yè)后直接從事專業(yè)技術工作。[1]雖然不同專業(yè)對計算機編程能力的要求和應用領域各有不同,比如電子信息工程和物聯(lián)網(wǎng)工程更側重對硬件的控制和嵌入式方向,而計算機科學與技術和網(wǎng)絡工程等專業(yè)更側重系統(tǒng)軟件開發(fā)和應用軟件的開發(fā)。但是從整體上看,這些信息類專業(yè)都對學生的編程能力提出了較高要求。為了達到相應的培養(yǎng)目標,相關課程群應該在課程實訓環(huán)節(jié)進行改進,以求提高學生的程序設計能力,進而全面提升學生的專業(yè)水平和動手能力,為國家和社會培養(yǎng)合格的人才,這是需要深入研究的課題。[2]

一、計算機課程群實訓課的特點與不足

計算機課程群的實訓課程是連接理論課程與編程能力的橋梁,程序設計類課程群對編程能力的培養(yǎng)尤為重要。但是在教學實踐過程中,要達到全面提升學生動手編程能力的狀態(tài),面臨諸多困難。

1.課時不足

隨著高校課程體系的全面改進,為了寬口徑的培養(yǎng)學生,以便學生將來能有更廣闊的就業(yè)領域,信息類的各個專業(yè)被加入了越來越多的課程,程序設計類課程也面臨著課時緊縮的問題。一方面要保證理論課的講授與教學,另一方面要保證學生動手編程能力的提高。這樣理論課程的時間顯得非常緊張,必須在有限的時間內(nèi)盡可能的把該語言中的各種各樣的知識點傳授給學生,還要保證他們能有足夠的課時在實訓課環(huán)節(jié)完成相關的實訓內(nèi)容,為此在時間和教學上就要合理安排。

2.技術的快速發(fā)展

信息類專業(yè)發(fā)展速度迅猛,很多技術在過去的幾年快速的誕生和崛起。傳統(tǒng)的程序設計類課程主要是側重對基本語法的掌握和中小規(guī)模問題的分析與解決。比如運用一些經(jīng)典的算法解決某些數(shù)學問題,并編程實現(xiàn)。這樣的培養(yǎng)模式的結果是畢業(yè)生的動手實踐能力無法滿足社會上IT企業(yè)對人才的要求。

3.師資力量不足

高校教師的教學負擔很重,除了要完成各種教學和科研任務外,還要負責學生管理工作。從全局來看,高校的信息類專業(yè)是新興專業(yè),很多高校的該專業(yè)教師以中青年為主,部分教師還需要進一步進行深造,比如攻讀博士、博士后、做訪問學者、參與各種學術交流等。因此,在計算機程序設計類的實訓課中,很多時候都是一個教師輔導數(shù)十人學生。師資力量不足也是制約學生的計算機程序設計能力全面提高的重要因素。

二、計算機課程群實訓課的教學改革建議

1.針對不同專業(yè)進行有重點的課程設計

為了提高計算機專業(yè)畢業(yè)生的職業(yè)素養(yǎng)與編程能力,學校應該加強學生的實訓教學環(huán)節(jié)。[3]雖然信息類的不同專業(yè)都會開設各種程序設計課程,但是不同的專業(yè)側重點明顯不同,比如電子信息、電子科技、物聯(lián)網(wǎng)等專業(yè),從專業(yè)培養(yǎng)目標上看更接近對硬件的控制。在實訓課的綜合訓練項目以及相應的課程設計的培養(yǎng)環(huán)節(jié)上,可以考慮做單片機、嵌入式系統(tǒng)中的項目。將編程能力訓練放到具體的硬件控制項目中,既符合相關專業(yè)的專業(yè)培養(yǎng)目標,又能幫助學生有效的將程序設計課程與硬件類課程群進行融合,既提高了編程能力,又提高了綜合的專業(yè)知識的應用能力。比如C語言程序設計,如果只是反復的訓練經(jīng)典的算法和習題,編程能力的提高還是有限。但是如果學生完成一個軟硬件相結合的系統(tǒng)設計,對C語言在單片機控制或嵌入式中的應用開發(fā)能力就會快速增強。當然,對于計算機科學與技術或網(wǎng)絡工程這樣的專業(yè),其專業(yè)培養(yǎng)目標更偏向于上層應用,也可以選擇相關的實用性的軟件開發(fā)項目(如數(shù)據(jù)庫系統(tǒng)等)來訓練學生的動手編程能力。在完成項目的同時,學生一方面加深了對相應專業(yè)課的認識,另一方面也加強了編程能力。

2.充分調動不同學生群體的學習積極性

在高校的專業(yè)人才培養(yǎng)模式中,不能按照一個固定的模式要求所有的學生,必須考慮到學生自身的實際情況,調動不同學生群體的積極性,才能最大限度的提升學生的程序設計能力。比如現(xiàn)在很多高校都將計算機等級考試和學位證掛鉤,非計算機專業(yè)的學生必須通過計算機等級考試,才能順利獲得學位證。針對這一學生群體,應該將針對等級考試的訓練合理的放入到實訓環(huán)節(jié),同時鼓勵學生積極主動的多做等級考試的習題,并在上機實訓的過程中多做題庫中的題。一方面可以提升編程能力和動手能力,另一方面也能提高通過等級考試的概率。

最近幾年,高校程序設計比賽以及其他的一些設計類比賽越來越受到高校和學生的重視。對于有志于參加全校、全省、全國甚至世界級比賽的學生,在實訓環(huán)節(jié)中可以積極引導他們進行相關的訓練。比如參加ACM程序設計大賽的學生,可以鼓勵他們在實訓環(huán)節(jié)中,在完成正常學習任務的基礎上,充分調動主觀能動性,多練習ACM題庫中的習題,由淺入深,步步推進。而立志參加嵌入式系統(tǒng)設計的學生,也可以主動去編寫一些嵌入式環(huán)境中的程序。使學生群體在提高自身編程水平的同時,也能更加接近相應大賽的要求,收到一箭雙雕的效果。還有一些學生,立志于從事應用系統(tǒng)的開發(fā),比如網(wǎng)站系統(tǒng)設計、數(shù)據(jù)庫系統(tǒng)設計、電子商務系統(tǒng)、智能手機應用系統(tǒng)、物聯(lián)網(wǎng)應用系統(tǒng)等。該學生群體對學習的實用性比較看重,更愿意在畢業(yè)前就找到專業(yè)領域的一個主攻方向,孜孜不倦地鉆研該方向,往實用的方向發(fā)展。結合這些學生的興趣和愛好,應該在相關的實訓訓練和課程設計中鼓勵他們多動手寫程序,進而力爭做出對社會有實用價值的應用系統(tǒng)。在提升了編程能力的同時,也能更多的為社會作出貢獻。

3.加強對編程能力的考核

傳統(tǒng)的教學模式注重對知識的考察,計算機類課程群也不例外。一門專業(yè)課學習完成后,最常見的考核方式就是閉卷考試。這種方式可以很好地檢查學生對該課程知識體系的掌握程度,但是對編程類的課程群來說,閉卷考試很難全面考核學生的編程能力。在教學實踐中,經(jīng)常遇到書本知識掌握良好但上機編程能力較差的學生。為了促使學生參與編程能力訓練,應該加強對編程能力的考核。比如組織上機考試,將考試成績納入到整體的考核成績中;也可以鼓勵學生提交應用軟件系統(tǒng)。但是上機考試在實踐中也存在一定的困難,如普通考試,一個班級只要2個監(jiān)考教師即可,但為了避免學生作弊,計算機上機考試需要大量的教師參與監(jiān)考。另外,如果是固定的幾個習題,在機房的環(huán)境中不便于監(jiān)考,而如果是從海量題庫中隨機抽題,又很難做到絕對的公平,因為有的學生可能抽到較為容易的題目,而有的學生則可能抽到較困難的題目。但是從發(fā)展趨勢上看,為了提高信息類專業(yè)學生的編程能力,加強對編程能力的考核還是非常有必要的。

4.在校企合作中加強編程能力的培養(yǎng)

信息類專業(yè)學生的一個主要就業(yè)領域是IT企業(yè),如何培養(yǎng)適應現(xiàn)代IT企業(yè)的合格畢業(yè)生,一直是高校信息類專業(yè)教師研究的重要課題。外部社會和技術變化越來越快,高校中的很多課程和教學變化往往不能及時和外部接軌。為了解決這個問題,可以考慮廣泛開展校企合作,選擇一些專業(yè)對口的大企業(yè),以實習的方式組織學生去企業(yè)學習,在實踐中提高學生的程序設計能力。高校的程序設計類課程更多的是注重學生知識體系的建立和基本編程能力的培養(yǎng),而各類IT公司更看重的是學生的實際研發(fā)能力。高校應該盡量和IT企業(yè)開展合作,一方面鼓勵學生積極參與到企業(yè)的實際項目研發(fā)中,另一方面也可以擴寬學生的就業(yè)渠道,全面提升學生的編程能力。但是實現(xiàn)起來也有諸多困難,比如:高校的課程安排緊湊,學生要擠出較長的時間參與企業(yè)的軟件研發(fā),時間上比較困難;有的高校位于經(jīng)濟不發(fā)達地區(qū),高校所在城市很難找到能提供相應機會的企業(yè);低年級學生沒有技術實力參與到企業(yè)的研發(fā)中,而高年級學生尤其是大四學生,又面臨找工作的就業(yè)壓力,到處參加面試也會給相關的實訓和實習工作造成影響。

三、在提高學生編程能力上的一些實踐

作為二本高校的計算機教師,在教學過程作了一些有益的教學改革嘗試,初步取得了一些效果。作為班主任,在自己管理的班級中對學生進行分類,鉆研應用技術的學生,鼓勵他們組成興趣小組(比如嵌入開發(fā)小組、電子設計小組、信息安全技術小組、數(shù)據(jù)庫應用技術小組等),在實際項目的研發(fā)中提高編程能力。這些學生畢業(yè)后大部分成長為國內(nèi)一些IT企業(yè)的技術骨干,而將來選擇從事IT領域非研發(fā)方向(如管理、市場、技術支持類工作崗位)的學生,則鼓勵他們學好基礎知識,擴寬知識面,同時積極參加計算機等級考試和其他的一些技術類證書考試。為他們收集大量的考試資料,調動相關學生的學習興趣,鼓勵他們多通過相應考試。對于立志參加各類學科競賽的學生,則鼓勵他們更多的將精力放到比賽的訓練和準備上來,并指導部分學生獲得了較好的競賽成績。

四、結論

針對高等院校尤其是二本高校計算機課程群的實訓課程的現(xiàn)狀進行了分析,特別是針對程序設計能力不強的現(xiàn)狀進行了分析,給出了在程序設計類課程群的實訓環(huán)節(jié)進行教學改革的一些建議,并總結了為提升學生編程能力所積累的一些工作經(jīng)驗,以期為廣大的工作在教學崗位的計算機教師提供參考。

參考文獻:

篇4

1、前言

計算機程序設計是計算機專業(yè)學生的基本能力,對提高學生的就業(yè)質量是一個重要的能力,因此加強學生的程序設計能力培養(yǎng)對提高學生就業(yè)率,提高學生的就業(yè)質量都是很重要的。但高職學生由于基礎較差、邏輯思維能力較弱,用傳統(tǒng)的教學方式按學科體系教學,從基本概念,基礎知識入手,一步步理解掌握,再到應用的方式教學,學生學著沒興趣,理解困難,學完了不會應用,教學效果很差,學生學完程序設計課程基本不會做開發(fā)設計。由于程序設計是計算機專業(yè)的主干課程,相關課程較多,學生一旦失去興趣,放棄學習,幾乎等于放棄了大部分專業(yè)學習,因此培養(yǎng)學生對程序設計的興趣,提高程序設計課程的教學質量,對計算機專業(yè)是至關重要的。

2、認真做好課前準備

2.1選擇好要設計的項目。項目設計教學要選擇好所用的項目,項目過簡單涵蓋的知識面不能滿足教學的要求,項目過難學生難以理解,增加教學難度。因此選擇合適的項目案例進行教學,是項目設計教學的關鍵,項目設計教學包括課堂教學、實訓和課程設計,課堂教學的案例應該是連續(xù)的,前后關聯(lián)的,案例涉及的知識點要循序漸進,實訓是程序設計課程的關鍵環(huán)節(jié),實訓的項目要和課堂教學的接近但又不要完全相同,要留給學生獨立完成的內(nèi)容,否則實訓課就變成了打字課。課程設計是對程序設計類課程的綜合應用,也是培養(yǎng)學生程序設計能力的必不可少的環(huán)節(jié),課程設計的題目要和教學與實訓的內(nèi)容接近和相似,但要在平時上機實訓的內(nèi)容上有一定的擴展,要盡量涵蓋所學的內(nèi)容,要有適當?shù)碾y度,課程設計任務太少使得設計過程中學生閑暇多,涉及到的知識點少,動手能力得不到很好的鍛煉,從而影響了教學質量。設計任務分量過大,學生難以完成,導致設計過程草草收兵,應付了事,挫傷了學生的學習熱情。課程設計應該選擇一個較完整的項目,讓學生從分析任務開始,到看到一個能運行的較完整的成果,這樣能大大提高學生對程序設計的興趣。因此選擇合適的項目是項目設計的關鍵,只有選擇了合適的項目才能達到預期的效果。

2.2做好各門課之間的協(xié)調。程序設計能力的培養(yǎng)是由多門課程來完成的,包括面向對象程序設計,數(shù)據(jù)庫、信息系統(tǒng)開發(fā)等課程,在教學中各門課程要相互關聯(lián)配合,前期課程要為后續(xù)課程打基礎做鋪墊,后續(xù)課程要結合前期課程的內(nèi)容,這樣學生學起來前后有連續(xù),知識點反復使用,加深了理解,也知道這些知識的用途,學習的目的性也更強。因此制定好各門課程的教學大綱是關鍵,各門課程的知識點和內(nèi)容要互相協(xié)調和補充。

3、做好教與導的關系

3.1理論與應用相結合

程序設計能力表現(xiàn)在項目開發(fā)上,開發(fā)能力的培養(yǎng)中,教學的重點是培養(yǎng)學生分析問題和解決問題的方法和步驟,高職的重點在應用,因此教學中重點是教會學生基本概念和知識點的應用,注重培養(yǎng)學生用學過的知識和查找別人的成功例子,開發(fā)項目中有大量的相似工作是自己和前人已經(jīng)做過,教會學生看懂這些案例,把這些案例變成自己的程序,能快速地實現(xiàn)自己的項目,過去我們單獨地講解每個命令、控件的用法,學生用起來很困難,分離的代碼學生也不會在項目開發(fā)中使用。用項目案例講解,代碼是上下文連貫的,學生就容易理解,再重點介紹針對不同的應用怎樣修改哪些內(nèi)容,這樣學生也會在別的項目中使用,收到了較好的效果。

3.2做好上機實訓輔導

上機實訓是能力培養(yǎng)的重要步驟,有時學生課堂上聽懂了,上機實訓卻不會做,或者只會照著書本輸代碼,不知道代碼的用途,這樣就沒有達到目的,因此上機指導也是教學環(huán)節(jié)的重點,不能只訓不導,老師要在實訓過程中認真指導學生,對學生出現(xiàn)的問題要及時解決,這對老師的實際操作能力提出了較高的要求,如果老師不熟練,不能及時幫學生解決碰到的問題,學生被問題難住就會失去信心。老師在幫助學生解決問題的同時也能指導和培養(yǎng)學生發(fā)現(xiàn)問題和解決問題的能力,增強學生的信心和興趣。

3.3做好課程設計的指導是關鍵

能力的培養(yǎng)是綜合的,課程設計可以把所學的知識綜合起來應用,因此課程設計的選題非常關鍵。課程設計中老師要認真做好準備,認真寫好設計任務書,任務書應包括:(1)設計目的、任務;(2)設計依據(jù);(3)設計相關資料;(4)設計步驟與要求;(5)成果內(nèi)容;(6)設計進度安排;(7)紀律要求;(8)成績考核標準。如有必要,還應編入相應的設計例題,供學生進行課程設計時參考,但也不能把老師做好的項目程序給學生,把課程設計變成打字和調試,這對程序設計能力的培養(yǎng)是不利的。課程設計中老師要隨時檢查輔導,督促學生認真完成任務,也要及時幫學生解決碰到的問題。對優(yōu)秀的學生可以根據(jù)情況追加一些內(nèi)容,這樣能讓好學生學到更多的知識,提升自學能力和自信心,也能帶動中等學生的積極行。在課程設計中知道老師要對一些設計規(guī)范、設計方法和設計步驟做詳細介紹,培養(yǎng)學生的職業(yè)技能和規(guī)范的設計步驟,這對學生畢業(yè)后的就業(yè)是有很大幫助的。設計過程中要倡導同學間互相討論、互相幫助、互相學習、共同提高的團隊精神,對一些學生做的好的通用類可以介紹給其他同學用,這可以培養(yǎng)學生的團隊互助精神。項目課程設計用小組的形式比較好,這樣能照顧到程度不同的學生,能力強的學生承擔一些較難和關鍵的任務,能力較差的學生承擔一些簡單的任務,學生之間互相幫助,相互學習,共同完成設計任務,培養(yǎng)了學生的團隊精神,在同學的鼓勵和督促下能力差的學生也不會輕易放棄。

篇5

一、引言

隨著信息技術的發(fā)展和普及,社會對信息類人才的要求越來越高,很多高校都設立了信息類的相關專業(yè)以滿足社會發(fā)展的需求。其中程序設計類課程是信息類專業(yè)的重要基礎課程之一,這類課程主要是通過理論知識的傳授與實驗結合,培養(yǎng)學生的邏輯思維能力和實踐能力。桂林理工大學信息類專業(yè)中程序設計類課程占到了很大的比例,主要包括程序設計方法學、高級語言程序設計、面向對象程序設計、Java程序設計等,這些課程之間存在很強的互聯(lián)關系,屬于核心課程,所以此類課程群的建設將會促進一系列課程的良性發(fā)展。由于程序設計類課程群和生產(chǎn)實踐緊密相關,所以它對培養(yǎng)“三實型人才”起到非常重要的作用。所謂新“三實型”人才主要是指實干、實踐和實用,其中實干是對思維的培養(yǎng),實踐則是實際動手能力,實用是指所學符合社會需求。本文主要針對程序設計類課程進行探討,首先,結合我校信息類專業(yè)的特點,對程序設計類課程群建設的現(xiàn)狀進行了分析;之后,指出了現(xiàn)在程序設計類課程群方面存在的不足;最后,針對存在的問題,并結合程序設計類課程的實踐教學認真總結經(jīng)驗,對該類課程的建設和發(fā)展提出一系列相關的研究和探索。

二、課程教學現(xiàn)狀及存在的問題

1.地域性問題。我校位于西部地區(qū),經(jīng)濟較為落后,高校生源多來自本省和其他經(jīng)濟落后區(qū)域。以信息類某專業(yè)某年級為例統(tǒng)計(表1),學生人數(shù)為81人,77.78%的學生生源地為本省,其中65.43%的為偏遠山區(qū)。這些來自經(jīng)濟發(fā)展較慢地區(qū)的學生,大多數(shù)是在進入大學后才正式接觸Windows操作系統(tǒng)的計算機,所以起點低、學習難度大是程序設計類課程教學中遇到的問題之一。

表1 信息類某專業(yè)某年級學生生源地統(tǒng)計表

學生生源地 比例

生源地來自城鎮(zhèn) 34.57%

生源地來自農(nóng)村 65.43%

生源地來自省外 22.22%

來自東部發(fā)達沿海省市 7.40%

少數(shù)民族比例 34.57%

2.課程特點的問題。程序設計類課程最大的特點就是注重學生實踐思維及解決問題能力的培養(yǎng)。與其他偏理論的課程相比,這門課程的實驗課時比例大,但是由于實驗課時間比較緊張,學生在學習過程中缺乏自我約束能力,容易被各種網(wǎng)絡娛樂吸引,所以盡管程序設計類課程要求掌握的語法和句法比較基礎和簡單,但由于上述問題的存在,很難達到培養(yǎng)學生程序設計思維的目的。課程的考核方式也存在一定的缺陷,由于理論考試分值占比偏大,實驗操作分值小,所以大多學生采取考前突擊、臨時抱佛腳的方式應對考試,很少在平時實踐中慢慢思考、揣摩和體會。

3.傳統(tǒng)教學方法的問題。教師在程序設計教學過程中一般套用的模式是:先從語言的發(fā)展史開始,再到相關的語法、語義,之后通過簡單實例和實驗教學結合的方式讓學生理解程序設計,培養(yǎng)學生的程序設計思維能力。由于程序設計語言枯燥,沒有形象生動的畫面,單一的教學方式讓學生失去對程序語言類學科學習的興趣。另外,由于不同的程序設計語言中很多語義和語法規(guī)則都不相同,增加了編寫程序的煩瑣與枯燥,讓學生去記住每一種規(guī)則和含義,還要去調試找到程序錯誤,更使得學生學不懂、聽不懂,學習思路更加混亂,極大地降低學習的效率和學習此類課程的積極性。

三、課程教學改革思路

1.教競結合。我校信息類相關專業(yè)一共六個,可以分為計算機和電子信息通信兩大類,總數(shù)達到1800余人。經(jīng)過教學團隊的長期教學實踐總結發(fā)現(xiàn),學生對參與科技類競賽的積極性很高,所以從2015年開始每個專業(yè)都選擇一項有利于本專業(yè)發(fā)展的全國性競賽項目,而且在教學上也設置了相應的課程引導,幫助學生參賽。為讓學生對ACM國際程序設計大賽有一個初步的了解,學校特設ACM程序設計實踐課程,同時這也是廣西高校首次將國際大賽ACM引入到課堂教學中。另外,我校仍然大力支持傳統(tǒng)比賽,如“藍橋杯大賽”“中國軟件杯設計大賽”等,這些課程都采用了相應的算法類教學。

2.教學課程設置改革。對于程序設計類課程,除了保持原有的理論學時,還要加強對實驗教學的監(jiān)督和管理,加大實驗考核比例,增設實訓實踐類課程。其中實訓類課程的開展主要是在學生完成某個程序設計課程后進行的,課程時間較為集中,主要在實驗室機房完成,實訓題目主要由教師設定,學生也可以根據(jù)自身情況和教師商量后確定題目。而實踐類課程主要是在學校的課外實習基地展開,由企業(yè)有經(jīng)驗的工程師帶領學生完成實踐,解決實際問題。教學課程的改革,將有利于理論與實踐的結合,使學生增強動手能力,引導“三實型”人才的培養(yǎng)。

3.師資培養(yǎng)。由于程序設計類課程具有很強的實踐性,要求教師不僅有深厚的理論知識,還需要有一定的工程實踐背景。所以為了適應工程型教育的需求,學院加強了對教學團隊的培養(yǎng),除了引進博士學歷的人才外,還引入工程型的教師,要求其有2?3年的工程實踐背景,參與過企業(yè)項目開發(fā),具備工程實踐經(jīng)驗。另一方面,積極協(xié)助青年教師去國內(nèi)985/211高校和國外高水平大學進修或者訪學,鼓勵青年教師申報各種基金項目。

四、總結

本文結合我校信息類專業(yè)的特點,依據(jù)教學團隊多年實踐教學經(jīng)驗,提出了一系列程序設計類課程改革和探索的新思路。相信通過課程設置的改革,將競賽融入教學中,能有效地引導新“三實型”人才的培養(yǎng),增強學生動手實踐編程的能力,增加學生未來就業(yè)的籌碼。此外,在今后的教學中,教師將進一步深化課堂教學研究,教學水平還會不斷提高。

篇6

互聯(lián)網(wǎng)技術的高速發(fā)展已經(jīng)對我國的教育領域產(chǎn)生了深遠的影響。與此同時,“Java程序設計”課程的教學和改革也迎來了挑戰(zhàn)和機遇。因此,為了提高“Java程序設計”課程教學質量和教學效果,充分發(fā)揮學生的主動學習積極性,探索線下線下的混合式教學模式顯得非常必要。教師要不斷深化和改革課程教學,創(chuàng)新教學模式,最大限度上提高課程價值?;旌鲜浇虒W(即線上教學)與傳統(tǒng)課堂教學(即線下教學)相融合,可以在很大程度上推動“Java程序設計”高職院校的教學獲得新的成效。然而結合實際情況,雖然我國大多數(shù)高職院校開展了“Java程序設計”課程的混合式教學,但是,教學過程中還存在著不少的問題和弊端。因此,高校教師還需要深入對“Java程序設計”課程混合式教學模式的研究和探討。

1 高職“Java程序設計”課程教學現(xiàn)狀

“Java程序設計”是我國高職院校軟件技術專業(yè)的一門重要專業(yè)基礎課程,其主要內(nèi)容比較廣泛,而個體差異廣泛存在于我國高職院校的學生中,并且很大一部分學生的計算機思維能力較弱,自我約束能力和自我學習能力較差,這就導致了在進行“Java程序設計”課程教學時存在著巨大的困難[1]。

1.1 學生正確學習意識不足

由于高職院校中的學生普遍缺乏良好的自我約束和自我學習能力,同時也對專業(yè)不夠重視,對課程的認識性不足,相當一部分學生在課堂中打瞌睡、玩手機,這讓“Java程序設計”課程的教學變得十分困難。

1.2 課程實訓安排不合理

由于“Java程序設計”課程在很多高職院校中只會開設一學期,因此學生對于課程的整體學習和課程進度的把握顯得十分有限?!癑ava程序設計”課程目前朝著多樣化的趨勢發(fā)展,然而,我國高職院校“Java程序設計”課程普遍缺乏對實訓課程的合理安排,并且可能會降低已有的實訓課程難度來滿足基礎較差的同學,導致實訓效果和實訓效率很低。

1.3 課程體系建設還有待加強

許多高職院校在進行“Java程序設計”課程的教學和設計時,往往都沒有考慮到學生的基礎能力是比較薄弱的,忽略了學生只是軟件技術專業(yè)的“初學者”身份。教師在專業(yè)課程的教學過程中,也沒有進行對階段性教學成果的總結與反思,只是不斷地要求學生進行專業(yè)知識和技能的學習,從而導致學生缺乏對課程的總結和反思。同時,缺乏對“Java程序設計”這門課程的后續(xù)安排,缺乏循序漸進的課程體系,使得學生的學習動力不足,課程前后銜接不完善也導致了學生出現(xiàn)知識脫節(jié)的情況,不利于學生的長期學習。

2 線上線下混合教學模式分析

2.1 合理科學的教學評價體系

筆者認為,一個完整的課程評價體系應當是貫穿在整個混合教學過程中的,評價體系應當完整地將學生在學習過程中的狀態(tài)展示出來,在教師進行課程的全面教學過程中,要充分鼓勵學生積極自主參加教學評價,從而讓學生能夠掌握自身的學習狀態(tài)。教師也應當在教學過程中,充分地對學生知識掌握能力和技能掌握能力進行綜合評價,并且設置學習小組,對學習小組長進行領導力評價。建立起這種評價體系,能夠在很大程度上帶動學生的積極性,提高學習積極性。

2.2 充分認識學生的學習需求

學生的學習需求是任何一門課程能夠良好實施的重要基礎。課程教學目標應當在充分結合了學生學習需求的基礎上進行設定,為后續(xù)的教學工作最大化提供便利[2]。學生的學習需求一般來講是分為主觀和客觀的。在學生的角度而言,主觀學習需求就是對教學成果和教學目標實現(xiàn)的期望,而學生今后的職業(yè)發(fā)展、社會地位、薪資待遇等因素則是學生的客觀學習需求?!癑ava程序設計”課程混合式教學要充分地對學生的主觀和客戶學習需求進行平衡,盡量做到主觀需求和客觀需求能夠對等。

2.3 教學策略制定

“互聯(lián)網(wǎng)+”大背景下,線上線下混合式教學已經(jīng)成為各高職院校教學的基本模式。傳統(tǒng)式教學是一種很強的主觀式行為,強調的是教師的教學行為,而混合式教學策略則是充分展示教學環(huán)境和教學資源等元素。在制定混合式教學策略時,教師要注重隨時對課程進行優(yōu)化和改善,比如可以對學生進行分層次教學,對不同層次水平的學生安排不同的教學實施任務,能夠幫助教師很好地完成教學任務,同時也能夠高效地達到教學目標。

3 線上線下混合式教學在“Java程序設計”課程中的具體應用

3.1 設置合理的教學項目和情景

“互聯(lián)網(wǎng)+”背景下,不同課程的教學項目和情景、課程設計形式等都是多種多樣的。通過利用互聯(lián)網(wǎng)將學生的學習和課程的教學緊密聯(lián)合在一起,是一種當下非常新興的教學模式,同時也是一種重要的、不同于傳統(tǒng)教學模式的突破。在混合式教學模式中,教師需要把互聯(lián)網(wǎng)課程與課程實施項目、理論情景進行緊密結合,比如可以在教學過程中設置圖書館管理系統(tǒng)、學生信息管理系統(tǒng)等情景,并對其進行合理設計,能夠在一定程度上提高學生的學習興趣[3]。

3.2 提高實驗課程占比,提高實驗教學力度

實驗教學在“Java程序設計”課程中占比非常大,教師在設計混合式教學的過程中,應當著重突出實驗教學的力度,充分體現(xiàn)“Java程序設計”教學的實用性和適用性,增加實驗教學在課程中的課時占比[4]。教師還應當在每一次實訓課程開展前,提前給學生布置實訓任務,讓學生充分地對學習任務進行了解和預習,這也能夠讓學生在課外進行自主探索學習。此外,教師在課程的期中考核和期末考核中也應設置充分的實驗內(nèi)容,這也能在一定程度上提高學生將理論知識轉化為實踐應用的能力。如此,才能夠大大地提高混合式教學的教學效率,充分發(fā)揮實訓教學和實訓課程的作用。

3.3 優(yōu)化和不斷完善課程體系

“Java程序設計”課程旨在提高學生編程能力,提高項目開發(fā)能力,因此,課程體系的不斷優(yōu)化和改善對于“Java程序設計”課程的混合式教學實施顯得尤為重要?!癑ava程序設計”前中期要求學生重點掌握語法基礎、數(shù)據(jù)庫等知識,后期則需要學生重點掌握面向對象、Java高級特性等知識。所以,對學生進行綜合評價,掌握學生的學習需求,了解學生的學習能力,是教師不斷優(yōu)化和改善課程體系的良好方式。只有構建出合理且科學的課程體系,“Java程序設計”課程的教學實施效果才能得到良好的保證。

4 結語

總之,開展和實施混合式教學對于“Java程序設計”課程的教學有十分重要的作用。許多高職院校也在大力地建設和發(fā)展自己的網(wǎng)絡課程,并已經(jīng)在教學過程中實施混合式教學。教師也可以在“互聯(lián)網(wǎng)+”大背景下不斷地進行網(wǎng)絡課程教學創(chuàng)新,為學生創(chuàng)造和提供良好的學習條件。

[參考文獻]

[1]劉長旺.基于工程實踐能力培養(yǎng)的Java程序設計課程教學改革研究[J].教育教學論壇,2017 (25 ):134-135.

篇7

1計算機專業(yè)程序設計課程實踐教學的主要范疇

計算機專業(yè)程序設計課程實踐教學主要包括上機實驗、綜合練習、課程設計、軟件開發(fā)實訓等幾個方面。上機實驗是最基本的實踐教學,由任課教師根據(jù)理論教學的具體進度,設置一些簡單的實驗,要求學生在規(guī)定時間內(nèi)完成,通過這些實驗加強學生對理論知識的理解和掌握。綜合練習一般在經(jīng)歷了一定的學習階段之后,任課教師根據(jù)現(xiàn)階段學生的學習情況,結合日常生活、工作中面臨的實際問題,設置一些難度較小的綜合性練習題,要求學生在規(guī)定的時間內(nèi)進行調查分析,然后應用所學知識解決問題。綜合練習主要側重某一方面具體知識的應用。課程設計是在本門課程學習完畢后,任課老師根據(jù)教學大綱的要求,結合課程的特點和實際應用,設置一些難度適中、綜合性強的課題,要求學生按要求完成課題任務。課程設計主要考查學生對知識綜合運用的能力,培養(yǎng)學生利用所學知識來分析問題、解決問題的能力。軟件開發(fā)實訓則是通過實際軟件項目來提高學生的職業(yè)綜合技能。計算機程序設計實踐教學都采取由淺入深的原則進行,其過程為:上機實驗綜合練習課程設計軟件開發(fā)實訓。

2計算機專業(yè)程序設計課程實踐教學的重要性

2.1加強實踐教學是實現(xiàn)計算機專業(yè)程序設計課程教學目標的要求計算機程序設計課程的主要目的是培養(yǎng)學生的程序基本開發(fā)能力、程序代碼編寫能力和程序調試應用能力,重點培養(yǎng)學生的算法應用分析能力和數(shù)據(jù)綜合處理能力。其主要任務是通過日常教學,使學生掌握程序設計的一般方法和程序設計的具體過程,掌握計算機程序設計語言的語言特征,具備程序設計師的基礎應用能力。在教學過程中,任課教師應以人才培養(yǎng)為目標,側重編程綜合應用能力的培養(yǎng),通過具體的實踐教學來提高學生的職業(yè)技能。

2.2實踐教學是提高程序設計課程教學質量的重要手段實踐教學是培養(yǎng)學生動手能力的重要手段,是提高學生的動手能力和職業(yè)技能最有效的方式,是對學生理論知識掌握程度的檢驗?!爸R來源于實踐”,“實踐是檢驗真理的唯一標準”,計算機程序設計課程的理論知識應通過編程實踐體現(xiàn),通過具體的程序設計案例和實際編程來提高學生對理論知識的掌握,學生

綜合編程能力的強弱是檢驗計算機專業(yè)程序設計課程教學質量的基本標準。

3成人教育業(yè)程序設計課程實踐教學存在的問題

我國成人教育業(yè)程序設計課程的實踐教學存在問題的體現(xiàn)在下述方面:①實踐設施不足,教學條件不完善;②對教學認識不足,實踐教學不受重視;③實踐教學方法陳舊,考核方式單一。 轉貼于

4積極探索,構建合理的程序設計課程實踐教學模式

4.1實踐教學要符合教學目標的需要計算機專業(yè)程序設計課程實踐教學必須緊緊圍繞專業(yè)培養(yǎng)目標、人才培養(yǎng)規(guī)格進行。要結合專業(yè)特點更新教學內(nèi)容,調整實踐教學內(nèi)容、方法和手段。實踐教學內(nèi)容的更新,要注重對學生編程綜合能力的培養(yǎng)和創(chuàng)新能力的培養(yǎng),要對已有的實踐教學內(nèi)容進行篩選、整合,改變單一的演示性、驗證性實驗,增加綜合性、設計性、創(chuàng)新性實驗,要充分利用計算機課程的教學特征,提高實踐教學效果。

4.2以社會就業(yè)需求為主導,開展多種形式的實踐教學程序設計課程實踐教學主要有上機實驗、課程章節(jié)綜合練習、大作業(yè)、課程設計、軟件項目實訓、校外軟件基地實習、軟件合作企業(yè)頂崗實習、校內(nèi)軟件課題研發(fā)等。其中實訓、實習和研發(fā)都是采用“真題真做”。通過上述這些實踐過程,學生的程序設計綜合應用能力和軟件開發(fā)能力都能得到良好的鍛煉。

4.3程序設計課程實踐教學設計一般要求定教學的具體內(nèi)容。大多數(shù)情形下,采用實例教學效果比較明顯,通過實例的演練促進學生對知識的掌握。實例式實踐教學設計一般應包括教學目標、課時要求、教學組織、教學內(nèi)容、實踐方式、實踐總結、成績評定等幾部分內(nèi)容。在設計實踐教學內(nèi)容的過程中,應做好三個方面工作。一是要結合學生實際情況,盡量體現(xiàn)知識性、實用性,激發(fā)學生的靈感和創(chuàng)造欲,使學生對實踐內(nèi)容感興趣,以充分調動學生的學習積極性和主觀能動性,促進學生積極創(chuàng)新,完成實踐內(nèi)容。二是應注重理論教學與實踐教學相結合,保證實踐教學與理論課教學相適應,加深學生對基本理論、基本知識的理解和掌握。三是保證實踐題目難度和工作量適中,學生通過自己的努力,可以在規(guī)定時間內(nèi)完成實踐任務,實踐方式可以靈活多變。

篇8

目前,程序設計類課程已作為中職計算機專業(yè)的一門重要課程。在學生完成了計算機基礎知識的學習后,通常要學習一些高級語言的程序設計類課程,如VB、C#、ASP. NET等,而這些課程要求學生必須有較好的計算機基礎和靈活的邏輯思維能力才能學好。在實際的教學過程中,雖然實施了“理實一體化”的教學模式和以學生為主、項目化教學等方式,但效果并不理想。所以,必須尋找一種更有效的教學方法來提高程序設計類課程的教學效果。

一、教學現(xiàn)狀及原因分析

相信大部分計算機教師在教學生程序設計類課程時362總有這樣的感覺:講理論知識時很多很全,學生感覺枯燥無味;實訓操作時,學生沒興趣,消極應對。那么,是什么原因造成以上現(xiàn)象呢?我認為有以下幾點。

1.課程的特點。程序設計類課程一般都是由理論知識和實訓操作兩部分構成,是一門專業(yè)性較強的課程,要求學生對知識點掌握十分透徹,并具備一定的邏輯思維能力。如C#語言中學生必須要掌握.NET框架和基類庫、程序的構成和結構、類、數(shù)組等概念才能較好地完成實訓操作。概念之抽象是學生難以學好的一個原因。

2.學生的特點。中職學生大多計算機基礎薄弱、學習興趣低、自主學習能力差。但他們又對新鮮事物充滿好奇,能進行探索和思考。通過調查發(fā)現(xiàn),大多數(shù)學生覺得學不好的原因是覺得課程知識點難懂,實訓操作模式單一(主要是完成書本中的項目實訓),沒有積極性。

3.教學設計與方法。在傳統(tǒng)的教學中,教師一般將書本的理論知識先講授,再讓學生通過項目實訓來鞏固所學知識,通常采取任務驅動、小組合作學習、教師引導的方法完成實訓任務。然而在書本中,每一個項目對應的是一個知識點的專項實訓,項目與項目之間相對獨立,學生一旦沒有對知識點掌握透徹,就很難完成項目實訓。雖然有小組合作,但由于知識抽象,掌握知識技巧的學生也很難教會不懂的學生。

二、項目結合,大膽探索

針對以上現(xiàn)象,如何提高程序設計類課程的教學效果呢?本人經(jīng)過研究和探索發(fā)現(xiàn),要讓學生學好程序設計類課程,光靠書本理論的講授和實訓是不夠的,只有充分地激起學生的興趣,學生才能想學、去學、喜歡學,主動性和積極性才能提高。對此,本人總結出了一套“項目結合”的教學方法,就是打破傳統(tǒng)的教學法,將某一章節(jié)獨立的項目重新設計,循序漸進地結合起來,提高項目的趣味性,用興趣綁住學生。比如在《Windows程序設計案例教程(C#)》中第二章,書本中的項目依次是時鐘實例、加法練習器實例、項目選擇器實例、選擇題應答器實例、倒計時實例和英文字母練習器實例。通過對項目和教學的重新設計,我以英文字母練習器實例為主線,將倒計時實例、選擇題應答器實例、加法練習器實例中的重要知識點結合起來,形成了一個趣味性強、知識點關聯(lián)性高的一個新項目。下面以《Windows程序設計案例教程(C#)》中第二章的《英文字母練習器》教學為例,和大家探討“項目結合”的方法在實際教學過程中的作用。教學設計和教學方法分為如下幾個步驟:

1.引入游戲,創(chuàng)設情境。教師展示一款大家都比較熟悉的“切西瓜”游戲,并進行操作演示,同時讓學生觀察思考,分析游戲的功能,從而激發(fā)學生興趣,學生通過觀察分析出游戲所具備的功能,為新課作鋪墊。教學方法可采用學生觀察法,討論法。

2.項目要點剖析,提高認識。首先,以書本中的英文字母練習器實例為基礎,分析項目的功能、關鍵技術、設計的方法等,如timer的功能、pictureBox的作用等。然后,對比“切西瓜”游戲,讓學生分析項目中的不足及完善的方法。教學方法可采用小組討論、教師引導。

篇9

中圖分類號:TP312.1-4 文獻標識碼:A 文章編號:1007-9599 (2012) 16-0000-02

C#作為一種簡單、現(xiàn)代、面向對象且類型安全的編程語言,由C和C++語言衍生而來,雖然與C和C++有相似之處,但是它有自身的特點和優(yōu)點。C#語言的優(yōu)勢如下:

具有高度的靈活的性和強大的底層控制能力,能與計算機硬件直接通信。

具有可移植性,盡管程序的編寫是針對所使用的操作系統(tǒng)和特定的計算機硬件系統(tǒng)的,但是只需要做少量的修改就可以應用于其他系統(tǒng)。

代碼高效,具有相當?shù)膱?zhí)行效率。

1 課程特點

根據(jù)高職教學的特點在課程設計上體現(xiàn)“以就業(yè)需要確定崗位,以崗位確定能力(技能、技術)”的原則。每一崗位技能由一個系列課程(2~4門課程+1~2門實訓課程)教學進行培養(yǎng),形成“崗位系列課程鏈”。也就是,把職業(yè)崗位要求的一項專門技術看成是一項任務,并設計成一個貫穿教學全過程的課程鏈;以核心知識課程打好技術和能力基礎;以行動導向的實訓課程或課程設計項目培養(yǎng)職業(yè)需要的技能。在軟件開發(fā)核心能力的培養(yǎng)中,C#程序設計是非常重要的一環(huán),所以在課程講授主線上,按照“讀程”、“編程”、“開發(fā)”、“測試”、“研發(fā)”的能力結構和學習過程設置教學環(huán)節(jié),學生可按“模塊化、組合型、進階式”等方式選擇學習內(nèi)容,逐步深入掌握編程知識,并兼顧其他能力培養(yǎng)。

2 教學實施及管理

在實際教學中,教學模塊設計以軟件開發(fā)崗位任職要求、工作過程為導向,任務驅動,遵循由易到難的規(guī)律,形成由單一能力培養(yǎng)到綜合能力培養(yǎng)的思路。把軟件開發(fā)分為C/S和B/S兩種模式,對于兩種模式分別以綜合實訓項目入手,強調實際工作能力的培養(yǎng),而不是單一知識點的掌握。目前,企業(yè)對畢業(yè)生的用人標準中,動手能力、學習能力、與人溝通能力和團隊合作能力,是其選擇人才的重要標準。動手能力和實踐經(jīng)驗的提高,必須在實踐環(huán)節(jié)的教學管理中加以訓練和培養(yǎng)。通過實踐課環(huán)節(jié)的學習,學生的動手能力、自主學習能力等技能都得到了提高。而其項目開發(fā)本身的趣味性和挑戰(zhàn)性,很好地激發(fā)了學生對實踐環(huán)節(jié)的學習積極性。因此,加強實踐環(huán)節(jié)的培養(yǎng)是C#程序設計課程的教學重點。在教學中綜合運用多種教學方法。根據(jù)C#程序設計課程的特點,并通過幾個學期的教學實踐證明,采用項目教學法,在不同的項目中設計小的教學情境,模擬真實的工作環(huán)境,用實際任務驅動教學的開展,采用激勵式教學法、團隊互助式教學法等多種方法共同使用,使學生更好的掌握各項知識和技能。對于不同的知識點靈活的運用不同的教學方法,達到良好的教學效果。

3 校企合作課程建設

深化教學改革,遵循軟件技術職業(yè)能力的形成規(guī)律,發(fā)揮教師的實踐工作經(jīng)驗,強化任務(案例)驅動和“以做為主”的教學方法,將企業(yè)中真實項目、案例和技巧融入到教學中,使課程的講授更加貼近企業(yè)的真實工作環(huán)境和技術要求,并進一步強化“以教師為主導,學生為主體”的教學理念。

在教學中通過角色扮演的方式模擬企業(yè)的實際工作環(huán)境,使學生感受更加真實。企業(yè)技術人員和教師在軟件開發(fā)實訓項目中通過扮演項目經(jīng)理以及系統(tǒng)設計師等角色,帶領學生完成真實的軟件項目。軟件開發(fā)是一個多角色協(xié)作的過程,有配置經(jīng)理、開發(fā)人員、文檔作者、測試人員、維護人員幾個角色可供選擇,只有在實訓項目中讓學生通過扮演適當?shù)慕巧?,才能給學生真正溝通,協(xié)作體驗,并獲得適應未來工作需要的實際經(jīng)驗。

4 多種教學手段的應用

4.1 精心設計教學課件,合理設計教學情境

在課堂教學中,不是死板的運用PPT演示知識點,而是把知識點穿插在實際案例中,合理的設計教學情境,讓學生更加深刻的理解所學知識點。

4.2 講解編程思路,引導學生編程

在教學過程中,教師并不是把大段的程序發(fā)給學生,再給學生講解程序功能,這樣只會使學生一味的抄襲,缺乏自我思考。教師應該引導學生,讓學生參加到程序的開發(fā)中,隨著教師的思路一同完成的程序的編寫,并把程序中相近的部分讓學生獨立完成。

4.3 利用LanStar教學廣播系統(tǒng)

在教師講解知識點和課后總結中,通過廣播教學方式,讓全體學生的注意力集中在教師身上,提高教學效果。在學生自主練習時,學生可以運用LanStar系統(tǒng)進行課堂提問,教師可以及時輔導,并且可以讓學生自己把優(yōu)秀的學生作品,通過LanStar系統(tǒng)展示給其他同學,提高學生的綜合素質。

4.4 利用互聯(lián)網(wǎng)進行課后教學輔導

課后教師運用QQ、MSN等軟件,為學生提供遠程在線指導隨時解決學生在學習過程中所遇到的問題,教師可以通過QQ軟件提供的遠程協(xié)助功能,教師可以遠程登錄學生的電腦,為學生解決編程中的各項問題,使學生的學習不再局限于有限的課堂教學時間。

5 探索以技能考核的新方式

在考核方式上,知識理論性按融合了知識點與技能點的試卷形式進行考核,項目設計按作品完成情況進行考核,實訓操作按操作和測試過程中學生現(xiàn)場表現(xiàn)進行考核,對于不同內(nèi)容采用不同的考核方式,考核標準也有所不同,該標準應包括:實訓題庫(學生必須掌握的操作技能)、評價標準、組織形式等內(nèi)容。實行終結性考核與過程性考試相結合的方式。以實際技能為導向,把實踐能力和項目能力納入考核范圍。采用筆試、機試、綜合作業(yè)、項目評審考核等方法。并以此全面衡量和控制教學質量。

所以,在課程的考核中既要考核學生理論知識的掌握程度,學生的實踐動手能力,更要考核學生的團隊協(xié)作能力,通過平時的知識點考核和最終的項目展示、項目答辯達到預期效果。

6 總結

在C#程序設計課程的教學中,通過與企業(yè)之間的合作,取得了良好的教學效果,教學中采用企業(yè)的真實項目開展教學,并邀請企業(yè)技術人員與學校專職教師共同完成課程的講授,既發(fā)揮了教師理論知識強的優(yōu)點,也使學生在企業(yè)技術人員身上學到了最新的實踐技能。 “工學結合”項目貫徹整個教學過程,學生在課程學習中,參與企業(yè)的真實案例,讓學生在真實企業(yè)環(huán)境中提升崗位技能。在教學中,強化任務驅動和“以做為主”的教學方法,將大量真實的任務、案例和操作技巧融入教學內(nèi)容,使課程內(nèi)容緊貼生產(chǎn)實踐和技術前沿,強化“以教師為主導,學生為主體”的教學理念。

參考文獻:

[1]王婧.任務驅動法在計算機課程教學中的應用[J].計算機教育,2011,8.

[2]游祖元.C#案例教程[J].電子工業(yè)出版社,2008,8.

篇10

C語言程序設計既是高等學校一門重要的公共基礎課程,也是計算機專業(yè)的一門專業(yè)基礎課。由于邏輯性和實踐性強,使該課程的教學和實踐存在一些誤區(qū),主要表現(xiàn)如下。

1) 學生不清楚本專業(yè)的特點。多數(shù)高校將本課程安排在大一的第一學期,由于對于本專業(yè)的課程體系了解不夠,導致新生對各專業(yè)特點混淆不清,有的學生去報考計算機等級考試,結果有的還不如非計算機專業(yè)的學生,致使一些學生學習消沉。我們通過和學生談心,得知不只是大一有這種現(xiàn)象,大二的學生甚至也存在這種心理[1]。

2) 學生學習本課程目的不明確,興趣不高。在教學中,有不少學生問,既然C#和Java是現(xiàn)在的主流編程語言,為什么還要讓我們學習C語言?所以我們在第一堂課介紹計算機語言發(fā)展時,將C語言和其他語言作比較,強調C語言是當前程序員共同的語言,它使程序員互相溝通,比流行語言都更接近機器。C語言更適合解決某些小型程序的編程,在編寫底層的設備驅動程序和內(nèi)嵌應用程序時,往往是更好的選擇。有了C的基礎,在需要時進一步學習其他語言,也是很容易過渡的。當然,第一堂課上,我們把重點放在培養(yǎng)學生的興趣上,所以會用1個學時去展示歷年實訓的優(yōu)秀作品,這些作品都是完整的系統(tǒng),除了包涵基礎知識,還有高級技術。我們向學生灌輸學習這門課程的境界:Beginner―Advanced―Professional。

3) 任課教師對課程的定位、理解和把握不夠。老師只有有一桶水,才能教給學生一碗水,教得了學生不等于教得好學生,學生的評教正說明了此問題。

通過實踐,我們對計算機專業(yè)本課程教師的要求是:“復合型”的教師――既要精通這門課程,還要有3年以上實際項目開發(fā)經(jīng)驗,并且非常熟悉計算機其他學科的知識,而“教師的成功在于培養(yǎng)出值得自己崇拜的人[2]”。

因此,我們對本課程的定位是,以程序設計為中心,掌握語法,了解算法,重在算法的實現(xiàn)――編程。算法是靈魂,語法是基礎,編程是中心。處理好三者的關系,直接決定了教學的成敗。

算法盡管重要,但本課程不是算法設計課程,不可能過多地介紹算法,更不是在研究算法。我們要在學生學習編程的過程中,介紹相關的典型算法,引導學生面對問題去思考如何構造算法,編寫程序的過程本身就是設計算法的過程。

為此,我們對本課程體系進行了改革,并將本課程與計算機其他學科進行了融合教學與實踐,取得了非常好的效果。

1課程體系的改革

1) 修改教學環(huán)節(jié)。

我們把原計劃一學期的教學時間調整為一學年。第一學期進行C語言程序設計基礎的教學,第二學期進行C語言程序設計的進階教學,在學年末進行該門課的實訓,接著的暑假進行校外實習。根據(jù)不同專業(yè),我們還開了小學期,在小學期里有連續(xù)12周的實驗環(huán)節(jié)。

2) 修訂培養(yǎng)計劃和大綱,改革考核方式。

我們把本課程的教學改革與本學院的“卓越工程師計劃”相結合,組織教師外出考察、研討,然后重新修訂了培養(yǎng)計劃、教學大綱、實驗大綱、實訓大綱、實綱。相應地,考核方式也作了調整:基礎教學由筆試轉向機試,試題難度高于非計算機專業(yè)的等級考試,每次考試的題庫都將重新命題和審閱。進階教學由考試轉向完成3 000行以上大作業(yè)形式的考查,實訓由過去的全班一個模擬題目轉向提供多個實際驗收簽定過的項目,進行C版本的再次開發(fā),實習由過去的只是到實習基地參觀調整為直接進企業(yè)拜師跟班學習。

3) 豐富配套的教學資源。

我校組織編寫了《C語言程序設計基礎及進階教程》,被評為“十一五”國家級規(guī)劃教材,已于2010年由清華大學出版社出版發(fā)行。我們還配套編印了上機實驗的實踐教程(將在今年教材的第二版時一并出版),以及實訓時的實訓教材和實習的實習教程,并建設了精品課程在線學習平臺,供師生討論和交流。制作了與教材配套的課件與教案,供教學參考。

我們專門搭建了學校ACM/ICPC在線測評平臺,并組建了容納120人的競賽專用機房,成立了ACM/ICPC競賽班。2008年起,河南省計算機學會主辦一年一次的河南省大學生程序設計競賽,我們每年都組隊參加,在過去的三屆競賽上,共獲得4枚金獎、2枚銀獎、1枚銅獎。2009年參加亞洲區(qū)賽現(xiàn)場賽獲得優(yōu)秀獎。2010年參加第35屆亞洲區(qū)賽,通過預賽,獲得天津賽區(qū)、杭州賽區(qū)和成都賽區(qū)的決賽資格,并在成都賽區(qū)獲得1枚銅牌,排名第59名,是河南省該項賽事最好成績,為學校爭得了榮譽。在學校內(nèi)部,我們從2009年開始每年組織兩次全校程序設計競賽,至今已經(jīng)主辦了四次校級競賽。

4) 轉變教學理念。

我們提出了C語言與計算機相關課程的融合教學與實踐的教學理念。

5) 采用新的教學方法。

在課堂教學中,我們使用任務驅動、課堂討論、3W1H教學法、現(xiàn)場編程教學法、課堂陷阱教學法、任務分解教學法、任務貫穿教學法、分散集中教學法、兩段教學法、實訓優(yōu)秀作品展示激勵法、融合教學法等多種教學法,在課外使用網(wǎng)上在線討論與答疑、競賽輔導撥高法、課題組觀摩討論法。我們打破大學考試試卷不評講的一貫做法,在第二學期的進階課程第一堂課評講上學期期末試卷[3]。

(1)3W1H教學法。即:What――解決什么問題,Why――通過實際生活例子引入為什么要解決這個問題,Where――在什么條件下能夠解決,How――如何運用學到的方法、技術來解決問題。

(2) 現(xiàn)場編程教學法。在講授有代碼編寫的理論課時,當一個理論知識介紹完后,教師出一個難易程度適當且有代表性的題目,讓學生隨堂寫代碼,并抽學生到黑板上寫,或者抽幾份學生作業(yè)當場點評。

(3) 課堂陷阱教學法。在期中檢查座談會上,有的老教師說學生很難發(fā)現(xiàn)自己程序的錯誤,而課堂上即使是老師手下的一個筆誤,學生也能發(fā)現(xiàn)并喊錯了。我們正是可以利用學生這種“容許自己范錯,不許老師失誤”的習慣,對于學生書寫代碼時容易出錯,或者上機碰到的共性問題,我們在課堂上演示時設下陷阱,故意把代碼寫錯,有的學生當時就能發(fā)現(xiàn),而有的學生在編譯時才發(fā)現(xiàn)有錯,我們用自己的錯誤來吸引學生注意力,加深學生的印象。

(4) 課題組觀摩討論法。我們組織本課題組教師每兩周進行一次教學觀摩討論,取長補短,相互學習,推廣好的教學方法。

(5) 實訓優(yōu)秀作品展示激勵法。我們在第一學期基礎課程的第一堂課上展示往屆的優(yōu)秀實訓作品,讓學生覺得既好奇又深奧,極大地激勵了學生的興趣。臨到畢業(yè),大部分學生還能對這堂課記憶猶新。

2與計算機相關課程的融合教學

通過近5年的實踐與總結,我們認為如果把C語言程序設計與計算機相關課程進行融合教學,必將促進學生對該門課程的理解,同時凝聚專業(yè)特色,促進其他課程的學習,對于學生的自學與綜合能力的培養(yǎng)都有積極的作用。

1) 與數(shù)據(jù)結構融合。

在講到C語言中的基本數(shù)據(jù)類型與構造類型時,圍繞數(shù)據(jù)結構的一條主線――四種結構兩種存儲,聯(lián)系數(shù)據(jù)結構中的數(shù)據(jù)類型,在抽象數(shù)據(jù)類型ADT中只定義了基本操作,復雜的操作是通過基本操作實現(xiàn)的。在抽象數(shù)據(jù)類型中定義的操作與C語言中的各種類型的運算,比如取余運算符“%”,在C語言中僅限整數(shù)。在講到查找與排序時,對照數(shù)據(jù)結構中的查找與排序,介紹一些經(jīng)典和效率高的算法。在講到遞歸函數(shù)調用時,用數(shù)據(jù)結構中的遞歸調用時棧的進棧出棧變化過程講解。在講到scanf函數(shù)和其他讀取字符函數(shù)時,將內(nèi)存與鍵盤輸入緩沖區(qū)結合,使學生更容易理解數(shù)據(jù)的輸入格式。

2) 與操作系統(tǒng)融合。

在講到變量的數(shù)據(jù)類型及變量的存儲類型時,結合操作系統(tǒng)的內(nèi)存結構,講解內(nèi)存區(qū)域分為6個不同的部分來存儲不同的數(shù)據(jù),使學生了解內(nèi)存組織的有序性。特殊地,寄存器變量不占內(nèi)存,而字符串常量存放在符號常量區(qū),通過講解內(nèi)存結構,學生就明白靜態(tài)變量為什么第一次使用時會初始化,以后再使用時用的是上一次的值。在講解數(shù)組的連續(xù)存儲、鏈表的動態(tài)存儲時,結合內(nèi)存就會理解得更透徹些,甚至可補充內(nèi)存中堆與棧使用的知識[4]。

3) 與計算機組成原理融合。

入學時,教師介紹計算機發(fā)展,一般都會講到馮•諾依曼原理,那么為什么要學習語言呢?還得從計算機組成原理來講,從電腦城裝配電腦介紹起,首先運用BIOS程序,然后再啟動操作系統(tǒng),最后再運行用戶的應用程序。而BIOS程序、操作系統(tǒng)和應用軟件都是用語言開發(fā)出來的軟件,之前都曾經(jīng)有過C語言版本,BIOS現(xiàn)在還是C語言編寫的,而操作系統(tǒng)的一些內(nèi)核也還有C語言的許多代碼。因為大一第一學期的計算機科學導論與本課程是同步開設,學生對計算機的了解還是有限的。同樣地,在講到C語言的三種進制數(shù)、位運算、指針時,與計算機的字長、補碼運算、指令加以對照,就容易理解些。

4) 與面向對象語言融合。

掌握好一門語言,可以自學其他語言。做到這點不容易,因為大學專業(yè)課的特點是學一門結一門,沒有哪所大學或哪個專業(yè)開設了所有語言,所以在語言課之間融合對照學習,會收到非常好的效果。比如講到結構體時,與面向對象中的類對照,將結構體變量與對象對照,就比較好理解數(shù)據(jù)類型和類不占內(nèi)存,對象與變量占內(nèi)存了。講到函數(shù)時,與方法對照,講到函數(shù)參數(shù)時,補充面向對象中引用的使用,對將來學習面向對象語言和數(shù)據(jù)結構非常有益。

5) 與數(shù)據(jù)庫原理融合。

程序所需數(shù)據(jù)從哪兒來?運行結果保存到哪兒去?在講到文件操作時,將C語言中用到的文件與數(shù)據(jù)庫中數(shù)據(jù)文件作比較,再聯(lián)系結構體成員與數(shù)據(jù)庫中的字段、記錄,使學生對程序的理解更完整一些。

6) 與編譯原理融合。

在演示程序開發(fā)過程、多文件的操作、編譯預處理時,均可以聯(lián)系編譯原理中編譯器的詞法/語法分析,教師可以演示單步編譯,鼓勵學生思考編譯的過程。

7) 與高等數(shù)學、線性代數(shù)、概率論、離散數(shù)學、數(shù)值分析、運籌學等融合。

如果能將學習C語言與離散數(shù)學中的集合論、代數(shù)系統(tǒng)、圖論結合,再解決高等數(shù)學、線性代數(shù)、概率統(tǒng)計、幾何、數(shù)值分析和運籌學中的數(shù)學問題,能夠極大提高學生的興趣,也鞏固了所學的知識。

8) 與網(wǎng)絡融合。

使用C語言可以開發(fā)C/S結構的客戶端與服務器端程序,在實訓和實習時可以分層次進行一些高級的練習,比如C/S結構的網(wǎng)絡編程。再提出一些問題,比如如何實現(xiàn)抓圖和打印等,培養(yǎng)學生的自學習慣。

9) 與軟件工程融合。

結合專業(yè)特點,講解軟件開發(fā)不僅僅是寫代碼,還是一個模型的開發(fā)過程,對于學生將來畢業(yè)做好畢業(yè)設計與寫好畢業(yè)論文有指導意義。特別是軟件工程和軟件測試專業(yè)更是需要了解。

其實,我們在講授C語言程序設計時,幾乎可以和所有計算機專業(yè)課程聯(lián)系起來,比如選修課算法分析與設計,還可以和ACM/ICPC結合,通過ACM/ICPC競賽的題目尋找合適的教學切入點,有時也可以引入離散數(shù)學中的邏輯推理知識,或者構造一種教學情境,讓大家感興趣,能被吸引住,使學生一步步跟著往前走,比如抽幾名學生排隊講排序算法。

也可以和非計算機專業(yè)課程聯(lián)系起來,比如計算機英語。同樣地,在教學過程中,融合一些新的技術,比如物聯(lián)網(wǎng)、CPS計劃等,學生會更感興趣。如何融合比較教學,既能深入淺出地完成教學任務又不拖延學時,需要把握好這個度。

3與計算機其他課程的融合實踐環(huán)節(jié)

除了做到融合教學外,在實踐環(huán)節(jié)上如何融合也至關重要。

1) 搭建ACM/ICPC校內(nèi)在線測評平臺。

我們采取競賽輔導拔高法,成立競賽班,采取“講-幫-帶”的方式,建立了鄭州輕工業(yè)學院在線測評平臺,如圖1所示。豐富了題庫,組織校內(nèi)選拔賽,教師帶隊參加競賽。

自2009年開始,我們每年舉辦兩次全校性質的大學生程序設計競賽:12月舉辦新生程序設計競賽(個人賽)、5月舉辦一次全校程序設計競賽(組隊賽)。均有IT公司贊助,并有開幕式和頒獎儀式,極大地提高了學生的編程熱情。

參加ACM/ICPC競賽,有助于培養(yǎng)學生的抽象思維、邏輯思維、心理素質、團隊合作和協(xié)同能力[5]。

2) 與考研結合。

我們從大一第一學期就讓學生思考自己將來的出路:工作或考研。如果工作就必須學好知識,重視實踐,提高動手能力。

3) 與操作系統(tǒng)、C++融合實訓。

在后續(xù)的操作系統(tǒng)和C++的實訓時,安排我們C語言程序設計課題組的教師參與實訓,使得C語言程序設計課程的學習更加長期有效。

4) 把等級考試當做門檻。

我們把全國和河南省歷年計算機等級考試的題目穿插到平時的教學中,讓學生把握每個知識點。

5) 介紹學生參加教師的項目。

我們在授課的同時,也有心培養(yǎng)一些勤于思考用心的學生,介紹他們參與到教師的應急系統(tǒng)、嵌入式、GIS、網(wǎng)絡等實際項目開發(fā)中,引導學生自學C++和Java、JSP等工具,讓他們從實踐中得到鍛煉,積累經(jīng)驗。

6) 跨學科實訓并總結。

在第二學期期末的實訓環(huán)節(jié),我們讓學生分組去做一些稍微大一點的題目。比如C語言語法分析模擬器、BIOS模擬器、科學型計算器、TC模擬器、Windows小游戲、信息系統(tǒng)等。在實訓結束后,我們安排優(yōu)秀實訓作品展示總結會,也是對一學年課程學習的總結。有很多外專業(yè)的學生自愿來參加。通過展示交流,學生看到了別人的成績,也看到了自己的差距。

4結語

通過對C語言程序設計存在問題進行思考和分析,我們結合學校實際,提出了C語言程序設計與計算機相關課程的融合教學與實踐。經(jīng)過4年的教學與實踐檢驗,取得了較好的教學效果,對C語言程序設計,以及其他程序設計語言的教學都有一定的指導意義。

參考文獻:

[1] 李玉梅.“C語言程序設計”課程的“教、學、做”一體化的探索與實踐[J]. 科技創(chuàng)新導報,2010(28):164.

[2] 朱立華,俞瓊. C語言教材建設的研究與實踐[J]. 計算機教育,2009(13):150-153.

[3] 徐小青,李曉東.“高級語言程序設計”課程教學改革與實踐[J]. 計算機教育,2009(13):46-48.

[4] 王祥瑞. C語言中的內(nèi)存泄漏分析[J]. 長春大學學報,2009(6):27-29.

[5] 武建華. 基于ACM模式的數(shù)據(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