日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服

c語言程序設計論文實用13篇

引論:我們為您整理了13篇c語言程序設計論文范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。

c語言程序設計論文

篇1

1)課件講解。課件講解包括兩部分,即知識點要點總結和知識點運行機制剖析。知識點要點總結就是告訴學生該知識點如何使用;而知識點運行機制剖析則告訴學生該程序在計算機內存中的執行過程。由于絕大部分高校在開設C語言程序設計之前都會開設計算機文化基礎等課程,因此學生有足夠的計算機基礎知識來理解C語言程序的運行機制。

2)實例演示。作為一門編程語言,C語言需要在實踐中理解和掌握,因此,課堂教學中,在具體的編程環境(如VC++6.0)下演示十分必要。通過在具體的軟件環境下編程,告訴學生應該做什么和不應該做什么,并總結該知識點的注意事項。相比傳統的脫離編程環境,只在PPT或黑板上進行板書的教學模式,該方法的教學效果要好得多。在課堂教學中,具體的教學步驟如下:①使用PPT或者板書列出該知識點的注意要點;②在編程環境(如VC++6.0)下演示該知識點的用法,給出正確的和錯誤的使用方法,并進行對比;③通過幻燈片動畫或Flas等形式演示程序在計算機內存中的執行過程,讓學生更加深刻地理解程序的運行機制。

3)教學難點與重點——“復合知識點”。從C語言的教學內容來講,數組、函數和指針是教學的重點章節,這些章節之間相互關聯的部分又是重點中的難點,如數組和函數結合,數組名做函數參數,數組和指針結合,指向數組的指針變量,函數和指針結合,指向函數的指針變量等。在教學過程中要反復強調各個知識點的注意事項,如果基本知識點能夠理解透徹,上述難點內容也就迎刃而解了。

1.2上機實踐教學

在實踐教學中,教師可以通過實際教學案例循序漸進地強化學生對C語言知識點的理解。上機實踐的教學內容通常分為兩部分:基本知識點練習和綜合訓練。首先通過基本知識點的練習,讓學生掌握該知識點的使用,即鞏固課堂所學內容;然后通過一個綜合性的大作業,訓練學生綜合應用C語言知識點的能力,例如,通過編寫“學生課程成績統計系統”考查學生對數組、結構體、指針、函數、文件等知識的綜合掌握情況。對于初學編程語言的學生,往往沒有養成良好的編程習慣,出錯的可能性較大,而出錯之后進行調試又將耗費較長的時間,這勢必對學生的學習熱情產生負面影響。因此,一開始就給學生制定科學的編程步驟和規范,使學生養成良好的編程習慣,將大大減少程序出錯的可能。下面是按照上述五步編寫的一個完整的C語言程序,用來比較兩個整數的大小。按照上述五步進行編程,經過一段時間的訓練之后,學生出現語法錯誤的可能性大大降低,此時學生更多的精力將集中在程序算法的設計和實現上。

1.3考試形式

對于C語言程序設計的考核方式,我們采用知識點考核和編程實踐相結合的方式。知識點考核偏重于C語言基本語法,用于檢驗學生對知識點的掌握是否全面,此項考核約占總成績的40%;編程實踐考核用于檢驗學生的實際動手能力,學生將在規定的時間內根據題目在機器上編程,此項考核約占總成績的60%。為了實現知識點的考核,我們將考試與計算機二級C語言上機考試緊密結合,采用題庫平臺進行上機考試,學生直接在機器上答題并提交,知識點考核多采取客觀題,如填空題、程序修改題以及讀程序題等,編程題在實戰編程中考核。C語言程序設計課程的重要特點就是實踐性強,學習該課程的目的就是為了編寫程序。因此從考試的角度講,進行編程實踐是最合適的方式,通過上機編程來考核學生的學習情況也是最公正和客觀的方式。

2C語言程序設計教學實踐結果分析

中國礦業大學(北京)每年都有40多個班級同時開設C語言程序設計課程,因此該課程教學質量的高低將直接影響全校理工科學生對C語言的理解和掌握。中國礦業大學(北京)C語言程序設計教學團隊經過長期的探索總結出一套行之有效的C語言教學方法,我們將上述方法在學校越崎實驗班中進行了試點。如圖2所示,采用上述教學法的越崎實驗班的C語言程序設計課程考試成績要明顯好于其他班級,其中90分以上的學生占10.7%,80分以上的學生占總人數的53.6%。另外,學生的學習積極性比采用上述方法前得到明顯提高,很多學生都對計算機編程產生了濃厚興趣,實踐證明我們提出的上述方法是行之有效的。

篇2

1 背景

如今各大高校均需要一個完整的系統來管理和保存學生的各門課成績信息,以便后期使用,論文以河海大學文天學院的工科專業學生成績為例,運用C語言程序設計和程序運行的環境,設計了一個簡單的學生成績管理系統,下面就來介紹該系統是如何構建的。

2 系統需求分析

2.1 系統功能劃分

該系統主要功能如下:

1)學生基本信息和成績的錄入;

2)學生成績的管理,如計算總分、排序、統計等功能。

2.2 系統功能結構設計

這個學生成績管理系統中包含的學生信息有:學生的學號、姓名、性別、高數成績、英語成績、計算機成績、三門功課總分,主要的功能模塊如下:

1)輸出學生基本信息并算出總分;

2)按照學號進行排序;

3)按照總分進行排序;

4)統計各門課程平均分;

5)統計男女學生人數;

6)按照姓名進行排序;

7)統計高數成績優秀(大于等于80分)的人數,并輸出符合條件的記錄;

8)統計每門功課成績都在80分以上,或總分在240分以上的人數,并輸出符合條件的記錄。

C語言中系統的每個功能由一個函數來實現,其系統功能模塊層次結構圖如下:

圖1 學生成績管理系統功能模塊層次結構圖

因為函數就是功能,所以對于圖1的功能模塊層次結構圖,每個模塊就對應C語言中的一個函數,該系統中所涉及的函導捌涔δ莧縵攏

1)int Menu();

主控菜單函數,有返回值,無參數。用菜單形式顯示該系統能實現的所有功能,以供用戶查看和使用。函數中的返回值為用戶輸入的序號code,為局部整型變量。

2)void Read(struct student stud[],int *n);

讀入數據函數,無返回值,有參數。形式參數stud為結構體數組,由于調用此函數時實際參數為數組名,因此此處用數組接收;形式參數n為指針變量,由于實際參數為存放學生人數的整型變量的地址,因此n指向存放學生人數的整型變量,這樣可以在讀入學生信息的同時,還可以統計出學生的人數。

3)void Print(struct student *pstud,int n);

輸出數據函數,無返回值,有參數。形式參數pstud為指針變量,指向存放學生信息的結構體數組,這樣可以將相關變動信息返回給主調函數;形式參數n為整型變量,存放學生的人數。

4)void total_order(struct student *pstud,int n);

按總分排序函數,無返回值,有參數。形式參數同上。

5)void num_order(struct student *pstud,int n);

按學號排序函數,無返回值,有參數。形式參數同上。

6)void ave_count(struct student *pstud, int n);

統計各門課平均分函數,無返回值,有參數。形式參數同上。

7)void nn_count(struct student *pstud,int n);

統計男女學生人數函數,無返回值,有參數。形式參數同上。

8)void name_order(struct student *pstud,int n);

按姓名排序函數,無返回值,有參數。形式參數同上。

9)void gxyx(struct student *pstud,int n);

統計高數成績優秀人數函數,無返回值,有參數。形式參數同上。

10)void mm(struct student *pstud,int n);

統計每門課分數不小于80分或總分在240分以上人數函數 ,無返回值,有參數。形式參數同上。

3 C語言程序設計

一個C語言源程序由若干個函數構成,且有且僅有一個主函數,主函數的名字只能是main,其他函數名字由用戶自己定義,只要滿足標識符的四大規則即可。一個程序總是從主函數開始執行,無論主函數在前還是在后,該系統中除了主函數外,還有十個函數,下面針對其中幾個重要的函數進行程序設計。

3.1 主函數程序設計

為了方便讀者更好地讀懂該程序,部分地方加了注釋,以上程序中/* */為注釋,計算機并不執行。其中第四行的N為符號常量,表示該系統記錄了10個學生信息,每個學生信息用結構體類型的數組來保存,該結構體類型包含4個子成員,每個成員又是另一種類型的數據,其中學號、姓名、性別均由字符數組存儲,成績由整型數組存儲,這樣就構成了struct student結構體類型,主函數中的第一條語句就是用這種類型定義了結構體數組stud,用來存放十個學生信息。接下來就在主函數中調用各個函數,實現相對應的功能。

3.2 用戶自定義函數程序設計

3.2.1 主控菜單函數的設計

在屏幕中顯示主控菜單,scanf為輸入函數,需要輸入一個整數,通過輸入相對應的數字序號,可以實現相應的功能,例如輸入1,即顯示學生全部信息。

3.2.2 讀入數據函數的設計

該系統是從文件中讀取數據,10名學生的信息存儲在文本文件studfile.txt中,如果想修改學生信息,直接在文件中修改即可,不用修改程序,這樣既方便又快速,大大節省了時間。

3.2.3 按姓名排序函數的設計

以上程序使用冒泡的排序方法按姓名從小到大排序,系統直接將排序的結果輸出到屏幕中,以供用戶查看和使用。

4 系統界面

將以上程序輸入到計算機C語言開發環境Microsoft Visual C++6.0中,經過編輯、編譯、連接以后就可以運行了,運行界面如下:

1)系統菜單界面

當按下回車鍵,系統進入菜單模式,按照序號選擇需要顯示的信息。

2)@示學生信息界面

當按下序號1,系統進入顯示全體學生信息界面,顯示的同時計算出了3門課總分。

3)按學號排序界面

按下回車鍵繼續進入菜單進行選擇,當按下序號3,系統進入按學號從小到大排序的界面。

4)統計高數優秀的學生人數和記錄

按下回車鍵繼續進入菜單進行選擇,當按下序號7,系統進入統計高數不低于80分的人數和記錄。

5 結束語

論文主要介紹了學生成績管理系統的設計與實現過程,分別從系統需求分析、系統程序設計和系統界面設計三個方面展示了系統的設計與實現,其中系統需求分析包括大體功能劃分和具體功能結構設計,并設計了功能結構圖,描述了各項功能,系統程序設計包括主函數和其他自定義函數的設計。該系統總共實現了八項功能,學生信息來源于文本文件,這樣大大方便了學生信息的增刪改查等功能。系統中所有功能使用到的方法,還可以實現更多的功能,拓展性能良好,便于各高校各專業使用。

參考文獻:

[1] 胡楓. 《C語言程序設計》的案例式教學的設計[J]. 青海師范大學學報, 2010(4).

[2] 譚浩強. C程序設計[M]. 4版.北京: 清華大學出版社, 2010.

篇3

[2]StandleyB.lippman.C++Primer中文版.人民郵電出版社,20006.3.

