前言:中文期刊網精心挑選了c語言課程設計范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
c語言課程設計范文1
摘要:以CDIO工程教育理念為指導,結合我院C語言課程設計的教學現狀,對課程設計的教學模式進行研究與改革,詳細闡述課程設計教學改革的具體措施。教學實踐結果表明,教學改革拓展學生的思路,激發學生的學習興趣,提高學生綜合實踐的能力和創新能力.
關鍵詞 :CDIO;C語言;課程設計
CDIO(Conceive-Design-Implement-Operate)[1]是近幾年來國際工程教育改革的最新成果,目前已經在全世界幾十所著名大學得到了應用。CDIO教育模式與傳統的課堂教育有著明顯差異,是為學生提供一種強調工程基礎的、建立在真實世界的產品和系統的構思-設計-實現-運行(CDIO)過程的背景環境基礎上的工程教育,使學生畢業后能夠熟練掌握技術基礎知識,領導和參與新產品和新系統的開發和運行,了解技術的研究與發展對社會的重要性和戰略影響。C語言課程具有一定的工程應用背景,是目前計算機類專業的一門重要的專業基礎課,作者結合我院C語言課程設計的實際教學情況,以提高學生的職業能力為目標,以CDIO設計理念為導向,將案例演示、問題驅動、實際應用和項目化教學進行整合,旨在對教學的各個環節繼續研究和改革,有效地提高教學質量。
1、C語言課程教學現狀
C語言這門課程在我們系各個專業均有開設,屬于專業基礎課。通過這門課程的學習,主要是讓學生建立清晰的程序開發思想,掌握相關的程序設計技巧和方法,培養學生分析問題解決問題的能力。在以往的教學中,這門課程存在諸多問題,主要表現在以下四個方面:
(1)入門困難,學生普遍反映語法繁多,概念抽象,還要動手編程,在一定程度上可能會產生畏懼心理。
(2)教師過多注重理論知識講解,往往忽略程序設計思想的培養。
(3)教學模式枯燥,教師立足語法本身,學生分析問題解決問題的能力培養方面很少涉及。
(4)考試形式單一,不能全面了解學生能力,不能滿足工作需要。
2、基于CDIO模式的課程設計改革措施
2.1 課程設計理念的改革
在課程設計理念方面,我們引入了CDIO這一創新型高等教育模式,其培養大綱對畢業生從四個層面做出要求。首先在工程系統方面,要求對學生的知識技能進行強化;在個體能力方面,要求在教學中滲透學生職業能力以及職業素養的培養;另外,我們還需要在教學中以工作過程為導向,以典型的工作任務為載體,培養學生人際團隊協作能力,第四個層面即構思-設計-運行-實現,是CDIO的核心所在,為我們的課程設計思路提供了參考。具體來講,就是課題組和企業合作共同完成對工作任務的分析和整合,這可以理解為“構思階段”;接下來,是課程標準的制定,整體設計單元設計以及校本教材的開發,這個階段歸為“設計階段”,之后,就是具體的課堂實施階段,當然,還要對課程進行不斷的改進,由此看來,CDIO的理念滲透到了課程設計的各個環節當中,對課程設計起到了重要的指導作用。
2.2 課程設計教學模式的改革
C語言課程設計由于其自身較強的實踐性,特別符合CDIO工程教育理念倡導的“做中學”和“基于項目的教育和學習”[2],在整個教學過程中應堅持“教學做”一體化的原則,增加主動學習和動手實踐。教師在這一過程中承擔起主導的作用,幫助學生建立起清晰的程序開發思想,掌握基本的程序設計方法和技巧,培養學生形成分析問題解決問題的方法,即怎樣從生活中的實際案例出發,形成一套從構造問題到分析問題,最終解決問題的思路。
首先在任務導入階段,教師負責提出任務,對任務的效果進行演示,學生通過觀看演示效果,明確本次任務的學習目標(包括能力目標、知識目標以及素質目標)和學習內容。在接下來的方案制定階段,教師需要就工作任務中所涉及到的知識點以及重點難點進行講解,教師可以讓學生進行程序的模擬練習,學生在練習過程中可以完成知識的前期儲備,為后續獨立完成任務打下基礎。探究討論和即時訓練階段要求學生以小組為單位共同探討任務的實施過程,安裝所選擇的C編譯器,了解使用的界面和操作方法,并采用截圖的辦法將其記錄在任務書的過程記錄中,并進行文字的歸納,在此過程中,教師需要參與到小組討論中,給予學生全面的指導和過程監控。最后,在任務檢查評價以及歸納總結階段,各小組需要上交完整的程序代碼、模塊流程圖以及功能說明文檔,教師挑選小組進行成果展示,組織學生對學生任務進行互評、查錯,當學生互評完成后,教師對學生任務進行點評,肯定學生實現任務的采用的新方法并提示學生任務中出現的普遍問題。
2.3 課程設計教學方法的改革
工程項目教學法由以教師為主體轉變為以學生為主體,由以課本為中心轉變為以“項目”為中心,由以學習理論知識為中心轉變為以實際操作為中心,其實在一定程度上就是CDIO教育理念所提倡的在工程基礎知識、個人能力、人際團隊能力和工程系統能力四個層面上進行綜合培養的教學模式。例如我們在C語言教學中可以采用任務驅動教學方法。學習情境采用任務驅動法進行實施,每位學生的每項工作任務必須正確完成,才能進行到下一個任務,在工作任務的驅動和全程任務考核評價的監控下,培養學生作風嚴謹和堅持不懈的職業責任感。另外還可以采用自學法。C語言程序的構成初步理解比較難,教材上列舉簡單的例子,教師在課堂也講授一些例子,學生不一定能夠理解,需要慢慢適應,因此要求學生課后自學,教師進行指導。再者,項目教學法,即先練后講,先學后教,強調學生的自主學習,主動參與,從嘗試入手,從練習開始,調動學生學習的主動性、創造性、積極性等,學生唱“主角”,而老師轉為“配角”,實現了教師角色的換位,有利于加強對學生自學能力、創新能力的培養。
2.4 課程設計考核方式的改革
基于CDIO工程教育理念的課程設計的改革,主要目的是實現學生對工程系統的構思、設計、實施和運作,建立以往教學模式中缺乏的工程價值觀,激發學生的學習興趣,轉變學生的學習態度,培養學生的個人能力,將項目設計考核納入綜合評定中,打破單一傳統考核方式,做到不僅考理論,同時還要考實際能力。因此,基于以上原則,采用期末考核與過程考核相結合的方式。過程考核也就是項目考核,每完成一個項目,就要作出相應的評價,通過提高過程考核所占比例,有利于激發學生的學習興趣,提升學習效果,更能體現“以學生為主,以教師為輔,以能力為根本”的指導思想。其中,過程考核占課程總分的60%,結果考核占課程總分的40%。過程考核由教師評價、學生自評價以及小組互評三部分組成。通過學生自評,可以讓學生體驗到自身的存在對他人和對社會的價值;通過互評,可以培養學生傾聽、尊重、分享、悅納的情感態度。
3、結束語
本文提出的基于CDIO工程教育模式的C語言課程設計的改革,打破以往傳統課程設計的教學模式,能夠較好地滲透CDIO“構思—設計—運行—實現”的指導思想,通過案例和項目將知識點融入到教學當中,按照項目化的要求設計標準化的授課教案,以項目經驗為學習目標,注重培養學生的學術能力、職業能力以及團隊協作能力。實踐證明,課程設計的改革取得較好的成果,學生普遍反映課程設計效果有很大提高。
參考文獻:
[1] 王碩旺,洪成文.CDIO美國麻省理工學院工程教育的經典模式:基于對CDIO課程大綱的解讀[J].理工高教研究2009(28)4:116-119.
[2] 于波,李陽陽.CDIO工程教育模式在Windows CE嵌入式系統教學中的應用研究[J].大慶社會科學,2010(6):145-147.
[3] 顧佩華,沈民奮,陸小華 譯.重新認識工程教育:國際CDIO培養模式與方法[M].北京:高等教育出版社,2009.
c語言課程設計范文2
[關鍵詞]課程設計 教學方法 考核手段 能力培養
一、引言
近年來,各高校越來越重視對學生實踐能力的培養,各類課程設計在教學中所占的比重明顯增加。對于計算機系的學生,尤其是以培養應用型人才為目標的學生,開設各類課程設計課就顯得尤為重要。
本文以C語言課程設計為例,介紹了在實際教學中所采用的教學計劃、教學方法以及考核手段,通過對各個教學環節的分析和總結,探討了如何在實踐中培養學生的軟件開發能力的方法。
二、C語言課程設計教學計劃
C語言技術是計算機最重要的應用領域之一,也是發展較快的領域之一。其應用早已滲透到各個行業,C語言系統的開發、管理與維護是計算機專業人員必須要掌握的基本技能。因此在完成了理論教學之后,后續的C語言課程設計的安排是很關鍵的。
我們根據學生的實際情況,制定了相應的教學計劃。要求選修C語言課程設計的同學必須先修C語言原理,具有程序設計的基礎。課程的主要內容包括C語言設計概述、需求分析、概念結構設計、邏輯結構設計、C語言的物理設計、C語言的實施和C語言系統的管理維護。本課程以實踐為主,教學目標是使學生能獨立設計C語言應用系統,掌握C語言設計的過程和方法。根據本課程的特點,充分重視上機實踐的環節,課程在機房上,有利于學生學習。
本課程安排在一個學期內,教學周數為18周,每周6學時。每周具體內容安排如表1。
三、各階段教學方法
由于各階段的任務不同,要求也不相同,因此分階段采用不同的教學方法,以一個學生熟悉的、容易理解的C語言項目開發過程為主線,貫穿整個教學過程,將相對枯燥的理論知識與實踐聯系起來。
題目選取階段是C語言課程設計的初始階段,也是決定能否達到教學目標的關鍵性階段。如果題目選取得太大、太難,或者是學生不熟悉、很難接觸到的領域,做起來太困難,會影響學生的積極性,勢必會影響到后期的學習效果。而題目太簡單,又達不到教學標準。因此在本階段,采取教師提供參考題目,學生自主選擇的方法。教師根據開題報告整理出小組題目以及成員,并簡要分析選題的難易程度。在第二周的開題討論上讓每小組派代表進行發言,大家分析討論題目的可行性,對于選題不合理的,重新修改。這階段可以充分調動學生的積極性,活躍大家的思維,實際教學效果良好,很多學生的選題都具有現實應用意義。
題目確定完之后,就要進行需求分析。很多學生認識不到這部分的重要性,選定題目后就想開始代碼的編寫工作,往往做了一半就進行不下去。因此教師在課堂上要通過實例充分講解需求的分析重要性,講解具體的需求分析方法,使學生理解需求分析是整個設計過程的基礎,同時掌握基本的需求分析技能。在需求分析階段,要盡可能收集課題的完備需求,可以利用不同小組互相模擬實際用戶的形式,增加學生的交流能力和開發興趣。在需求分析階段,要完成系統的數據流圖和數據字典。高質量的完成需求分析工作可以鞏固學生在理論課上學到的數據流圖、數據字典等基礎理論知識,并提高學生的歸納總結能力。
確定用戶需求后,進入系統設計階段。系統設計階段要完成應用系統的設計和C語言設計。應用系統的設計要完成課題應用軟件的架構設計和具體功能模塊的劃分。C語言設計要結合應用系統的設計,逐步完成C語言的概念結構設計、邏輯結構設計和物理設計。概念結構設計階段是整個C語言設計的關鍵,該階段通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型;邏輯結構設計階段要將概念結構轉換為某個DBMS所支持的數據模型,并對其進行優化;物理設計階段要為邏輯數據模型選取一個最適合應用環境的物理結構。C語言設計不但可以加深學生對ER圖等理論知識的理解,還有助于提高學生的軟件系統設計能力。
系統實現階段,教師對采用的教學案例代碼進行演示,針對不同的程序設計語言對C語言的連接部分進行講解,并給出相應的示例代碼。此階段主要是學生動手編寫代碼,完成系統功能。要指導學生編寫高質量的代碼,包括變量的命名方法、代碼的書寫規則、代碼的注釋規則等。這階段教師可采用啟發式教學,對于學生在設計中遇到的問題,要引導他們學會查找資料,自己思考解決。
系統測試階段,包括單元測試和集成測試。要指導學生進行測試用例的編寫,掌握正確的測試方法。對于C語言系統,還要進行C語言的性能測試和容量測試。通過系統測試,使學生掌握正確的測試方法,有效提高軟件的質量。
四、考核方式
教師在每個階段都會進行檢查,對完成情況進行記錄。開題階段,要求學生以小組為單位,完成開題報告,并確定選題是否合理。在需求分析階段,要求每組上交需求分析。在接下來的系統設計、實現及測試階段,要求學生詳細記錄設計思想、設計方法、實現過程及測試結果,整理出完整的課程設計報告書。最后由教師綜合考慮以下幾方面的因素,給出總評成績,包括文檔的完成情況、開發環境的選取、系統功能實現情況、用戶界面的設計以及現場演示答辯的效果。通過以上方式,較綜合、客觀地評價了學生的文字及語言的表達能力以及系統設計、程序開發的能力。
五、結束語
教學實踐表明,這種形式的C語言課程設計,可以使學生有效地鞏固對基礎理論知識的掌握,可以使學生系統地了解軟件開發流程,提高學生的軟件工程化開發能力,增強學生的就業競爭力,并且可以建立學生的團隊意識,提高學生的交流和協作能力。
c語言課程設計范文3
關鍵詞:C語言程序設計;網絡課程;目標導向
《C語言程序設計》是一門重要的基礎課程,在高職或高專院校中, 更是一門實踐性強且面向實際的重要課程。該課程在實際教學中教師教學壓力大,學生學習過程中缺乏興趣,并且存在知識點多、 課時量少的問題。由于缺乏高效的交流平臺和豐富的教學資源, 教師不僅難于組織高效的課堂教學和課后輔助教學, 也無法及時掌握學生的學習動態。筆者結合實際教學,對該課程的網絡課程的建設從形式向實質的轉變提出一些設想。
1.高職高?!禖語言程序設計》課程系統分析
本網絡課程的使用對象定位為高職高專C語言學習者。這個階段的學生掌握一些基本的操作計算機的能力,能使用電腦在網絡環境下解決一些實際問題?!禖語言程序設計》課程是編程技術的入門基礎課程。根據課程內容的遞進關系,筆者把《C語言程序設計》課程內容分成三個模塊,模塊一是基礎知識入門,模塊二是程序設計思維培養,模塊三是綜合程序設計能力培養。
該課程的主要目標是:不僅是要培養學生對C語言程序設計基礎知識的專業認識,更重要的是培養學生掌握現在與將來計算機環境下的問題求解方法,這是為了學生在將來學習和工作中應用程序思維方法解決專業技術問題的重要基礎。本著把C語言從應試課程轉變為一種實踐工具,學習知識過程模塊化的思想,該網絡課程的設計原則基于行為目標導向以學科為中心的網絡課程設計【1】為主,生成性目標導向的以問題為中心的網絡課程設計為輔。
2.高職高?!禖語言程序設計》網絡課程的建設
2.1高職高專《C語言程序設計》網絡課程總體結構設計
《C語言程序設計》網絡課程可以分為課程指南模塊、在線課程模塊、應用園地模塊、學習支持模塊、教學互動模塊和實踐教學模塊,在個別功能模塊又有實現該功能的子功能模塊,圖1為該網絡課程網絡環境功能框架圖。按照本網絡課程的設計原則,該網絡課程的建設重點是學習資源的設計,該網絡課程中應用技巧模塊的“實例查詢”和“詞匯查詢”是創新點。
2.2 網絡課程中學習資源設計
在“以學科為中心”思想的引導下,學習資源的設計是本網絡課程設計中的核心任務,是課程中其他學習活動進行的基礎。學習資源的設計對應“在線課程”、“實踐教學”、“教學互動”和“應用園地”模塊?!霸诰€課程”包括電子教材、課程講解視頻及輔助課件、電子教案,其中課程講解又包含三個子模塊, “基礎知識”,“基本技能”和“綜合技能”?!皩嵺`教學”包括實驗指導、實驗相關的素材下載。在這兩大模塊中,不僅使用知識技能遞進的方式講解書本內容,還穿插現在新的方法、新規則和新思想,讓學生靈活的掌握C語言程序設計思想。在“應用園地”模塊包括有常見題目以及解答查詢、以及C語言中關鍵字及其描述查詢等。通過這些豐富的學習資料,學生可以根據自己的實際情況進行有選擇性的學習課程內容,養成良好地編程習慣,提高學習程序設計的興趣。
2.3網絡課程中學習支持系統
在“以問題為中心”的網絡課程設計為輔的設計理念下,學習支持系統的設計也很關鍵。在學習的過程中可以通過“學習伙伴“,增加適當的提問互動環節,帶著問題進行學習,可以加深記憶,且減少網絡學習環境下的孤獨感。由于學生剛進入大學,還延續高中時喜歡在學習的同時記筆記的習慣,學習支持系統還設計了給學生提供邊學習邊記錄的電子“學習筆記”,以供以后查閱、復習。通過這些學習支持功能,以保證網絡課程學習的高效性和有效性。
2.4網絡課程中學習活動的設計
該網絡課程中,通過“學習跟蹤”記錄學生的學習過程,教師可以查看學生的學習狀況,發現學習中有困難的同學從而及時進行幫助與輔導。以及結合在線答疑、在線交流發現學生學習的難點,在實踐教學模塊的實戰訓練子功能模塊中增加對應的訓練題目,或者在拓展訓練子功能模塊中增加適當題目進行強化。通過這兩個部分學習活動的設計,使學生在掌握理論知識的基礎上,進一步通過實踐活動達到知識的內化。
2.5網絡課程中學習評價設計
行為目標導向下的學習評價是為了檢驗學生知識掌握的情況,包括階段性學習效果和最終學習效果兩部分。階段性評價通過平時作業的方式來完成,學生通過“我的作業”進行提交作業。最終學習效果評價通過“在線測試”的測試成績來實現。
3. 結論
隨著計算機技術和網絡的發展,利用網絡教學平臺不受時間、空間的限制的特點,我校C語言程序設計教師團隊也試圖利用網絡教學進行改革,從而提高學生動手能力、激發學生學習興趣,但是效果不佳。筆者依據目標導向的設計原則,結合教學中的問題,對《C語言程序設計》網絡課程的建設提出一下想法,做了全面的描述。但是,在學習效果評價方面還存在不足,我們將繼續對《C語言程序設計》網絡課程進行建設并開發,為學生創造靈活、方便的學習環境,提高教學質量。
參考文獻
[1]武法提. 網絡課程設計與開發[M]. 北京:高等教育出版社,2007.
c語言課程設計范文4
摘要:本文結合學生的學習心理和認知規律,分析了C語言教學問題的主客觀原因,提出了“先過程,后對象”的教學理念,從教材建設、教學內容安排上闡述了教學內容的具體組織實施過程,從教學思路、教學觀念、教學手段幾方面探討了教學方法的改革。
關鍵詞:C語言;教學方案;教學組織;教學改革
中圖分類號:G642
文獻標識碼:B
C語言程序設計是一門難學、難懂、難以應用的課程,對學生越來越缺乏吸引力。傳統的C語言教材大都存在著內容陳舊、缺乏現代編程思想、過于偏重語法、難度高等缺點,難以提起學習興趣,學生有畏難情緒。
傳統的教學觀念,強調先打好基礎,然后再進行實踐、學習技能。教學實踐證明,基礎和技能的教學可以同步進行,甚至先教技能再教理論,在不斷實踐中掌握技能,在技能學習中提高基礎理論。這樣更適合學生的成長。
為此,我們以社會對學生編程和軟件開發能力的需求為依據,參照人才培養模式和專業課程體系改革,對C語言課程教學進行了探索實踐。
1 教學方法的改革
在C語言程序設計教學中,我們不再局限于單純介紹C語言基本語法,而是本著面向未來的精神,把C語言作為一種實踐工具,以程序設計方法為主線,以語法和結構為核心,以能力培養和提高學習興趣為目標,注重理論與實踐的結合、先進性與基礎性的統一,變應試為應用。
1.1先過程、后對象的教學方法
考慮到絕大部分學生今后不會去搞程序開發,所以思維能力的培養是首要的。從這一角度來說,先過程、后對象的方法更符合學生的認知規律。而過程化的程序設計方法和解決問題的思路更切合學生已有的認知結構,甚至可以說就是我們日常分析問題、解決問題思路和步驟的一種計算機的代碼化,更易于被學生接受。
1.2采用一體化教學方法,以程序案例為主教學,通過案例講解語法要點和難點
“案例驅動”教學法應用在C語言程序設計教學中,就是講解語法時不停留在理論討論上,不是教會這一語法現象是什么,而是通過實例教會學生某一語法現象如何應用。比如,算術運算符中的求余運算和整除運算是比較有特色和應用較多的運算,在講解這兩個運算符的時候,就不能只停留在寫兩個表達式讓學生計算出結果來,而應該結合實例讓學生知道這樣的語法特色用在什么地方,怎么用。如通過求1到5的倒數和這樣一個小例子使學生認識整除運算的特點及在今后級數求和運算中如何避免可能引起的誤差;通過一個求兩位整數的逆序數的小程序,學生就會明白整除運算和求余運算可以用來將一個整數的各個位數分解出來,待后續循環結構介紹完畢時,又可將問題擴展到求任意位數整數的逆序數;當介紹到函數的概念時,又可將問題引申到回文數的判別,這樣將一個對學生來說很難的算法問題分散到各個部分來處理,不僅降低了算法講解的難度,也使學生能真切地體會到學習語法知識的必要性。
教學始終貫穿一個核心實例 ―― 學生成績管理系統的開發。選擇這樣一個系統的原因是學生比較熟悉有關成績的業務和功能,同時開發學生成績管理系統將涉及到 C 語言程序設計課程的全部知識點。
1.3教學模式特色
集課堂、實驗、網絡教學于一體,教、學、研有機結合、相互促進,形成了“課內教學+課外俱樂部”、“常規教學+實驗教學+網絡教學”、“開放實驗室+自編教材+教學網站+教輔系統”、“課上現場編程互動+課后作業練習+課下實驗練兵+機上考試實戰+課外創新實踐提高”的立體化教學模式。
2 教學的組織實施
C語言課程的教學目標突出培養學生的編程能力,為實現這一目標,在教學內容上拋棄了過多的語法細節和非通用的或實際用途很少的語言特性,注意強調基礎性、實用性、先進性和系統性,兼顧教學和自學兩方面的適用性。精簡過程化部分的內容、降低其難度、銜接面向對象的方法是關鍵。主要特點如下:
(1) 以結構化程序設計為重點,面向對象的概念和編程思想為擴展,MFC編程基礎為補充,體現了先進性和系統性的統一。
(2) 淡化語法,對語法難點通過實例具體而分散地介紹,舍棄不實用和過于復雜的內容,如位運算、共用體、多繼承等概念,體現了基礎性和實用性的統一。
(3) 在內容上降低難度,淡化了過于繁雜的指針概念,簡化了字符串的處理方法,體現了基礎性和先進性的統一。
(4) 將面向對象的一些概念有機地滲透到過程化的內容中,如引用、函數重載、默認參數,這樣避免了在面向對象部分集中介紹過多的概念而使學生產生畏難心理。
(5) 強調算法的分析訓練,有利于在學時緊張的情況下學生通過自學提高分析問題、解決問題的能力。
3 教學內容安排
結構化的程序設計是本課程教學的基礎和重點。結構化程序設計強調按照一定的結構形式來設計和編寫程序,不僅可以讓學生養成良好的程序設計習慣,而且可以有效地培養學生思維的條理性和邏輯性,這正是程序設計課程的主要教學目的所在。面向對象的程序設計也是以結構化為基礎,這充分表明了結構化程序設計的基礎地位。這部分內容在講解上強調算法分析、淡化語法細節,語法內容是程序實現的手段和工具,而不是學習程序設計的目標。
通過類和對象的介紹使學生了解面向對象方法的實質是強制通過函數來對數據進行操作,從而保證數據操作的安全性,這就是數據隱藏和封裝的思想;通過介紹派生類的繼承關系,使學生深刻認識面向對象方法對代碼重用的支持;而介紹多態性的關鍵在于讓學生了解基于虛函數的多態性的實質是允許將派生類的對象當作基類的對象使用,因而不必為每一個派生類編寫功能調用,從而實現接口的復用。這部分內容強調從實用出發,著重介紹基本的、主要的概念。而對從純理論研究著眼的一些概念,如繼承關系中的私有繼承以及多繼承中的諸多概念等,對于初學者來說過于復雜,要么不做展開討論,要么就干脆舍棄。
從結構化程序設計到面向對象的方法過渡時,要解決學生思維方式的轉換和銜接的問題。由于思維慣性,學生會將面向對象方法和結構化方法的比較貫穿于所設計的程序中。授課時要從學生的認識規律出發,不必急于空泛地強調面向對象方法的好處,要讓學生清楚面向對象的程序設計和結構化程序設計一樣,只是一種程序設計方法,它是為解決程序復雜性而產生的。就解決簡單問題而言,并非一定要采取面向對象的方法,也并非面向對象方法一定比結構化方法更好。結構化程序設計是從一個個具體的局部入手,描述問題的解決過程;而面向對象的方法是從全局的角度抽象出問題所涉及對象的整體框架,再來描述各層次、各部分的內在聯系。方法雖然因著眼點不同而不同,但面向對象的方法仍然是以結構化程序設計方法作為其代碼基礎的。這樣學生既了解了它們之間的區別,又認識到了其間的聯系。
4 考核體系
課程考核評價方面,建立了全新的考核評價體系,注重過程考核、編程實踐能力考核,改革后的課程評價考核體系主要體現了考核形式多樣化、考核標準合理化以及考核試卷個性化三大特征。
5 實驗教學
C 語言特別適合編寫系統軟件,執行速度快,代碼質量高,在進行系統控制、調節、測量、硬件驅動等方面具有獨特優勢,這些優勢必須要通過實訓室中軟硬件結合的程序設計方可體現。按照“少而精”的原則,壓縮并精選實驗項目與內容,提高教學效率,從而使實驗教學與理論教學的結合更加緊密。
開放實驗室,讓學生可自主選擇實驗時間、自主選擇實驗內容,為學生提供勇于探索、敢于創新的外部環境。
建設了與課程相配套的具有我院特色的實驗環節: 課程設計、項目分析設計、科研開發等??荚嚪绞剑荷蠙C實驗和考試結合,增加機試,借助編程題自動評分系統考核學生實際編程能力;開發編程題自動評分系統,向無紙考試過渡;開發題庫系統,為機考提供支持;開發在線教學網站,拓展教學空間。
課內實驗教學兼趣味性和實用性于一體,課余通過指導學生參加科技創新活動、各種程序設計大賽、學生俱樂部的各類小型軟件開發項目,達到鞏固知識、鍛煉能力、提高素質的目的。
6 結束語
通過幾年來的實踐,我們加強教學的內容選取、組織形式、實例貫穿、上機實踐、課時安排、教學環境與利用、教學評價與考核等多個環節的改革,取得了相當不錯的教學效果。
參考文獻:
[1] 龔沛曾等. 案例教學法在"Visual Basic程序設計"課程中的應用[J]. 計算機教育,2004,(5): 62-63.
[2] (美)HM.DeitelP.J.Deitel著.C++編程金典第三版[M].北京:清華大學出版社,2005.
[3] 張春興.教育心理學[M].杭州; 浙江教育出版社,2006.
[4] 龔沛曾,楊志強主編.C/C++程序設計教程[M].北京:高等教育出版社,2004.
[5] 劉鵬,安玉潔. 微格教學的多元化架構[J]. 電化教育研究,2007,(9).
c語言課程設計范文5
關鍵詞:教學模式;課程建設;一體化;網絡助教;在線考試
“百年大計,教育為本”,這是教育部《2003-2007年教育振興行動計劃》的開篇詞,深刻昭示了教育的重要意義與作用?!靶率兰o素質教育工程”以培養德智體美等全面發展的一代新人為根本宗旨,闡明了教育的目的是培養具有較強實踐能力、具有創新思想和開拓精神的新一代大學生?!案叩葘W校教學質量與教學改革工程”以提高高等教育人才培養質量為目的,強調通過培養模式、課程體系、教學內容和教學方法改革,利用精品課程平臺培養出更多的創新性人才。精品課程建設對高等教育教學改革、教學資源共享、提高教學質量起了重要作用[1]。
哈爾濱工程大學是國家工業和信息化部下屬的一所具有“三海一核”鮮明特色的211院校。通過多年努力,精品課建設取得了顯著成效,C語言程序設計即是其中之一。通過多年的教學實踐,我們建立了一套一體化的教學模式。在教學活動中,改變傳統的以教師為主的重在“教學”的教學方式,推行以學生為主的重在“指導”的教學方式。這種教學模式強調學生的自主學習能力,最大限度地發揮學生的自主學習能力,使學生很好地掌握了編程技能。學生綜合能力得到了較大提高,在包括ACM ICPC在內的各種編程競賽中取得了良好的成績,受到用人單位的廣泛好評。
1現狀分析
我校雖然為211大學,但全校學生的基礎參差不齊。各專業的招生情況不同,學生的基本素質參差不齊;計算機課程在中、小學開設情況的不同及生活現狀的不同,造成不同學生的計算機基本技能有較大差異。
在教學活動中,教師人數嚴重不足,尤其缺乏助教。這種情況致使學生在學習過程中缺乏必要的指導,指導力度不足的現狀又導致了教學環節的不完善。教師不能及時批改全部作業,無法全面了解學生的學習情況。
精英教育是我校最主要的教育目標。學校推出了2009版的教學計劃。新版教學計劃帶來的問題是程序設計課程的課時被壓縮。如何在一個教學周期內讓學生很好地掌握程序設計是一個重要問題。要想學好,學生必須在課下再花大量的時間學習,進行必要的訓練,同時還需要教師進行必要的指導、輔導和答疑。
擺在計算機基礎教學教師面前的課題是:如何以有限的人力教授基礎和能力參差不齊的大量學生,使他們在有限的時間內掌握計算機基礎知識、基本理論、基本操作,并能靈活運用所學知識進行創造性思維和創造性實踐。因此,傳統的教師教學、學生學習的模式必須要改革。解決問題的辦法是:發揮學生的自主性,鼓勵學生進行自主學習,使學生從被動地位轉變到自主學習的主動地位。在這種模式下必須加大輔導力度,構建一套全新的、一體化的、貫穿整個教學活動周期的教學模式,開發輔助教學工具――網絡助教系統、網絡學習平臺,采用無紙化在線考試系統,可以很好地解決這一問題。
2一體化程序設計課程模式
C語言程序設計課程幾乎是各大學必開的程序設計課程,不僅計算機專業的學生需要學習,絕大多數非計算機專業學生也要必修這門課[2-4]。
教學活動是一個全面的系統工程,包括學習的指導者教師,學習的接收者學生以及教材、實驗環境和輔助手段。課程建設的目的是為了讓各種教學資源“活”起來,以教學設計為指導,設計各種共享資源及如何為提高學生素質而服務[1]。
一體化教學模式是指利用計算機技術和網絡技術[5-6],協調教學系統的各方面因素,充分發揮教師和學生的積極主動作用,配合用現代技術開發出來的軟件平成教學活動的教學模式。一體化教學模式結構如圖1所示。
教學活動中教學的發起者與引導者是教師,知識的接收者是學生。為使學生得到更多的收獲,教師不僅要“教”,更要“導”?!皩А钡暮x是指輔導、指導與引導。教師輔導學生學習、答疑解惑,不僅要像培養研究生一樣指導其如何學習、怎樣學好,更要引導學生前進的方向、引領其解決問題的思維。優秀的教學團隊是教學的良好保障,教材決定課程內容與方向,實驗是提高實踐能力的基礎與驗證正確性的手段,教學網站是學習的輔助工具,網絡助教是教師的臂膀與拓展,無紙化考試是驗證學習成果的方法。
3一體化教學模式各子系統
3.1教師隊伍建設
C語言程序設計課程由我校計算機基礎課程教學中心承擔。中心的14位教師中有教授3位,副教授8位,講師3位;博士5位,碩士8位,學士1位;博士生導師1位,碩士生導師6位。各位教師長期從事教學活動,具有豐富的教學經驗,是一支高水平、高素質的優秀教學隊伍。
在努力做好計算機基礎教學工作的同時,我們積極參與各級教學改革與教學研究工作,教改立項50余項,獲得各類成果獎勵20余項,發表教學研究論文30余篇,開展了多門課程的題庫建設工作,編寫出版教材20余本,完成了兩門校級精品課程的建設,有13人次被評為校級優秀主講教師,獲得各種優秀教師個人稱號50余人次。
3.2教材建設
在教學活動中,教材的重要性毋庸置疑,教材決定了教學的主要內容,引領學生的思維方向[7-8]。在早期的教學中我們采用譚浩強教授的兩本主教材:《C語言程序設計》和《C語言程序設計實驗指導》。經過長期的教學實踐,發現該套教材存在一定局限性,不能完全滿足我校的教學要求。我校的培養目標是創新性的精英人才,除了強調C語言本身的語法特點、編程技巧外,更應強調編程能力的培養及解決實際問題的能力,應該在主教材中重點突出程序設計部分及解決實際問題部分。在實驗環節不僅要驗證所學知識,更應強化設計能力。
經過認真的研究、分析與準備,我們推出了自編的2套教材:《C語言程序設計》和《C語言程序設計學習指導》。在主教材中以C語言做編程環境依托,強調C語言僅僅是程序設計的工具之一,強化程序設計部分,采用案例教學方式,重點培養解決問題的方法。目的是使學生掌握脫離于任何語言環境的程序設計思想,給學生更大的發展空間,使其能夠在今后的科研和工作中,具備快速學習并靈活應用其他工具軟件的能力。在輔助教材中側重于分析問題與解決問題兩方面內容。為提高學生的邏輯思維與推理分析能力,精心選擇與設計了大量經典算法、習題與練習來訓練學生。在實驗部分精心設計了驗證實驗、設計實驗與自主發揮實驗。經過訓練,學生學習了他人的經驗與方法,并能融會貫通,做到了首先要學會,繼而要會用、用好、用精,將來能夠更好地發揮程序設計思想的指導作用。
3.3教學網站建設
學校有很好的網絡環境,為了使學生更好地學習,我們建設了C語言課程網站。通過網站學生可以了解課程,共享優秀資源。課程網站主要分為 5個區域:教學區、學習區、練習區、深入與提高區和討論與交流區。課程網站功能劃分如圖2所示。
教學區包含教學大綱、教學進度表和實驗內容,目的是讓學生對課程目的和要求有整體了解。學習區主要強化自主學習,包含教學課件、實驗指導、教學錄像、教師課程講義、電子教材和授課教案。通過學習區的內容,學生可以共享不同教師的風采,了解教師是如何設計教學內容,如何通過案例引領程序設計思路,同一問題不同教師的側重點與切入問題的不同方法。練習區配有練習與習題、作業答案、歷年試題,供學生驗證學習的效果。深入與提高區包含進一步提高的相關學習資源、經典程序實例與外部優秀資源鏈接,給學生以更廣闊的發展空間。討論與交流區的設置目的是給學生一個經驗交流空間,學生用自己的語言分享學習心得體會。
3.4網絡助教建設
助教,顧名思義是一種輔助教師進行教學活動的角色。傳統助教需批改作業,進行作業情況的統計與匯總,講解作業的共性問題,上習題課,完成課下的輔導答疑。由于我們計算機學院整體素質的提升,目前已經不存在助教這一角色。每年要由我中心的14位主講教師承擔100多個自然班的授課任務,3 000多學生的批改作業、輔導答疑等工作任務極其艱巨,而作業和答疑是學習過程中必不可少的重要環節。為了更好地完成教師的工作,增大增強教師的臂膀,共享優秀資源,我們開發了網絡助教系統。
網絡助教是應用計算機技術和網絡技術搭建的計算機輔助教育平臺。網絡助教利用網絡與先進計算機技術完成普通助教的工作,并拓展了助教的服務范圍,使全校學生共享教學成果。網絡助教系統功能結構如圖3所示。
教務處根據教學資源情況在上學期末安排課表,將若干個自然班分配給某教師成為一個教學單位,每個教師承擔2~3個教學單位的教學。學生管理完成學生信息的導入與導出;構造教學單位;維護教學單位的上課時間表。將教師角色設計為普通教師、題庫維護教師、作業維護教師與系統管理員。系統管理員完成教師角色的分配與教學單位的指派;題庫教師完成作業題庫的建設、更新與維護;作業維護教師根據情況作業及并為其指定完成時間;普通教師完成自己班級的作業管理。作業管理完成作業的批改與點評,作業情況統計,期末數據綜合統計與報表生成,共性問題挖掘,經驗知識學習指導。完成作業部分實現學生通過網絡在指定時間范圍內上交作業,實時查看正確答案及評改、評語,共性問題獲取,經驗知識學習。題庫管理完成作業題庫維護。
網絡助教利用計算機技術拓展了教師的工作,由全體教師共同組成了一個超級教師,具有全體教師的教學經驗,全天候為全體學生進行全方位的服務,優質資源和優質服務共享。除此而外采用數據挖掘技術進行學生作業的共同問題抽取,抽取出來的經驗知識可為全校學生共享并指導其進一步的學習,避免走彎路,促進共同提高。采用知識獲取技術得到主觀問答題的摘要,并采用相似度匹配技術進行成績判定。采用相似度匹配技術還可以進行雷同作業判定。
3.5無紙化在線考試系統建設
隨著教育事業的發展和網絡技術的成熟,計算機網絡的應用越來越廣泛。將網絡應用于教育,實現教學辦公自動化,必將提高教學效率,促進素質教育的發展[1,9]。無紙化在線考試已經完全可以滿足絕大多數考試的要求。無紙化在線考試是在計算機上進行的考試。紙介質試卷方式只能以有限的題目來測試學生的能力,還無法做到全面覆蓋知識體系的全部知識點。無紙化在線機試考試,通過覆蓋知識體系全部知識點的題庫系統對學生進行考試,可以全面測試學生的能力和掌握知識的程度,由計算機從已建立的題庫中抽取試題組卷,考生一人一機一卷,根據顯示的題目用鍵盤或鼠標輸入答案,考試結束后,計算機自動閱卷、評分、統計及分析等。采用無紙化考試,豐富了考試內容,提高了考試質量,教考分離,公平公正,知識體系覆蓋全面,避免人工批卷產生的錯誤,也避免了傳統考試因所有學生試卷相同而帶來的抄襲問題。無紙化考試系統功能結構如圖4所示。
無紙化在線考試采用B/S結構。學生實時得到考試成績并簽署成績單??荚嚬芾硗瓿煽荚嚺卧O置、考試過程監控、成績管理、生成報表。學生管理完成考生的導入導出、生成準考證、驗證身份。試卷管理完成設定考試難度、隨機生成試卷、試卷指派。在線考試完成實時考試、成績評判、打印成績單。題庫管理完成考試用題庫的維護。
采用B/S結構簡化了客戶端設置,使得考試的組織快捷方便,學生機僅需基本配置即可,無需安裝客戶端程序,重點需要對考試服務器進行維護。該結構使得服務器成為系統瓶頸。采用多線程與緩沖池技術解決并發登錄與并發試卷提交。系統分離用戶邏輯與數據,用實體引擎完成數據庫操作,采用角色及訪問控制、身份驗證與數據視圖技術解決系統安全問題。采用加密技術保證成績的不可更改性。
4結語
多年的實踐驗證了一體化教學模式的優越性。我們精心進行全方位的課程建設,使教學活動不受時空限制,以其互動性強、協作性強、教學相長等特點在為提高我校C語言程序設計課程的教學效率與質量,培養精英人才等方面發揮了積極作用。隨著教育事業的發展和網絡技術的成熟,將計算機技術應用于教學活動中的一體化教學模式必將越來越成熟。這種模式拓展了優秀教師的作用,使優秀資源充分共享,并能將教師從繁重的批改作業、輔導答疑中解放出來,以更多的精力進行教學研究。此外,網絡輔助教學的研究與實踐不只是單純的教學問題,還需要各方面的協同工作和大力支持,只有上下齊心合力,網絡輔助教學的目標才能真正實現。這套教學模式不僅可用于計算機類課程,還可以向其他課程或領域延伸,必將取得長足的進步。
參考文獻:
[1] 鄭莉. 精品課程建設中的幾個重要關系[J]. 計算機教育,2006(10):15-17.
[2] 蔣東興,張繼才,羅念龍. 高校網絡教學現狀與對策[J]. 計算機教育,2004(9):44-46.
[3] 余久久. 淺談“C語言程序設計”教學體會[J]. 計算機教育,2008(18):120-122.
[4] 楊帆. C語言程序設計課的教學角度[J]. 計算機教育,2008(18):105-106.
[5] 吳宏偉,張殿龍,梅險. 高校網絡輔助教學的探索與實踐[J]. 計算機教育,2007(13):18-21.
[6] 鄧萍,蔣君好,蔣啟華,等. 高校網絡輔助教學應用中存在的問題及對策初探[J]. 中國現代教育裝備,2009(15):21-22.
[7] 李迎秋,李樹華,邱建華,等.C語言課程教學改革與實踐[J]. 計算機教育,2008(24):12-14.
[8] 朱立華,俞瓊. C語言教材建設的研究與實踐[J]. 計算機教育,2009(13):151-153.
[9] 關忠仁. C語言教學質量的思考與實踐[J]. 計算機教育,2007(6):56-58.
Research and Practice of C Language Programming Course Construction
GAO Wei, ZHANG Guo-yin, HUANG Hong-tao
(College of Computer Science and Technology, Harbin Engineering University, Harbin 150001,China)
c語言課程設計范文6
[摘 要] C語言程序設計是各大高校廣泛開設的計算機課程,C語言規則繁多、概念復雜,學習難度不小。學習C語言要求很強的實踐性,為保證學生在實驗課中出現的各種問題能夠得到快速及時準確的解答,本文進行了引入PHPEMS在線考試系統輔助C語言程序設計實驗課的實踐研究。
[關鍵詞] PHPEMS;C語言;程序設計;實驗課
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 05. 125
[中圖分類號] G642.0;TP312 [文獻標識碼] A [文章號] 1673 - 0194(2017)05- 0230- 02
0 引 言
計算機C語言是當今計算機編程領域使用廣泛的高級語言,是計算機操作系統、編譯系統等的首選語言。C語言規則繁多、概念復雜,實驗課學生在使用C語言進行編程的時候,經常因為一個小小的編譯錯誤而無法調試出正確的程序,或者只是照抄了實驗書的現成程序,卻沒有弄清基本的運算和表達規則。這導致C語言程序設計課程經常出現這樣的現象,一部分學生遇到很小的問題也會頻繁舉手提問,教師為處理這些基本問題而疲于奔走,大大壓縮了細致講解重難點問題的時間,還有一部分學生盡管心存疑問卻礙于面子不向教師提問,導致實驗課上遺留了很多本來可以解決的問題。對于授課教師來說,檢查修改學生上交的程序作業常常需要很多時間,檢查的結果也無法及時反饋給學生個體。為了解決上述問題,在C語言程序設計實驗課上引入在線考試系統PHPEMS,既可以幫助學生迅速找到學習過程中的小問題并給出詳細解答,也能夠輔助教師快速檢查作業并生成統計圖表,幫助教師及時發現和解決問題。
1 PHPEMS在線模擬考試系統
在線模擬考試系統(PHP Exam Management System,PHPEMS),基于PHP+MySQL開發,用于搭建模擬考試平臺,它可以安裝在機房服務器或者校園網服務器中,學生通過IE瀏覽器訪問前臺地址進行實驗課練習乃至考試,教師和管理員通過訪問后臺進行試題設置管理。PHPEMS提供了完備的練習和考試功能,對于C語言程序設計實驗課來講,PHPEMS系統的以下功能能夠起到很好的輔助作用。
(1)考場、章節、知識點設置功能。通常將PHPEMS安裝在校園網服務器之中,它的服務對象是開設C語言課程的所有專業、所有班級的學生,對于不同學生的學習目標和學習進度,可以設置多個考場,考查不同的章節內容和知識點。
(2)題型設置功能。根據課上練習內容,教師可以設置適合的題型,比如設置單選題型來考查單一的知識點,設置主觀題型來考查編程等復雜內容。
(3)題庫功能。教師通過題庫管理可進行普通試題、題帽題等類型試題的添加、編輯、管理等操作,建立好的題庫會保存在PHPEMS數據庫當中,方便重復使用。
(4)試卷功能。教師使用該功能可進行按照難度分布的隨機組卷,也可以針對某個知識點專項進行手工組卷。
(5)成績管理。教師通過成績管理功能可以方便的查看和管理學生實驗成績。
2 PHPEMS輔助C語言實驗課實踐研究
2.1 C語言實驗課程設計
(1)課時安排。PHPEMS輔助C語言實驗課教學的課時安排與傳統實驗課課時相同,不需要專門調整。
(2)課前準備。教師需做好課前準備,除了普通實驗課的內容講解、演示,還需要預先登陸PHPEMS后臺根據實驗內容準備或激活已有的試卷方案。
(3)知識點講解。PHPEMS輔助的C語言實驗課與普通實驗課相同,先由授課教師進行知識點講解和操作演示,講解時間一般占整個實驗課時的1/3左右,之后進入PHPEMS輔助練習時段。
(4)PHPEMS輔助練習。學生登錄PHPEMS在線考試系統完成教師安排的實驗內容,系統會自動記錄、檢測學生的練習進度和練習時間,在學生完成實驗要求后,系統會自動閱卷評分,并顯示答題用時、得分、錯題數量、正確答案、所在章節、知識點解析等內容報告,還會列出所有學生的成績并進行排名比較。教師和學生均可從系統中查看個體學生報告和全體學生的總報告。
(5)根據實驗課程內容重復(3)、(4)步驟。對于知識點內容較多的實驗課,可以預先對知識點進行分割,對應這些知識點在PHPEMS中設置多個實驗試卷方案,根據知識點進度重復(3)、(4)步驟。
(6)教師根據PHPEMS的數據報告對錯誤率較高的知識點進行重點講解,學生進行強化練習。
整個實驗課教學流程如圖1所示。
2.2 C語言實驗課程實踐
以第二章數據類型、運算符與表達式的一次實驗課為例,按照教學計劃此次實驗課時為2小時,需要講解和練習的內容包括“1.C的數據類型”、“2.常量與變量”、“3.整型數據”、“4.實型數據”、“5.字符型數據”。
(1)課前,授課教師依據知識點容量將本次實驗課分為兩個小知識點:①“C的數據類型”和“常量與變量”;②“整型數據”、“實型數據”和“字符型數據”。授課教師登錄PHPEMS后臺,依據兩個知識點在題庫中分別調用試題進行組卷,命名為“試卷一”和“試卷二”。
(2)課中,教師首先講授“C的數據類型”、“常量與變量”,并演示相關操作,接下來學生使用個人賬號登錄PHPEMS系統,選擇試題方案“試卷一”進行自測答題。教師登錄PHPEMS后臺查看學生練習情況報表,就報表中反映出的易錯題:“在以字節存儲字符的系統中,’\n’在內存匯總占用的字節數是多少”的知識點進行重點講解,闡明“一個字符在內存中只占1個字節,'/n’是轉義字符,其意義是換行符,作為一個字符存儲在內存中也只占1個字節”。
教師繼續講授“整型數據”、“實型數據”和“字符型數據”,并演示相關操作,然后學生打開并完成“試卷二”試題方案。教師根據試題二報表,對易錯題知識點進行重點講解。
在所有學生完成“試卷一”、“試卷二”的練習內容后,教師登錄PHPEMS系統后臺,針對前兩個練習中體現的問題,依據相關知識點隨機組卷并“試卷三”,學生打開“試卷三”進行易錯知識點的強化練習。
(3)課后,因為PHPEMS安裝在校園網服務器,課后仍存有疑問的同學可使用個人電腦自行登錄系統,練習課上作業或者通過系統的強化訓練功能進行自主學習。
2.3 PHPEMS輔助C語言實驗課效果分析
對比傳統授課方式,加入PHPEMS系統輔助的C語言程序設計實驗課模式效果更佳,這體現在以下幾個方面:
(1)PHPEMS使學生個體在練習時出現的問題能夠得到更及時、快速、準確的解答,不會因為長時間等待教師解答而失去學習興趣,而這種現象經常出現在教師被多個學生同時提問分身乏術的傳統實驗課上。
(2)PHPEMS系統的成績排名功能顯著提高了學生群體的學習興趣,他們更愿意專注聽講、認真練習得到高分和高排名,對比傳統實驗課“混”的學生數量大大減少。
(3)使用PHPEMS的知識點強化功能,學生們能夠針對性的練習,從而學習、理解直至吃透相關知識,做到有的放矢。
(4)PHPEMS提供的自動評分和知識點解析功能顯著減少了教師課上基礎工作量,使得教師可以更專注于講解重難點問題。
(5)學生們需要花費一小段時間來熟悉PHPEMS系統界面、學習使用系統功能,是該實驗課模式的不足之處,PHPEMS系統不能直接調用Turbo C等編程軟件也是一個缺憾。