[3]譚浩強.C程序設計(第二版).清華大學出版社出版,2005.6.

[4]錢能.C++程序設計教程.清華大學出版社,2005.5.

[5]沈美明.IBMPC匯編語言程序設計.清華大學出版社,1993.9.

[6]錢曉捷.匯編語言程序設計.電子工業出版社,2003.

【參考文獻】

[1]翟乃強,隋樹林,匯編語言與C語言及VisualC++混合編程[J].青島科技大學學報,2003,24(B09):136~138.

[2]錢曉捷,匯編語言程序設計(第二版)[M],電子工業出版社,2003.6.

[3]錢春英,淺談C語言與匯編語言混合編程的一些技術[J].南通航運職業技術學院學報,2005,4(1):50~52,55.

[4]郭曉梅,匯編語言與C語言的混合編程及應用[J].南京農專學報,2002,18(4):49~52,62.

[5]普拉塔.CPrimerPlus(第五版)中文版[M].人民郵電出版社,2005.

[6]斯馬爾迪諾.教學技術與媒體[M].高等教育出版社,2008.

[7]教育部考試中心.全國計算機等級考試二級教程——C語言程序設計[M].2010年版.北京:高等教育出版社,2010.

參考文獻:

[1]周以真.計算思維[J].中國計算機學會通訊,2007,(3):77-79.

[2]董榮勝.計算思維與計算機導論[J].計算機科學,2009,(36):50-52.

篇4

1.引言

“C語言程序設計”課程是計算機科學與技術和軟件工程學科相關專業的重要基礎課程。課程要求學生掌握C語言的基本數據類型和控制語句,靈活運用順序、選擇和循環三種結構設計程序。學生的學習效果直接影響后續相關課程的深入學習。

由于課程特點,使得傳統的被動教學方式讓學生覺得枯燥、乏味,只有自主的、探索性的學習才能調動學生的積極性,使其更好的學習本課程。網絡環境下專題探究式教學模式則符合這一要求 [1,2] 。

2.網絡環境下的專題探究式教學模式

專題探究式教學模式是指在網絡環境下,以計算機等終端設備做為傳播媒介,在教師的指引下,從課程中選擇和確定相關的專題,以分組討論的學習方式,開展研究,并自主獲取相應知識、應用相關知識解決實際問題的一種綜合性教學模式。

網絡環境下的專題探究式教學模式主要由情景架設、問題提出、探索實踐、結論確定和鞏固評價等多個部分組成[3]。

3.專題學習網站的總體設計

根據教學需求,專題學習網站分為如下四個功能模塊:系統管理模塊、專題管理模塊、教師專題模塊、學生專題模塊。系統用戶分為教師與學生。網站的系統結構如圖1所示:

4. 專題的設置

“C語言程序設計”專題探究式教學的指導思想為面向授課學生, 培養全體學生自主學習能力, 注重學生創新能力的培養, 鼓勵學生進行探索性的學習。根據教學的基本要求,在專題學習網站中將設置如下專題:基礎知識專題、結構程序設計專題、復合數據類型應用專題、模塊化結構設計專題、指針專題和文件專題。

6.結束語

本文簡單介紹了網絡環境下的專題探究式教學模式的特點和基本組成,詳細闡述了“C語言程序設計”專題網站的總體設計方案。通過在網站中設置豐富多樣的專題,輔以相關學習系統的支撐, 激發了學生學習的自主性,擴展了學生的學習空間, 滿足了學生個性話的發展需要。

參考文獻

篇5

Java Programs Applied Undergraduate Teaching and Research Group for the Training of Software Engineers

YU Xiao

(Wuhan Technology And Business University Department of Information Engineering, Wuhan 430065, China)

Abstract: In this paper, application-oriented university training Java software engineers in the process of teaching a number of issues, analyzes how demand-oriented enterprise Java software engineers conduct group teaching curriculum design, including accurate positioning training applied talents teaching objectives, optimize Curriculum reconstruction and the accumulation of experience teaching curriculum system, integration and research.

Key words: Application-Oriented; Training of Software Engineers; Java Curriculum Group; Teaching and Research

1 應用型本科Java課程群的教學現狀

隨著計算機行業的發展進入到互聯網時代,由于 Java語言在計算機軟件開發尤其是支持網絡編程方面的優勢,大多數高校計算機科學與技術專業在培養計劃中都設置了Java系列課程的培養方案。應用型本科大學作為第三類大學在進行Java系列課程教學改革中確定Java課程群體系的培養目標是非常重要的。因為應用型本科培養的軟件類畢業生在就業中將會與研究性大學本科專科畢業生、職業技術專科學院和職業培訓機構的學生進行競爭。為了適應軟件行業對Java開發人才的需要,高校簡單的開設一門Java語言程序設計是遠遠不夠的[1]。現階段,應用型本科大學的Java課程體系是參考研究性大學本科課程體系的標準而制定的,并沒有突出應用性的特點,而學生在編程方面的能力培養遠不及職業技術學院、職業培訓機構的學生在實踐編程能力的培養。

2 面向培養Java軟件工程師課程教學的重要性

現階段計算機應用軟件的開發主要采用.Net平臺和Java兩大平臺,這兩個平臺各有千秋[2]。在計算機類職業培訓機構的課程體系中Java系列課程也是熱門的課程。Java軟件工程師的職位在目前就業市場中屬于緊缺職位。面向培養IT企業需要的軟件工程師,為企業輸送急需對口人才是各大高校在進行Java課程群的教學建設中需要考慮的問題。但是,很多Java課程體系的教學與市場需求存在脫節的情況。另外,Java教學的知識落后于企業正在使用的技術。計算機行業是發展和更新知識非常快的行業,由于高校教師缺乏與企業交流而導致在Java教學過程中不能及時更新到最新的技術,使得學生在畢業時所學的知識過時。

3 面向培養軟件工程師的Java課程群教學思路

3.1應用型本科大學在Java課程群教學改革中的優勢

應用型本科大學比科研型本科大學在課程設置上允許更為靈活,所以在Java課程群教學中可采用多種培養方式相結合。例如,在實踐教學環節可以加強校企合作。Java的實踐課程可以由企業的講師或軟件培訓機構的人員參與教學過程,在教學內容上,可以比研究性大學更偏重應用。也可以在高年級的實踐教學中的有限課時內讓學生直接在企業中實習。為實施素質教育,提高學生的專業技能,培養技術應用型人才,需要不斷探索以變更落后的教學方法,改革傳統的教學模式[3]。

應用型本科大學在教學過程中比職業培訓機構更注重綜合能力的培養。比如,應用型本科教學不僅教授的是Java語言,除此之外教學課程體系中還會設置有《數據庫原理》、《計算機網絡工程》、《操作系統原理》和《軟件工程》等重要的理論性指導課程,使學生在計算機應用能力上更具全面性,為學生更好的在職業發展中成為軟件工程師打好理論基礎,而不僅僅只能成為程序員。

3.2 面向培養軟件工程師的教學目標

應用型本科Java課程體系教學應將與Java技術緊密相關的多門課程整合起來形成課程群,以強化課程間的關系,理清課程間的銜接,避免課程內容的重復性。設計課程群中實踐課程的遞進關系。課程群的建設應緊密結合企業的需求,設計面向培養軟件工程師所需的能力項目的定向案例或課題。進行Java課程群教學培養的目標應是面向企業需求的以應用型為主的強化實踐編程能力的軟件工程師。

3.3 Java課程群體系

根據現有Java技術相關的教學課程選擇五門課程組成Java課程群,分別是Java語言程序設計、Java語言程序設計課程設計、Java Web程序設計、Java Web程序設計課程設計、Java技術畢業設計。課程群中前一門課程是后一門課程的基礎,課程的難度是遞進的由淺入深的介紹Java技術的應用。每門課程都有不同的教學培養的側重點,如下表所示。

表1 Java課程群的培養與考核

[課程名\&能力培養側重點說明\&考核方式\&Java語言程序設計\&Java語言基礎、面向對象程序設計、圖形用戶界面編程、文件編程\&理論筆試與實踐課程綜合評分\&Java語言程序設計課程設計\&三個方向的綜合應用程序開發:圖形用戶界面與文件流結合編程;圖形用戶界面與網絡通信結合編程;圖形用戶界面與數據庫結合編程\&答辯與課程設計論文綜合評分\&Java Web程序設計\&JSP技術基礎、JDBC、JSP進行動態網站開發\&理論筆試與實踐課程綜合評分\&Java Web程序設計課程設計\&使用JDBC數據庫連接技術進行JSP動態網站開發的綜合應用\&答辯與課程設計論文綜合評分\&Java技術畢業設計\&使用EJB應用開發、Java API的使用及服務的應用進行小型實際應用項目的開發\&畢業設計答辯與畢業設計論文綜合評分\&]

課程群的每門課程都分為理論教學環節、實踐教學環節和考核環節組成。每門課程的評分標準根據課程的特點而定。程序設計課程以理論考試與實踐課程的程序完成情況進行綜合評分,課程設計課程以系統運行演示與答辯結合課程設計論文的綜合評分,畢業設計環節需要通過本科畢業設計答辯和本科畢業論文的考核綜合評分。

4 面向培養軟件工程師Java課程群的教學研究

4.1 面向培養軟件工程師Java課程群教學方法的研究

在應用型本科大學教學多年Java課程群的課程以后,根據教學實際情況在教學方法方面進行了歸納總結。在Java課程群教學中應以學生在學習該課程的實際情況為出發點,一方面強化面向對象編程思想,因為面向對象是軟件工程的基礎,為后續用Java工具進行軟件工程與產品設計打基礎;另外一方面應突出Java與C++的不同點和各種工具包,主要以圖形用戶界面與事件作為重難點。具體來說,課堂教學方法上盡量深入淺出而突出重難點,因為一般來說,開設《Java程序設計》課程是在大學本科已經開設了至少兩門語言課程《C語言程序設計》、《C++語言程序設計》之后的高年級專業課,一部分內容希望學生在老師的引導下培養自學能力或在后續課程《軟件工程》與《Java Web程序設計》課程中逐步強化細節。

4.2面向培養軟件工程師Java課程群教學方式的研究

教師在本校應用型本科大學教學過程中與學生進行了多次交流,得到了學生寶貴的反饋,結合教師在不斷教學探索與實驗教學過程中的體會與思考,對進行培養面向軟件工程師的Java課程群教學方式改革進行了總結,得到以下五個方面的改進措施。

1) 實踐教學與課堂教學整合

學生反映理論教學在教室學習效率不高,建議安排在實驗機房進行教學,理論教學后及時進行上機操作能更好的鞏固知識,實現理論與實踐的同步教學。課堂教學中的每個知識點在理論教學后布置上機的小實例作業,學生通過完成小實例作業就能很好的檢測該知識點的掌握情況,將實踐教學與課堂理論教學整合。整個教學全程安排在實驗機房完成。

2) 分步式案例教學

Java課程群中的課程的每門課程開始列出該門課程的重要知識點。在教學過程中以一個綜合應用案例為線索,涵蓋該門課程大部分最重要的知識點應用。將這個綜合案例分解成若干部分,整個教學過程中在不同的重要章節中逐步分別講解案例的某個部分。最后,將分步驟講解的案例部分組合在一起,完成整個案例的拼接運行與演示。這種分步式案例教學讓學生對該門課程有一個完整的知識體系。分步式案例教學在培養學生綜合應用能力方面取得了很好的效果,使學生從應用角度對該門課程每章的內在聯系有了一個總體的了解。

3) 學生演講與教師指導相結合

一般來說,學生在學習Java課程群的課程時已經具有了一定程序設計語言的基礎,學生在現有的C語言或C++語言學習的基礎上進行多種編程語言的對比,能更好更快的掌握Java課程群的新知識。關于Java語言基礎和JSP語言基礎部分,例如變量與常量、表達式與運算符等知識點,可以讓學生進行課下自學,并在上課過程中由學生進行演講,對比現已學過的語言,分析Java語言或JSP語言的不同點和相同點。教師在學生講課中及時進行補充或更正學生知識點的講解。學生演講與教師指導相結合的方式適用于Java課程群中程序設計語言基礎部分。這種教學方式在一方面鍛煉了學生的表達能力,在另一方面讓學生鞏固了以往的知識點并學習了新的知識點。在一定程度上調動了學生的學習積極性和促使學生更加參與課程教學,增加教與學的互動。

4) 分組答辯式教學

學生的課程設計或教學演講都可以采用分組的方式,例如一個班級30人,一般將該班級分為6個組,每組5人。因為企業大型項目開發都是以團隊的方式進行的。在應用型本科Java課程群的課程設計類課程中以團隊方式進行答辯,每組團隊得到相同的分數等級。使學生更具有團隊合作意識,增進團隊合作能力進行編程,使學生在企業中作為軟件工程師能更快適應軟件開發團隊。

5) 案例式擴展教學在實踐教學過程中的應用

Java課程群中實踐課程教學可以采用一個應用實例貫穿到每個實踐環節。從課內小案例的添加功能就可以完成該門課程的大案例,再在這個大案例的基礎上進行優化完善可以完成綜合課程設計,然后添加高級應用功能可以達到畢業設計的要求。使實踐課程體系中的所有課程共同使用一個應用實例使這些多門實踐課程具有內在的連續性,又可以很好的擴展性,使一個應用實例不斷進行加強與優化。

參考文獻:

篇6

Spline Broach CAD and Manufacturing

篇7

0引言

目前,國內外已有很多有關計算機語言類課程的考試軟件,它們大多已能很好地完成對常見客觀試題的自動評閱工作,但是對于一些主觀性很強的題目,尤其是程序設計題,還沒有很好的解決方案。其中主要采用的是結果評分法,即只依據程序運行結果給出相應分數,而并不查看考生程序內容。在這種評分機制下,程序中一個小小的錯誤就將導致一個幾近正確的程序無法運行,從而因無運行結果,考生將丟失全部分數。這與傳統人工閱卷中的評分原則是不相一致的,評分結果也并不能反應出考生的真實水平。本文以常見的C語言課程為例,對C語言程序設計題的自動評分方法進行了研究,在比較結果的評分方法基礎上,設計了動態評閱與靜態評閱相結合的方法,評分結果更加公正、準確。

1指導思想

經過大量分析與研究,我們設計了動態評閱和靜態評閱相結合的方法實現對程序設計題的評分。具體步驟如下:

(1)結果對比。檢查考生程序的結果文件,若與標準答案文件中的結果一致,則可得滿分。若不完全一致,可依據正確輸出數據的數量以予一定比例的得分。

(2)動態評閱。對于無結果的考生程序,我們可在系統控制下對其進行模擬運行以獲取運行結果。對有語法錯誤的考生程序,可以通過詞法分析和語法分析程序找出錯誤,同時設計改錯算法盡最大可能改正考生程序中的錯誤,最終使程序得以運行并保留錯誤信息。若考生程序經評改、運行,獲取了正確結果,則可依據錯誤信息從總分中扣除相應的分數。若仍無法運行或結果不正確,則采用靜態評閱。

(3)靜態評閱。所謂靜態評閱,是指通過對考生程序中語句的靜態檢查獲取評閱信息。系統事先在程序設計題的題庫文件中根據考試題目設置有多條關鍵語句,評分時,通過檢測考生程序中關鍵語句的數量可判斷其邏輯合理性,給出相應分值。

盡管上述評分方法,仍不可能做到像人工閱卷一樣實現真正的按步驟評分,但相對于以往只按結果評定成績的評分方法,相信該系統還是有積極意義的。由于考試題都是較小的程序,評分可以做到較大程度的準確。

3解決方案

程序設計題的評分最為復雜,在確定了程序設計題評分目標后,著重從以下四個方面進行了考慮:

(1)通過運行結果判定程序功能是否實現

我們要判斷一個程序是否正確,就是要看其是否完成了要求的功能,即程序的運行結果是否與實際應有的結果相符。C程序的運行結果是可以通過數據文件保存起來的,因而只要我們合理設計考題源程序中的部分內容,即在程序中指定程序結果的存儲文件,則在考生答題結束后,我們即可依據該結果文件中的內容是否與標準答案相符來判定考生程序的正誤。標準答案文件可在抽取試題時同時生成。

(2)采用“以程序改程序”的方法對錯誤的考生程序進行評改,使其趨于正確

C語言源程序文件是擴展名為.C的文本文件,可被作為普通文本文件一樣進行讀寫處理。一個沒有運行結果的程序不外乎兩種情況,或是有語法錯誤,或為死循環。針對前者,我們可以采用詞法分析及語法分析方法進行處理。詞法分析和語法分析任務有兩個,一是找錯,即要盡可能地找出程序中的詞法及語法錯誤,生成錯誤文件;二是改錯,要將發現的每一處錯誤盡最大可能修改正確,以便程序得以運行。編譯原理講述了開發高級語言編譯器的一整套原理和方法,我們可以借鑒這些原理和方法,結合C語言自身的特點設計出詳實的改錯算法。

(3)在程序中編譯運行修改后的考生程序

編譯器的設計是相當復雜而繁重的工作,由少數人在短期內去開發一個全新的編譯器是不現實也是不可能的。Turbo C提供有行編譯命令TCC.EXE,其使用方法類似于一般的DOS命令,可以將C程序直接編譯為目標代碼和可執行程序。據此,評分程序可在Visual Basic中借助Shell函數調用TCC命令程序,從而對考生程序進行編譯。通過檢查編譯結果即可執行文件是否生成,可判定考生程序是否正確。可執行文件為.EXE文件,可作為外部程序被其它程序所調用。若可執行文件生成正確,可再通過Shell函數調用可執行文件使考生程序得以運行。

(4)用API函數防止系統崩潰

如果考生程序為一個死循環程序,被 Shell啟動后將使系統陷入崩潰。Windows提供有很多控制應用程序運行的API函數。論文參考。為防止此種情況發生,可利用VisualBasic調用相應的API函數來處理。

(5)通過合理設計關鍵語句,檢驗考生程序的邏輯準確性

對于運行結果不正確,或經過評改仍無法運行的程序及死循環的程序,如何評閱以給出較合理的分數呢?這個問題其實就是要檢驗程序的邏輯合理性。一個可用多種方法編制的程序,由于其功能是確定的,因而其所采用的基本算法應是一致的。如求1至100的和,則不論用哪種循環語句,其基本算法都應是累加求和。考慮在給出的考生源程序中,可事先設定好存放結果的變量,并對程序中其它變量的命名加以適當規定,如循環變量必須使用i、j、k等。經過這樣的設計,使得試題程序中存在有部分確定的關鍵語句。在編程題的題庫文件中,我們可事先存放好正確的關鍵語句,評分時通過查找考生程序中這些關鍵語句的數量,即可給出相應的較合理的分數。

由于本系統主要用于對在校學生C語言基礎應用能力的考核,要求考生編制的源程序均不是很復雜,因此經過上述一系列的評改方法,本系統對考生程序是能夠給出一個較合理的考試分數的。與以往以結果論成敗的評分方法相比,本系統給出的評閱結果將更加接近于人工閱卷的結果。

4 系統設計

(1)功能結構分析

對程序設計題進行自動評卷較為復雜,主要包括兩個方面:一是要檢驗結果的正確性,二是要檢測程序的語法和邏輯是否符合要求。程序設計題閱卷評分系統的功能結構圖如圖1所示。

圖1 程序設計題評分系統功能結構圖

(2)評閱流程設計

經過對C程序結構的透徹分析與研究,對程序設計題的評閱主要采用結果對比、靜態評閱與動態評閱相結合的方法,具體步驟如下:

1)結果對比

檢查指定的結果文件是否存在,若存在則與標準答案文件進行對比。與標準答案文件內容完全相同,則說明結果正確,得滿分,否則轉去靜態評閱。若無結果文件,執行動態評閱。

2)動態評閱

①對考生源程序進行編譯連接,若生成可執行文件成功,則運行考生程序并進行結果檢查,若生成失敗,說明考生程序存在語法錯誤,轉入以下過程繼續處理。

②對考生源程序進行詞法分析。掃描源程序,將其轉化為特定格式的TOKEN串,存入TOKEN文件。

③根據詞法分析的結果,即TOKEN文件,進行語法分析。論文參考。詳細指出程序中存在的語法錯誤,生成錯誤文件,在保證不對考生程序正確部分產生破壞的前提下,盡最大可能將考生程序修改正確,生成修改后的TOKEN文件。

④調用轉換程序將修改后的TOKEN文件重新生成為C語言源程序,其與考生源程序不同名,稱其為新生源程序。

⑤調用TCC程序以命令行方式對新生源程序進行編譯連接。論文參考。

⑥編譯連接成功,運行新生源程序的執行文件,并調用API函數控制程序運行, 以防由于死鎖的發生導致系統崩潰;編譯失敗則退出動態評閱過程,改用靜態評閱。

⑦對新生源程序的運行結果進行檢測,若有結果,則轉去進行結果比較,若無結果則轉去進行靜態評閱。

3)靜態評閱

從程序設計題題庫文件中讀取該試題的關鍵語句,對考生程序進行檢測。根據檢測出的考生程序中的關鍵語句的條數判斷程序的邏輯合理性,給出相應分值。

5 結論

本文提出了一種較新的C語言程序設計題的自動評分方法,對其進行了系統的研究與設計。通過運用編譯原理的理論編寫相應的評改算法,可實現對C語言程序設計題的自動評分,此種方法已經過代碼設計初步實現,經測試,評分結果更加人性化,更加接近于人工閱卷的結果。此種評分方法對于如C++、JAVA等程序的自動評分方法的設計,具有一定的參考價值。

參考文獻:

[1] 段漢周,凌捷,鄭衍衡. Visual Basic程序設計考核自動評閱系統中若干問題的研究. 計算機工程,2001,27(4)

[2] 李丁. 計算機考試系統中自動評分策略的研究與實現.計算機與現代化,2002(9):8

[3]王春霞. 自動閱卷系統的開發. 鹽城工學院學報,2002,15(1)

篇8

C語言是一門長盛不衰的程序設計語言,深受廣大軟件愛好者的喜愛。它功能豐富、表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好,而且有著比較豐富的數據類型、運算符以及函數供以選用,又直接與內存打交道,使修改、編輯其他程序與文檔變得輕松、簡單,因此而廣受業內人士的青睞。在中等職業學校,C語言程序設計作為一門高級語言程序設計課程,是各理工科專業的公共基礎必修課。所以,開展好C語言程序設計的教學工作具有非常重要的理論意義和現實意義。

作為中職學校的C語言程序設計教師,我認為要想讓學生學好這門課程,不僅要通過認真講解課本知識讓他們掌握教材內容,更重要的是通過上機實踐增強和鞏固他們的知識,達到活學活用的教學目標。要讓學生在理論學習和基礎實驗的基礎上,提高他們的實際操作能力,培養他們綜合運用理論知識來分析和解決實際問題的能力、嚴謹的科學態度和良好的程序設計習慣,最終實現由知識向智能的初步轉化。在課堂教學中,要把注重教師的教轉向注重學生的學,要讓學生充分參與、充分體驗、充分感受C語言程序設計,通過自主合作探究和動手動腦實踐操作熟練掌握編程技巧,將課本上的理論知識與動手實踐有機地結合起來,既鍛煉他們分析解決實際問題的能力,又提高他們適應實際、實踐編程的能力。這是在傳統教學中難以實現的,因此突破傳統教學的禁錮和束縛,全面深化課堂教學改革,發揮現代課堂的生機與活力,激發學生的學習熱情和求知欲望已經成為當代教師義不容辭而且迫在眉睫的重任。

二、推進C語言程序設計課堂教學改革的緊迫性

本人任教的重慶工商學校創建于1987年7月,1996年被認定為首批國家級重點中等職業學校,2002年被確定為中國――澳大利亞職教合作項目五所項目學校之一,先后獲得全國職業教育先進單位、全國成人教育先進單位、全國中等職業學校德育工作先進集體等榮譽稱號。經過27年的辦學實踐探索,我校已成為目前中國西部地區規模最大、綜合辦學實力最強的中等職業學校之一。但是,我校的C語言程序設計教學工作還存在一些亟待解決的問題,迫切需要我們一線教師更新觀念、大膽創新,積極推進這門課程的課堂教學改革,點燃學生的學習熱情,提升課堂教學實效。

從教師的角度來說,由于C語言程序設計是各理工科專業的公共基礎必修課。因此涉及這門學科的專業較多,由于不同的專業根據實際情況制定了不同的人才培養方案,導致各專業在C語言程序設計課程上設置的學時數、考試性質等不盡相同,教學大綱也會根據人才培養方案中對該課程的不同安排再進行修訂,這就為我們一線教師增加了教學工作需要不斷變換的難度。為此,我們教師應該堅持學習,努力提高自身的教育教學理論水平,把不同專業的不同學時合理地分配到順序、選擇、循環三大基本結構和數組、指針、函數等教學內容當中去,并通過大膽嘗試和積極摸索,全面推進課堂教學改革,培養學生對C語言程序設計的興趣,激發他們的學習實踐熱情,提升課堂教學實效,讓學生通過這門課程的學習切實掌握技能,全面增強能力。

從學生的角度來說,C語言程序設計課程既不算是文科,也不算是理科,因為文科就算一個論文再長,寫100張紙也總有寫完的時候;理科的數學題再難,只要套上了公式就能得出答案,1就是1,變成2就錯了。但是計算機語言并不是這樣,如果要寫一個程序,你可能2天就做出來了,也有可能兩個月都做不成。再加上這門課程概念繁雜、知識點多、內容枯燥、難度較大且實用性不強,很容易讓學生產生畏難情緒和厭學情緒。而且由于教材對知識的介紹是分散的、循序漸進的,學生在學習過程中接觸到的例題也大都比較簡單,僅為說明某種特定算法而已。與之相反,我們在實際工作中將面臨的問題會復雜得多。另外,C語言提供了大量實用函數和擴展功能,這些往往是學習過程中無法涵蓋的。因此經常會出現這種情況:學生把課本上的知識掌握得滾瓜爛熟,但拿到一個設計卻無從下手,這也會嚴重削弱學生的積極性。針對這種情況,唯有教師改革課堂教學手段,把理論與實踐結合,把知識與能力并重,才能真正提升課堂教學實效,達成這門課程的教學目標。

三、C語言程序設計課堂教學改革的具體舉措

1、改變“滿堂灌”的教學方式,把注重教師的教轉向注重學生的學

課堂上,我們要一改往日“滿堂灌”的授課方式,通過提出問題,引導學生分析問題,讓他們自己去找尋解決問題的方法;然后再給出源代碼,分析源代碼,引出新知識點,對知識點進行講解;最終留給學生一個設計任務,讓他們自主合作探究,通過小組討論、齊心協力共同完成任務,達到鞏固知識點的目的。這樣的授課方式與“滿堂灌”相比,更為形象直觀,而且學生可以主動參與到問題的分析與討論中來,把注重教師的教轉向了注重學生的學,更有利于集中學生的注意力,更有利于發揮學生的主觀能動性,課堂效率也就自然而然提高了。

2、把理論與實踐結合,把知識與能力并重

篇9

課程是知識的載體,是能力形成的著力點,課程建設的好壞,直接關系到人才培養質量的好壞。

1 課程建設的定義

課程是指教育內容的進程,是為實現教育目標而規定的教學科目及其目的、內容、范圍、分量和進程的總和。這是一種廣義的理解,狹義的課程是指一門學科。課程建設指的是為了推進教學進程的實現所包含的“師資隊伍建設、教學內容和質量建設、教學方法和教學手段建設、教學條件建設和教學管理建設”等與之相適應的各種分量的總和。

課程建設是提高教學質量、深化教學改革的一項綜合性的建設,課程建設是確保人才培養質量的最重要的基本建設任務之一,是教學改革的核心。

2 課程建設的內涵、外延及其相關要素的關聯

探索和明確課程建設的內涵、外延及其相關要素的關聯,是課程建設基礎,主要包含以下幾個方面的內容:

(1)師資隊伍建設。它是課程建設的先導,主要內容包括學歷結構、年齡結構、職稱結構和學緣結構以及學術水平、教學水平、教育理論和思想素質等,要建設具有一流水平的課程,首先要有一流的學術水平、豐富的教學經驗、深厚的教育理論功底、扎實的教學技能、嚴謹治學的師資隊伍。

(2)教學內容和質量建設。它是課程建設的核心和主體,也是衡量課程建設質量的主要標準,包括:教學思想的改革與建設,知識內容建設、教學水平建設、教材建設、教學資源建設以及結合專業特點積極開展教學改革與教學研究等內容的建設。

(3)教學方法和教學手段建設。它是實現課程建設目標的主要途徑和基本保證。要緊緊圍繞提高教學質量、提高學生素養和能力,結合專業的特點、教學內容積極開展現代化教學手段、教學方法的研究與建設。

(4)教學條件建設。它是課程建設重要保證,包括:課堂教學的基本設施、實驗、實訓、實習等實踐教學條件的開放性、先進性、教學環境和教學氛圍等建設。

(5)教學管理建設。它是課程建設的組織保證,包括:科學、規范、系統和配套的教學管理規章制度、教學質量評價體系、教學檔案資料和教學激勵機制等內容的建設。

3 我國國家層次課程建設的路徑(近15年)

我國從2003年起開始精品課程建設,先后經歷了“精品課程、精品資源共享課、精品視頻公開課,大學MOOC、微課 ”等過程,加上即將推出的“系列微課”,現在統一稱之為“精品開放課程”,下面簡單的介紹。

3.1 精品課程

精品課程是教育部為推進教育創新,深化教學改革,促進現代信息技術在教學中的應用,共享優質教學資源,在“高等學校教學質量與教學改革工程”中開展的一項工作。這項工作開始于2003年,截止2010年底,教育部組織建設了3909門國家精品課程,主要集中在985和211高校。省級、校級精品課程數量也達2萬多門。

精品課程建設出現,對當時各高校的課程建設,起到了引領作用,對推動教育創新,深化教育改革,起了十分重要的作用。通過幾年的實踐,加上互聯網技術的發展,人們發現,精品課程建設離當初的想法漸行漸遠,暴露了不少問題,主要表現在:

(1)精品課程建設脫離教學實際

精品開放課程建設了不少,其中相當一部分是為申報國家級、省級精品開放課程而應急建設的,沒有充分考慮平臺的服務性和實用性,一些精品開放課程成了學校的品牌裝飾,與教學過程“脫節”。

(2)建成的精品課程不少,但比較零亂,不成體系,名校、名師和“大家”的作品少見。

(3)建成精品課程資源不足,滿足不了學習者的需求,后期維護跟不上,資源的再開發、再利用嚴重滯后。

(4)課程建設的目標不正確,重申報輕可持續發展現象嚴重。

很長一段時間,我國精品課程大多為立項而建,建設周期短,一次建設即告完畢,許多課程長期缺乏維護,資源內容陳舊,難以成為優質資源。因此,對已經建成的精品開放課程要定期檢查、評估和反饋后續建設情況。只有持續改進課程資源,才能保證精品開放課程資源的質量和時效性,才能減少“重申報輕可持續發展”的現象,從而切實提高精品開放課程的質量。

針對以上問題,教育部【教高廳〔2012〕】2號發文強調:在“十二五”期間,教育部將在原國家精品課程建設成果基礎上,科學規劃,合理布局,優化結構,通過高等學校本科教學質量與教學改革工程,支持建設5000門國家級精品資源共享課。其中,2012年和2013年重點開展原國家精品課程轉型升級為國家級精品資源共享課的建設,采取遴選準入方式選拔課程;同時,從2013年起,適應新需求,結合高等教育發展趨勢和教學改革成果,采取招標建設和遴選準入兩種方式建設一批新的課程。

3.2 精品資源共享課

資源共享課除了要提供全部教學單元的錄像外,突出基本資源共享。

包括課程介紹、教學大綱、教學日歷、教案或演示文稿、重點難點指導、作業、參考資料目錄和課程全程教學錄像等反映教學活動必需的資源。

精品課程和精品資源共享課由于專業性強,主要的受眾群體是高校教師和在校大學生,受眾群體狹窄。

3.3 精品視頻公開課

精品視頻公開課是以教師授課錄像為展示內容的一種開放教育,每門課程總講數應至少5講,每講時長30~50分鐘。有科學文化素養教育類和專業導論類兩種類型,其中科學文化素養類推薦單位為部屬院校或者教育主管部門,專業導論類的推薦單位為本學科國家級教學指導委員會。

3.4 微課

微課是指按照課程與教學實踐的要求,以視頻為主要載體,記錄教師在課堂內外教育教學過程中圍繞某個知識點或者某幾個知識點(重點、難點和疑點)或教學環節而開展教與學的全過程

它最早是由美國新墨西哥州圣胡安學院的高級教學設計師、學院在線服務經理戴維?彭羅斯(David Penrose)于2008年秋首創的。后來,戴維?彭羅斯被人們戲稱為“一分鐘教授”(the One Minute Professor)。

4 我校課程建設的基本做法

學校開設這門課程源于上個世紀90年代,受當時的條件限制,教學大綱、教學方法和教材均參照本科院校,培養出來的人不能滿足市場對人才質量的要求。隨著職業教育的浪潮的到來,受理論講解力求體現“必須,夠用為度”的影響,學校把人才培養的落腳點綁定在市場急需的應用型人才培養的目標上。先后申報學校《IT 藍領系列專業辦學方向探索建設》、《IT 藍領軟件人才的素質培養》、《計算機類學生實踐技能培養模塊的構建及應用》、《應用型大學課程的樣板建設研究――以為例》等教學研究項目,通過深入企業、事業單位調研,了解市場對計算機類人才的具體需求,形成了計算機類各個層面的培養模塊,并將能力培養模塊落實到具體的課堂教學和實踐環節之中,《C語言程序設計》課題組率先完成了應用型大學的課程教學大綱、上機實訓大綱、自編了上機實訓手冊等一些齊備的課堂教學資料編寫工作。2007年3月在中國水利水電出版社出版了《C語言程序設計》教材。

4.1 明確課程建設的基本思路

2007年年初,我校升格為本科院校并招收計算機科學與技術專業本科生,自此《C語言程序設計》和其他課程一樣面臨著從專科層次向本科層次轉型的問題。本著突出應用特性,課題組理清的《C語言程序設計》課程建設的思路是:

(1)高職高專階段課程建設的成果、資料、經驗和團隊協作精神不能丟,在搞清楚《C 語言程序設計》(本科)的規格和內涵之后,將相應的積累和經驗移植到本科課程建設之中,提高建設速度和質量。

(2)圍繞學校創辦“應用型大學”的戰略目標,將“培養應用型人才,建設雙師型、社會型教學團隊”的理念融入到課程建設之中。

(3)打造精品開放課程。有步驟,分層次將《C 語言程序設計》打造成校級、省級、國家級精品開放課程。

(4)建設優秀的教學資源,滿足廣大師生自主學習的需要。到2020年末,所有的教學資源(包括精品課程網站、精品視頻公開課網站、微課等)全部上線,做好跟進維護工作,讓優質資源發揮應用的作用。繼續完善《C語言程序設計》及其配套教材修訂工作,力爭把教材做成應用型的精品,完成《C 語言程序設計》系列微課的錄制。

(5)加強團隊建設,打造梯度結構的“雙師型”教師隊伍,發揮教學名師,學科帶頭人的 “引領、傳承、創新、共享”作用,促進課程建設質量的提升,爭取有一批優秀的教師脫穎而出,爭創學校和省級的教學名師。

4.2 對課程建設的教學定位

《C語言程序設計》是計算機語言類教學中第一門系統地講授程序設計的課程,通過該課程的學習,使學生了解程序設計語言的基本語法、基本結構,理解計算機科學求解實際問題的基本過程,掌握程序設計的基本思想、方法和技巧,了解計算機的一般算法,養成良好的程序設計風格,培養利用計算機求解問題的能力。

學生通過該課程的學習,應該在知識與能力方面達到以下基本要求。

(1)基礎知識要求

通過該課程的學習,學生深入了解計算機的基本工作原理,掌握程序設計語言的基本語法、數據表達形式和流程控制的方式。理解模塊化程序化的基本思想,掌握程序設計的基本方法和流程。

(2)能力培養要求

重點培養學生讀程序、寫程序和調試程序的能力,突出實際編程能力的訓練。學生應該掌握基本的分析問題和數據表達的能力,以及算法描述與基本算法實現的能力;掌握面向過程的程序設計方法;掌握集成化程序開發環境的使用和程序的調試方法;初步具有利用程序設計技術求解實際問題的技巧與方法。

4.3 研究制定了我校《C 語言程序設計》課程建設的實施方案

按照行業的崗位需求進行“理論教學內容的設計”,“實踐教學內容的設計”,“課程設計”。 “理論教學內容的設計”和“實踐教學內容的設計”都是以知識點為單位進行設計的。

(1)理論教學的知識點分布及能力基本要求(以“結構控制”知識點為例)

[知識單元 教學內容 教學要求 教學目標 重點和難點 常用的結構控制 用讀/寫及賦值實現順序結構的程序 掌握 熟練第掌握C 語言的各種語句的使用,熟練輸入/輸出等庫函數的調用;正確選擇使用相應的流程控制語句實現三種基本結構的程序設計;掌握幾種重要的算法(求和、統計、求數列等)的算法思想及其實現;了解幾種常用算法的思想 重點: 三種基本控制的實現,各種流程控制語句的正確使用

難點: 多分支、循環嵌套、分支和循環結構的嵌套,常用的算法設計與實現 用if、switch語句實現分支結構的程序 掌握 分支結構的嵌套 掌握 用while、do-while

、for實現循環結構的設計 掌握 循環嵌套的控制與執行 掌握 break、continue語句的使用 掌握 分支和循環結構嵌套的特點和應用 掌握 一些常用算法設計思想,部分算法的實現 理解 ]

(2)實驗實踐教學設計

本課程實踐教學的指導思想是:首先通過教師案例講解、編程演示使學生對程序設計有一定的感性認識;然后通過設計由淺入深的實驗項目,使學生通過理解程序、模仿程序、改寫程序到編寫程序的實踐訓練,逐步強化學生熟練掌握程序設計的基本方法;加強學生的實際編程能力、動手操作能力和團隊協作能力。

實踐教學分為“演示實驗”和“知識單元實驗”兩個部分。知識單元的實驗有驗證性和設計性兩大類,前者是理解和鞏固理論課所學知識的,后者意在培養學生運用課程知識獨立進行問題求解、程序設計的能力。下表給出了“分支結構”知識單元的實驗方案。

實驗教學中課程實驗方案(以“分支結構”為例)

[實驗序號 實驗內容 實驗目標 建議實驗項目 3 分支結構 掌握分支、多分支結構程序設計的辦法;

掌握排除語法錯誤的基本技能 案例:超速判斷、出租車計價,成績轉換,納稅問題

項目:比較大小,分段計算居民水費、計算天數、簡單計算器、出租車計費系統 ]

(3)課程設計

課程設計的主要目的是通過大型程序訓練,培養學生研究性學習、綜合應用能力、復雜程序的調試能力,要讓學生深刻體會程序設計的全過程,初步體驗軟件工程方法,培養學生軟件文檔的寫作能力。加強團隊工作中的個人責任,培養學生團隊協作精神。

課程設計示例:

作物產量統計系統

問題描述:輸入某村各戶各類農作物的產量,以便統計全村各種農作物的總產量以及向畝產較低的農戶提供參考數據。作物產量統計系統中每條記錄包括各戶村民的編號、戶名、種植作物種類、畝數、產量等信息,主要實現作物產量等信息的輸入、打印、查找、排序、統計等基本管理功能。

基本功能:

輸入n戶村民及其種植作物的基本信息,并將輸入的數據存入文件。

統計全村各類作物的總產量,并將結果寫入文件。

計算各戶各種農作物的畝產量,輸出計算結果。

按由小到大的順序對全村各類農作物的畝產量進行排序,將排序的結果寫入文件。

按戶查找指定村民的作物信息。

設計要求:

在輸入村民及其作物種類等基本信息時,要求輸入完一戶村民的所有種植作物及其產量等信息后再輸入另一戶村民的基本信息。

5 我校在《C 語言程序設計》課程建設中取得的成績

教學工作是學校的中心工作,“加強課程建設,夯實發展基礎”是學校內涵建設的理念,自2010年以來,《C 語言程序設計》課程建設取得了如下成績。

(1)微課《冒泡法排序》和《漢諾塔與遞歸算法》2015年參加 “第二屆全國高校微課教學(本科)比賽” 分別湖北賽區“一等獎”和“二等獎”,《數組元素的冒泡法排序和選擇法排序》參加全國決賽獲得“優秀獎”。

(2)教學研究項目《基層應用型大學課程建設探索與研究(教材)》參加2013年“湖北省第七屆教學成果獎”的評選,湖北省人民政府授予“三等獎”。

(3)課程《生活中的C程序設計》被湖北省教育廳評定為“2014年度精品視頻公開課”。課程《C語言程序設計》2011年被湖北省教育廳評定為本科層次的“精品課程”。

(4)教材《C語言程序設計》2010年被教育部“教指委”評定為“優秀教材”。《C語言程序設計》(第二版)被中國電子教育學會評定為2012全國電子信息類(研究生、本科教育)“優秀教材”。

(5)編輯出版《C 語言程序設計》、《C 語言程序設計上機指導與習題解答》3個版次共6本教材,發表與《C語言程序設計》課程內容有關的教學論文7篇。

(6)指導的學生從2012年起參加第三屆至第六屆全國“藍橋杯”軟件專業人才設計與創業大賽(C/C++類),多人次獲獎。

(7) 將《C語言程序設計》按照知識點重組錄制成“系列微課”共65講,時長1350分鐘,該項目是目前國內第一門將專業知識碎片化重組后以“微課”形式進行展示的課程,我們堅信,只要進入該課程的學習者,一定會有所獲。

6 對課程建設的幾點思考

(1)課程建設必須遵循高等教育規律

課程是知識的載體,課程教學是為落實人才培養方案服務的,起著強基固本的作用。高等教育有別于基礎教育,有他特點和規律,只有營造寬松、和諧的教學環境,為多樣性、個性化、有思想的教學科研人員提供條件;排除“不確定性、非物理性、外部性”的干擾,才是還原“學校教育質樸真實的面目”的,凡是“追求短期內量化、有形的物理績效”都是嚴重違背高等教育發展規律。

(2)對教學工作的重視程度決定了“課程建設”質量的好壞

近10年來,各級教育主管部門和各高校都把“加強專業建設、學科建設,加強課程建設”作為“本科質量工程”的重要內容。由于各校理解上的差異,對待教學工作的重視程度也參差不齊,導致在課程建設的效果和結果上不盡相同,近10年來,全國各級教育主管部門和各高校共建設精品開放課程不少于二萬門,建成的這些課程比較零散,成體系的不多,特別是名師,名校、“大家”的作品甚少,如果把各名校、名師、“大家”的積極性調動起來,用他們的眼光,用他們的智慧來打造優秀的教育資源,對于教育均衡、信息共享一定會起到事半功倍的作用。

(3)組建教學團隊、發揮名師的作用,是做好“課程建設”基本保證

當今社會是一個多元化的社會,靠一個人的單打獨斗,是無法建功立業的,所以課程建設需要一個團隊的協作才能做好,課程建設的結果一定是一個團隊集體智慧的結晶。盡管課程建設的周期長,也有可能長時間出不了成果,還是需要一批愿意奉獻的人來完成。所以,就要發揮團隊的作用,發揮教學名師,學科帶頭人的 “引領、傳承、創新、共享”作用,促進課程建設質量的提升。

(4)加強“教學設計”,是目前環境下提高教學質量的重要環節

“教學設計”涉及很多方面,包括課程的基本描述,課程的教學背景,教學目標、重點、難點的擬定,重難點突破的方法,教學手段的確定,教學時間的分配等, 在目前環境下,實現教學的輔助手段很多,無論采取什么樣的輔助手段,都要根據課程的性質、學生的認知基礎和學習特點、授課內容等進行教學設計,只有充分的“教學設計”,才能保證教學質量的提高。

8 結束語

高等教育的根本問題是人才培養的問題,根據國務院《統籌推進世界一流大學和一流學科建設總體方案》要求,建設高校強國,到2020年底推進一批學校進入世界一流行列,若干學科進入世界一流學科行列,只有遵循高等教育規律,認真開展專業建設、學科建設,扎實推進課程建設,努力打造人才培養特色,充分開發優質資源,才能使“雙一流”建設方案得以實現。

參考文獻:

[1] 高等學校計算機基礎核心課程教學實施方案[M].教育部高等學校計算機基礎課程教學指導委員會,高等教育出版社, 2010.

[2] 李金萍.新建地方本科院校課程建設理論探討與有效實踐[J].科學決策,2008(10):83-84.

篇10

程序設計能力是計算機專業學生必備的一項基本技能。程序設計能力培養不僅包含技能培養,還包含學生分析問題、解決問題以及創新能力的培養。為此,各高校從大一開始就開設了高級語言程序設計課程以及后續一系列課程,以提高學生的程序設計能力。然而,即使各高校設置了豐富的程序設計能力培養課程,學生的程序設計水平也沒有得到大幅度提高。

當前軟件企業招不到合適的人才,計算機專業學生找不到工作,這種局面的形成歸因于學生的程序設計能力并未達到軟件企業預期的要求。調查表明,企業新招聘員工中只有15%直接來自高校畢業生,而85%來自社會招聘,因為社會招聘人員動手能力強,入職后能很快適應工作崗位。程序設計能力層次見表1,從表1可以看出,要勝任企業軟件開發工作,至少需要100000行代碼量;對于本科畢業生,至少需要有10000行代碼量,而目前計算機專業大多數學生本科4年的代碼量均在1000行,有的甚至更低。

1)程序設計類課程依然重教學,輕實踐。理論教學依然是程序設計類課程的重點,理論學時多,實踐學時少。教師花費大量時間進行語法、數據結構概念、算法理論講解,因此也使得有針對性的實踐太少,基于相關知識和理論的案例教學不足,學生很難將所學知識點和理論用于解決實際問題。

2)實踐環節枯燥,學生無法提高學習積極性。

在傳統程序設計實踐教學中,教師布置3~6道作業題,學生當堂完成,然后將代碼以及運行結果截圖打包上傳到服務器,教師一一評閱。教師給出的習題往往直接針對課堂教學的知識點,無任何實際背景或故事情節,實驗枯燥乏味,學生學習積極性無法提高。

3)學生多,教師少,教師無法逐個解答學生的問題。

在大學不斷擴招的情形下,師生比進一步擴大。實踐教學過程中,教師無法一一發現和解答每個學生的問題。學生將作業代碼和運行結果截圖通過FTP上傳至服務器,教師查看運行結果,由于學生多,教師無法逐個查看和運行學生代碼,疲于應付,因而導致實踐效果差。

4)實踐能力評價方法單一。

目前的課程考核多采用筆試,學生的實踐能力只能通過平時作業和實驗進行主觀性評價,難以激發學生自主訓練實踐能力的激情。在這樣的教學模式下,久而久之學生就失去了編程興趣,同時也降低了后續程序設計類課程的學習積極性,以致形成惡性循環,學生代碼閱讀量、代碼編寫量均得不到保證,程序設計能力自然無法提高。

為了提專業提供論文寫作、寫作論文的服務,歡迎光臨dylw.net高學生的程序設計能力,文獻[1]提出一種貫穿在系列課程中的程序設計能力培養方法,強調在一系列課程中持續不斷地進行系統化訓練,采用面向專業應用的分類教學,貫徹落實案例驅動、強化實訓等教學方法。文獻[2]初步將ACM模式應用到程序設計類課程實踐教學中,使學生的編程能力和解題思維能力得到有效訓練,教學效果顯著提高。文獻[3]也提出采用ACM競賽形式的程序設計能力層次化培養模式。這些方法都是提高學生程序設計能力的有益嘗試。

2 立體化程序設計能力培養模式

針對目前程序設計能力培養方面依然存在的一些突出問題,我們借鑒國內外一流大學的經驗,與學校、學院教學部門配合,探索并建立立體化程序設計能力培養方法。立體化程序設計能力培養方法如圖1所示。

1)培養方法和過程。

在立體化程序設計能力培養方法中,教學活動仍然分為理論知識講授與編程實踐,但理論課不再以單純介紹語法知識為主,而是以具體的程序案例分析為主,讓學生從案例中掌握語法。在實踐教學環節中,教師設計若干有趣的問題,學生在解決問題過程中學會相關的語法知識與編程技巧。學生編寫的程序代碼全部通過安徽大學程序自動評判系統進行評判,學生只需在規定時間內完成,不再局限在實踐課堂內完成,令學生有了足夠多的思考和動手編程時間。對于學生在編程過程中出現的各種問題,教師和ACM/ICPC隊員及時進行在線細致輔導。在每次作業結束后,系統公布所有學生的解題代碼,以供所有學生在線查看和評價。獲得優秀評價的代碼將在系統上公布,以便學生有機會進一步學習優秀代碼,增加代碼閱讀量。

2)立體化程序設計能力培養特點。

(1)以高級語言程序設計課程為依托。高級語言程序設計課程是學生接觸的第一門程序設計類課程,其教學與實踐對培養學生的編程興趣和能力起著至關重要的作用,可以幫助學生樹立自信心并步入程序設計的殿堂。

(2)課堂教學以案例為中心。程序設計=算法+數據結構。在高級語言程序設計課程的教學過程中,我們摒棄單純講授語法的課堂教學方法,改之以程序案例為中心。在課程早期,案例以語法知識為主,逐步增加基本數據結構和算法。整個教學過程以案例分析為中心進行語法教學,讓學生在潛移默化中學習到基本的數據結構和算法。

(3)實踐教學以問題求解為中心。在實踐環節,教師通過設置有趣的故事和實際的問題,幫助學生在求解問題過程中掌握課堂上所學的語法知識、基本數據結構和算法。

(4)實踐環節從課內延伸至課外。實踐環節要求學生完成指定的編程題目。與傳統實踐環節不同,通過在線程序自動評判平臺,學生所有的編程作業只需在教師規定的時間段內提交,學生既可以在實踐課上完成,又可以利用課外時間完成課堂內沒有完成的作業。將實踐課延伸到課外的優點表現在:①學生有足夠的時間思考分析問題并最終通過編程解決問題;②實踐題目數量適當增加,學生的代碼量隨之增加 ,充分的課外實專業提供論文寫作、寫作論文的服務,歡迎光臨dylw.net踐可以進一步鞏固學生的理論知識基礎。

(5)經驗豐富的ACM/ICPC隊員參與程序設計實踐環節輔導。ACM/ICPC隊員經過長期的編程實踐,積累了豐富的編程經驗,代碼能力強,因此我們利用ACM/ICPC集訓隊的優勢資源,實行“傳幫帶”機制,對于每個學生編程過程中出現的問題及時給予解答,有效提高學生的編程積極性。集訓隊學生優秀的編程水平對于低年級學生也是一種激勵,可以進一步激發其編程熱情,增加其向更高編程水平邁進的動力。

(6)學生作業采用自動化評判模式。學生提交的作業通過服務器自動評判給出程序的運行結果。自動評判模式對于編譯錯誤,會直接給出編譯出錯位置和出錯類型,方便學生自查;對于運行錯誤,包括結果錯誤和運行超時,則需要學生重新審查程序代碼。服務器自動評判能夠有效減輕教師批改作業壓力,還可以大大提高實踐教學效果。此外,服務器上保留了每個學生的做題細節,包括以往的代碼、做題的數量、錯誤類型等信息,可以進一步增強學生做題的成就感和積極性。值得一提的是該自動評判平臺不僅支持高級語言程序設計,還支持C++、Java、VB和Pascal語言,因而吸引了省內一些初中、高中學生進入該平臺進行程序設計能力實踐。

(7)優秀代碼展示有助于增加學生代碼閱讀量。學生代碼量包括代碼編寫量和代碼閱讀量。代碼閱讀量是提高編程能力的一種重要途徑,然而在實際教學過程中常常被忽視,通過教師評閱、學生互評等方式,可以篩選出優秀代碼并加以展示。優秀代碼主要指具有巧妙的算法、運行時間短、內存占用空間少、代碼格式規整、符合標準編程風格的程序代碼。展示優秀代碼可以讓學生有機會看到彼此對于同一道題目的多種解決方案,有效促進學生之間的交流,積極提高學生的代碼閱讀量。這種相互的交流還可以進一步激發學生的創新靈感,在提高學生編程能力的同時也提高創新能力。

與傳統專業提供論文寫作、寫作論文的服務,歡迎光臨dylw.net程序設計能力培養主要依靠“教師一學生”這種二維扁平的實踐教學模式不同,立體化程序設計能力培養方法以案例教學為中心進行教學,以問題驅動為中心進行編程實踐,采用機器自動評判和學生互評相結合的方式進行學生編程實踐效果評價,在教師—ACM隊員—學生之間建立一個跨越時間和空間的三維立體互動教學網絡。這種教學方法將課內實踐延伸至課外,將實驗室實踐延伸到實驗室外,對學生的程序設計能力進行主客觀相結合的綜合評價與即時反饋。

3 實施成效

通過一系列的研究與設計,我們構建了立體化的程序設計能力培養模式,在安徽大學自主研發的自動評判系統基礎上增加了高級語言程序設計實踐模塊。自2008年以來,學生通過該自動評判平臺進行程序設計實踐呈逐年增多趨勢,多名學生參加了ACM/ICPC程序設計競賽以及省級程序設計競賽,獲得各類獎勵10余項,其中亞洲區邀請賽金獎2項、省級競賽一等獎4項。實施該培養方法后,學生進行自主程序設計訓練的積極性明顯提高,目前在校生中程序代碼量已經達到10000行的有200人左右,部分畢業學生直接進入騰訊、百度等企業工作,用人單位也對畢業生的編程能力普遍表示滿意。安徽大學計算機專業學生2008—2012年提交代碼量如圖2所示。

該培養方法不僅提高了學生的程序設計能力,而且培養了學生的創新精神和可持續發展能力,還吸引了許多非計算機專業學生學習程序設計技術。近年來,陸續有電子學院、自動化學院、數學學院、化學化工學院、資源與環境工程學院和物理學院的學生參與到程序設計實踐中,并且取得了不錯的學習效果。例如,安徽專業提供論文寫作、寫作論文的服務,歡迎光臨dylw.net大學物理學院一名學生經過該平臺實踐后,積極參與ACM/ICPC程序設計競賽,獲得2010年ACM/ICPC亞洲區競賽銅獎并于2012年成功考取復旦大學計算機專業研究生。

4 結語

強調師生互動、實踐反饋、學生互動足立體化程序設計能力培養方法的關鍵,而利用案例教學與趣味實踐是重要途徑。實踐證明,立體化程序設計能力培養方法在提高學生編程水平和算法能力方面具有較大優勢,取得了顯著成效。今后我們將進一步注重教師與學生互動,探索更多的師生之間、學生之間互動手段,不斷提高學生編程素養和創新水平。

篇11

1.C在單片機教學中的地位

C語言作為一種結構化的程序設計語言,它是程序開發工具中使用最廣泛一門編程語言。C語言具有很強的功能性、結構性、可移植性。用C語言編寫程序比匯編更符合人們的思考習慣,程序開發者可以擺脫與硬件不必要的接觸,更專心地考慮程序的功能和算法而不是考慮一些細節問題,這樣就減少了開發和調試的時間。由于它具有良好的程序結構,適用于模塊化程序設計,因此采用C語言設計單片機應用系統程序時,采用結構化的、自頂向下、逐步求精的程序設計方法,將功能模塊化,由不同的模塊完成不同的功能。這樣可使整個應用系統程序結構清晰,易于調試和維護。

2.單片機教學現狀

單片機技術是現代電子工程領域一門飛速發展的技術,是現代電子技術中的一項不可缺少的重要技術。隨著技術的不斷進步和日益普及,單片機技術已滲透到各個領域,影響著我們的日常生活和工作。因此電子技術及相關專業的學生學習單片機技術越來越成為社會發展的需求。當前,各大高校的電子、計算機類專業均開設單片機課程。

《單片機》是我院電子系一門實踐性極強的專業主干課程,是我校電子系重點建設課程之一,是本專業學生的必修課程。為了提高我系單片機教學效果,我們對單片機教學進行了大膽改革,使用C語言開發單片機,且課程的設計打破了學科體系的框架,將單片機和C語言的相關知識和技能按“項目”進行整合,并將《C程序設計》課程列為電子類專業核心基礎課程之一。因此,《C程序設計》課程教學效果的好壞,將直接影響學生后續專業課程的學習。

從近幾年我系《C程序設計》課程的教學效果來看,學生普遍反映該課程的學習比較困難,課程的語法知識較多,理解和記憶都不太容易,即使記住了語法知識也不能靈活應用;不知道學習C語言究竟有何用處,學完C后不能很好地利用C進行單片機小型系統的開發,缺乏知識的靈活應用能力。因此,根據以往單片機教學所得經驗,我覺得教師有必要在《C程序設計》課程的教學過程中在以下幾個方面引起足夠的重視,并在教學中加以改進,為后續單片機課程的學習打下堅實的基礎。

3.《C程序設計》課程教學方法探索

3.1上好每堂課,激發學生的學習興趣

語言程序設計教學被認為是一種需要師生雙方改進的一門課程,因為大多數語言教材中通常先給出一般的語法格式,然后逐步講解語法要點,再給出實例。這種順序灌輸會使學生失去學習的興趣,所以我認為在課堂教學環節應采取以學生為主體、以教師為主導的教學模式,要求學生自己先看有關知識點,并識記。教師采取精講實例,在這過程中引出相關知識點,然后再舉一類似實例讓學生自己分析,鞏固知識點。教師應把主要精力放在算法的分析和各語句語法的具體應用上,同時培養學生自學能力,采取互動機制,迫使學生主動學習。

3.2注重演示,強化實驗,提高實踐操作能力

因為授課對象是一年級新生,所以教師多用通俗易懂的語言進行講解,多舉實例,使學生容易理解和消化。在教學過程中,盡量采用講解、演示方法,如在講解經典算法后,按照理論方法所述,用DEV C++軟件進行編程演示,從而加深學生對教學內容的理解。

在教學過程中,教師應將理論知識與實驗內容進行整合,根據教學內容并結合實際應用設置實驗題目,讓每個學生獨立完成。遇到學生不能解決的問題,教師應利用多媒體進行演示解決問題的過程,從而加深學生對教學內容的理解并提高實踐操作能力。  3.3培養良好的編程風格

3.3.1優化程序

由于在許多工業測控領域中的嵌入式系統都采用單片機開發,它們所需要的計算和控制工作日趨復雜,其中軟件的設計是最復雜和困難的,工作量大,特別是對于控制系統,設計人員需要考慮單片機的軟硬件資源分配,但是單片機系統是一種資源十分有限的系統。這主要表現在CPU和片內結構簡單、程序存儲器資源的不足。因此在用C語言進行單片機開發時,如何使用好這些有限的資源就顯得十分重要。雖然C語言具有許多的優點,但是生成的代碼相對要長,基本多占用存儲空間20%—50%。因而,在“C程序設計”課程教學中,教師不僅要教會學生如何編寫程序,而且應在教學過程中向學生灌輸優化代碼的思想,讓學生從大一開始就有開發項目的一些經驗。

3.3.2合理選用數據類型

C語言在程序開發中提供了的豐富的數據類型,尤其是關于用戶界面開發和一些動畫與圖像技術的實現。但是在開發單片機系統時,我們要按照實際需要,合理地選用數據類型。C語言中有Char等少數的數據類型是機器語言直接支持的數據類型,用此類數據類型的語句所生成的代碼較短,而其它的數據類型如整型、浮點型等數據要有一定的內部程序或內部函數的支持,相對來說較復雜的數據類型的語句生成的代碼也復雜,不利于轉化成單片機的代碼。因此,在“C程序設計“教學過程中,要向學生適當說明選擇合適數據類型的好處,并盡可能地減少程序中使用的數據類型的種類,為以后學生的單片機學習打好基礎。

3.3.3灌輸模塊化程序設計思想

在普通微型計算機上進行C語言程序開發設計時,只需考慮程序功能實現,而不必考慮程序代碼的長短。但是在單片機上進行C語言程序設計就必須考慮系統的硬件資源,要求設計的軟件程序結構是合理、緊湊和高效的。同一任務,有時用主程序完成是合理的,但有時需子程序效率最高,占用資源最少;有時并不是程序的算法越簡單、長度越短越好,由于有一些算法要調用一些內部的子程序和函數,生成的機器代碼質量反而較低。不同的算法對程序代碼效率影響很大。因此,在進行“C程序設計”教學時,教師應適當向學生灌輸模塊化程序設計的思想,在不影響程序功能實現的情況下可以采用一些優化算法,并且把程序分成若干個功能獨立的模塊,為學生今后的單片機項目開發做好鋪墊。

4.結語

單片機系統采用C語言開發與設計,極大地促進了單片機在生產、生活各個領域的應用,提高了程序開發效率。因而,C語言學習效果的好壞,對今后單片機課程的學習具有深遠的影響。除了講解C語言的基本語法外,更重要的是改善教學方法,利用各種方法培養學生的學習興趣,并向學生灌輸良好的編程風格與編程方法,為今后的單片機課程的學習打下良好的基礎。

參考文獻

[1]向艷.“C程序設計”課程教學體系和模式探討[J].計算機教育,2010,(3):112-114.

[2]董蘊寶,潘旭君.淺談C語言在單片機中的程序設計[J].科技信息,2009,(13):59-67.

[3]張洪靜.電類專業C語言教學探討[J].電腦知識與技術,2010,(29):8280-8281.

篇12

在21世紀這個信息高速發達、高速流通的時代,計算機的普及以及計算機網絡的廣泛應用,讓普通人能夠接觸到比以往更多的知識。面對信息時代的信息量大“爆炸”現象,怎樣才能使教育事業跟上時代的步伐,而不至于被時代拋在后面?很多教育工作者都在思考這個問題“如何把教育資源移植到網絡上面去,使更多的人可以分享這些資源”。

精品資源共享課程建設是國家精品開放課程建設項目的組成部分,旨在促進教育教學觀念的轉變,引領教學內容和教學方法改革,推動學校優質課程教學資源通過現代信息技術手段共建共享。

隨著信息技術和網絡技術的飛速發展,教育信息化和網絡化與會成為必然的趨勢。網絡的開放性和分布性的特點以及基于互聯網的巨大計算能力使得教學管理突破了時間和空間的限制。基于網絡技術的教育系統已成為人們的研究熱點之一,其中精品資源共享課程建設也已成為互聯網的重要應用之一,所以說精品資源共享課程建設與研究具有重要的理論意義與現實意義。

二、現狀分析

1.我國精品資源共享課程的發展現狀

在國際知名大學開放課程運動蓬勃發展、全世界對高等教育質量日益關注的背景下,我國教育部也提出了推進文化傳承創新,全面提高高等教育質量的要求。“十二五”期間,教育部、財政部實施的“高等學校本科教學質量與教學改革工程”中將支持建設5000門精品資源共享課。

截至2012年8月,我國共了75門精品課程,涵蓋文化藝術、哲學歷史、基礎科學等六大領域,主講教師不乏國內高校的名家大師,其中相當一部分課程受到了學習者的追捧,如北京師范大學于丹教授的“千古明月”課程。同時某些課程下方的參與評論的訪問者的數量已超過千人,評論不僅有網民對課程的充分肯定,也有對國內大學向社會公眾開放更多教育資源的殷切期盼。由此可見,我國的精品資源共享課建設已初步取得了良好的反響,同時也推動了我國高等教育開放事業的發展,在一定程度上提升了高校學生及大眾的科學文化素養。

然而,與國外名校公開課相比,我國公開課在國內網民中受追捧程度還存在差距。網易作為國內免費向公眾經過翻譯的國外名校公開課先驅,在國內網民中具有一定影響力。目前,網易不僅將國內公開課收錄在線,同時對國外公開課也在不斷進行更新翻譯,集國內外優質教育于一身,真正做到了百花齊放、百家爭鳴。然而通過網民對公開課的選擇趨勢中可以看出,目前最熱門的課程仍是國外名校的課程。由此可知我國的公開課要趕上或超過國外名校的公開課,我們不僅要加快建設,更要發現我們在發展中存在的不足并及時修正,為我國精品資源共享課的可持續發展打下良好的基礎。

2.我國精品資源共享課程的發展趨勢

隨著網絡精品課程網站的建設與不斷研究、不斷深入,其發展趨主要有以下幾種:

從研究的廣度上,可以發現研究范圍由開始的集中網絡精品課程設計的研究擴展到設計、開發、管理、應用、評價等各個領域,研究覆蓋面不斷擴大。研究的重心也發生了變化,對于網絡精品視頻公開課的構思受到了廣泛的重視,在創造了大量精品課程資源之后,如何實現資源共享、如何實現資源的充分利用、如何對資源進行評價,怎樣消除一個個信息孤島等問題備受人們的關注。因此,教育技術核心期刊中很多論文也都是針對這一問題進行構思。

三、項目實施目標

1.實現精品課程教學資源共享的目標

精品資源共享課是以教師和學生為服務的主體,同時面向社會學習者的基礎課與專業課等各類網絡共享課程。精品視頻公開課,以學科為基礎,放眼社會,面向本院各系部各專業學生。通過資源共享系統向全院師生提供優質教育資源服務,促進現代化信息技術在教學中的應用,實現優質課程教學資源共享的目標。

2.實現教育的持續、健康、協調發展的目標

精品資源共享課程建設是國家精品開放課程建設項目的組成部分,同時也是我院教學改革的重要組成部分,通過精品資源共享課程項目的實現,可以促進教育教學觀念轉變,引領教學內容與方法的改革,推動我院優質課程教學資源通過現代化信息技術手段共建共享,提高人才培養質量,實現教育的持續、健康、協調發展的目標。

四、項目申請理由

本項目申請的理由主要從理論行性與實踐可行性兩方面來說明

1.理論可行性

(1)C語言精品資源共享課網站的建設符合一流應用型大學的指導思想,網站的重點為優質精品課程教學資源共享,符合國家教學改革的精神。符合信息管理系及信息管理與信息系統專業人才的培養目標。

(2)項目團隊成員系信息管理系學生,都學習過C語言程序設計、與網頁制作、數據庫技術與應用等專業基礎與專業核心課程,并在學習的過程中都具備較好的理論素質與較強的實踐經驗。

2.實踐的可行性

本教學改革課題由3人組成的團隊協作完成。團隊的成員在項目開發前期曾多次與從事C語言程序設計課程的教學任務,并對該項目所涉及到的基本資源與拓展資源的建設具較豐富的教學經驗與閱歷的教師進行過多次探討與研究。同時該項目組成員中的3位同學對網頁設計與網站建設具有較強的實踐經驗。所以說本項目具有實踐可行性。

五、項目實施方案

1.項目的實施計劃

《C語言程序設計》精品資源共享課程網站建設所涉及到的計劃內容主要體現以下幾方面:

(1)教學大綱

教學大綱是規定課程教學內容,包括課程的教學目的、教學任務、教學內容的結構、模塊或單元教學目標與任務、教學活動以及教學方法的主要依據。所以在本項目中對教學大綱的研究是首要考慮的內容。并結合我院應用型本科人才培養方案的要求來制定適合我院學生的教學大綱。

(2)演示文稿

演示文稿是學生通過網絡共享資源進行自主學習的主要方式,同時演示文稿也可以作為正在學習《C語言程序設計》課程學生的一種參考學習資料。所以本項目中要C語言程序設計精品課程的演示文稿要做詳細與完善的設計。

(3)教學錄像

教學錄像是實現網絡授課最直觀、最直接的教學方式,所以在本項目中教學錄像是一個重要環節。計劃本網站可以提供全面、高清的教學錄像。

(4)教學案例與例題

本項目擬定增加一定數量具有典型意義,能夠說明C語言程序設計課程在實際應用中的案例;并在每一章節中增加一部分具有典型意義、結構完整、并包含解答過程與分析的例題。使學生通過網絡學習之后,能夠找到相關的習題進行練習。

(5)實驗指導書

本項目中擬定為每一章節中的實驗增加了實驗指導書,在指導書中會詳細說明實驗的目的、內容、與實驗步驟。使學生通過實驗指導書可以自主地上機進行實驗。

2.項目的技術路線

《C語言程序設計》精品資源共享課程網站建設的前臺主要是用html語言來編寫,后臺主要是用C#程序來編寫,數據庫選用sqlserver。

3.項目的人員分工

本項目共有三人組成,其中李威同學擔任項目負責人,項目組成員的具體分工如下所示:項目負責人完成整個項目的策劃工作,后臺程序的開發;其他2個人負責頁面設計,美工與版塊劃分工作、素材的收集與整理工作。

六、項目特色與創新點

1.項目特色

(1)項目思路基于“資源共享”理念。

(2)項目中體現“學生為中心、教師為主導”的教學模式。

(3)項目中通過案例式教學方式實現“學有所得、學有所用”。

2.項目創新點

(1)任務驅動機制

在C語言精品資源共享課中,每一次課都提出一個具體的任務,通過任務來掌握每一章節的知識點,突出重點,分解難點,教學目標明確。

(2)案例教學模式

在C語言精品資源共享課中,以“學生成績管理系統”項目為主線,貫穿順序、選擇、循環結構、數組和指針各章節,先提出項目目標,接下來通過知識講解、方法演示、實踐演練、復習歸納等方式來解決實際應用的問題,進而學習軟件開發的方法。使學生體會到學習的實用性,提高學習興趣。

(3)“教、學、做一體化教學模式”

在C語言精品資源共享課的實驗導書中導入貼近實際應用的案例,將最新軟件開發技術引進課程,適當安排學生自主設計程序的實踐環節,學生通過調試自己設計的程序,讓學生親自觀察和體驗程序設計的成功感,加深知識的理解。

七、項目預期成果

初步建成C語言程序設計精品資源共享課程網站。

基金項目:2013年遼寧省大學生創新創業訓練項目《C語言精品資源共享課網站建設》(項目編號:201310841037)。

篇13

C語言程序設計是一門實踐性很強的課程,如果只是單純的面對面授課不能達到培養學生的獨立編程的能力,而且傳統的教學方法并不能培養學生對于C語言的學習興趣,不能提高學生自主學習的能力,經過我校專業教師調查研究發現,大部分學生們初出社會時,在工作崗位面臨編程時就會發現無從下手,似乎學校里學習的C語言和實際應用中的C語言存在著天壤之別,出現這種現象的根本原因是學生無法將所學的知識與實際動手能力相結合,為此,課改小組積極去探索和改進教學方法,引入線上/線下混合式學習方法,提高學生對于C語言課程的學習興趣,從被動學變成我想學,并且實現獨立編程的能力。

一、傳統教學方式存在的弊端

經過對本校該課程近幾年的教學現狀進行了認真梳理和仔細分析,發現主要存在以下問題:(1)課程學分設置不合理,教學課時嚴重不足,高職學校在校學習專業知識的時間只有兩年半,時間短課程多,無法再增加課時總數;(2)教學方法和教學手段較落后。C程序設計教學主要以講授法為主,填鴨式的講法,教師講得很辛苦,學生聽得更心煩。課下布置編程作業,大部分學生疲于應付,程序抄襲現象嚴重;(3)教學目標不明確,在教學中存在著重語法,輕算法的現象,迷失了學習方向,喪失了學習信心;(4)教學內容及安排順序有待調整。自該課程開設以來,受課時限制,課程后半部分的指針、結構體等核心內容很難從容展開。

二、引入混合教學,構建新的教學流程

2.1混合式教學模式分析

混合教學是人們對傳統課堂上的面對面教學和網絡教學進行深刻反思后形成的一種教學方式,將面授教學與網絡教學進行有機結合的教學方式,是學習資源和不同學習環境如教室和虛擬的網絡環境的混合。混合式教學核心是在恰當的的時間為適合的人采用合適的學習技術來傳遞合適的技能來優化教學內容。C語言課程是一門重實踐的課程,只有讓學生多操作多練習,且讓教師能在學生練習的過程中立馬能發現問題解決問題,加深學生對于課程內容的了解,才能提高學生的學習效率,但由于課程課時數的限制,往往不能實現,而采用混合式教學模式,我們將重要的需要面授的知識點放到課堂上,不太重要的知識點部分借助第三方平臺放到網絡上,讓學生利用課余時間自主學習,完成練習,教師對學生學習情況進行監督檢閱即可。這首先解決了課時不足的問題,同時贏得了更多的在課堂上幫助學生解決實踐中問題的時間。

2.2線上學習,引導自主學習

每周教師在網絡平臺上上傳課前預習通知,讓學生根據通知進行課程預習,預習內容包括課程動態視頻,視頻總時長一般不超過60分鐘;單元知識點的課前小測,用于了解學生觀看視頻后對知識點的掌握情況;線上課程的討論區,考慮到學生在自主學習過程中會有疑問,一般又不習慣在課堂上提問,在討論區上留言,不然能及時解決疑問,也能讓更多學生參與進來,提高學生的學習興趣,教師在課前對問題集中整理分析,選擇共性問題在課堂重點講解、答疑或討論,除了預習通知以外,還有課后小測以及課后討論區,學生通過完成課后小測,讓教師能更好了解學生對于知識點的掌握程度;課后討論區是為了讓學生完成課后任務后,將學習的心得體驗,亦或是仍然存疑的部分提出來,讓教師更好的根據學生的學習體驗調整授課的方式。

2.3線下學習,提高授課效率

線下學習即課堂中教師與學生面對面授課,課堂教學活動的教授方向是以課前線上學習任務的完成為基礎,就線上學習的課前討論區整理的共性問題,引導學生深入思考,強化重點、難點和易錯知識點,采取案例程序分析的形式,分析程序算法,對實際問題進行分析和討論,進而再進行案例程序的改寫,對學生進行發散思維訓練,讓學生在改寫過程中,發現問題,解決問題,培養學生自主解決問題的能力和獨立編程的能力。在講解完單元知識點以后,增加上機實踐時間,布置課堂任務,讓學生以小組為單位完成課堂任務,程序編寫和調試中出現的問題先在組內討論解決,教師在課堂巡查中,進行針對性個別引導,就出現的共同問題進行分析指導,上機實踐課結束之前要求學生上傳實踐任務書,任務書內容主要是算法分析以及編程代碼。

2.4考核評價設計

混合式教學的課程可通過提高線上學習部分考核分數在總成績的占比來激發學生自主學習的興趣,在網絡教學平臺里,有課前視頻學習、課前作業、課后小測、討論、答疑、交流、公告、文件下載等幾個助學模塊,在課程結束后,可以通過每個助學模塊來匯總學生的成績,同時教師也可以通過討論區學生的活躍度評價學生在班級學習活動中投入的總體情況。

三、結語

從整個實施過程看,混合教學模式應用在一定程度上解決了教學和實踐課時嚴重不足的問題,網絡教學平臺使得教學資源更加的多樣化也更加豐富,學生對于混合教學的方式接受度很高,課堂授課互動效果較好,上機練習機會增多提高了學生程序分析及設計能力。但想要激發學生長久的學習主動性和學習熱情還需要不斷的探索與改進。

引用:

[1]陳旭.混合學習模式下大學生網絡自主學習能辦發展的策略研究[D],2010.