999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于實踐的C++程序設計實驗教學模式探索

2016-12-21 02:25:00張曉孿
微型電腦應用 2016年8期
關鍵詞:實驗教學內容實驗

張曉孿

基于實踐的C++程序設計實驗教學模式探索

張曉孿

從“C++程序設計”課程的多輪實踐教學實際出發,對實驗教學中存在的問題進行改革,探索出了以注重學生的素質教育和培養實踐能力的實驗內容設計思想;總結并整理了適合于課程特點的4個層次的實驗內容,使學生在理解中記憶,記憶中應用,在應用中創新。通過實驗教學效果評價說明該新的實驗教學模式是可行的、科學有效的。這些措施對提高實驗課程教學的質量,培養學生的面向對象的程序設計能力和創新實踐能力,促進學生的全面均衡發展具有舉足輕重的影響和重要意義。

C++程序設計;實驗教學;實踐能力;創新;

0 引言

近年來C++以其靈活、功能強大和效率高等優勢成為應用最廣泛的面向對象程序設計語言之一。長期以來,“C++程序設計”這門課程一直是高校大學生普遍感到學習難度比較大的一門課程,怎樣學好這門面向對象的程序設計語言是廣大師生經常思考和關心的問題。雖然不少高校教師和學者都進行了有益的研究和探索,提出了一些可行的方法和措施[1-5],但是已有的研究成果對課程實驗教學的涉及內容較少且深度不夠。由于C++程序設計課程本身的特點決定了C++的學習需要多上機編程調試程序,加強實踐環節,熟能生巧,從學習中讓學生體驗到程序設計的樂趣和成功的喜悅,從而增強學習信心和興趣。因為實驗教學在人才培養中占據重要地位,不僅可以使學生鞏固理論學習的概念和原理,而且還可以培養學生的實踐應用能力和應用計算機解決問題的意識和能力。所以本文結合筆者近年來的實驗課程教學經驗,從計算機各專業的“C++程序設計”課程實驗教學實際出發,針對實驗教學中存在的問題,探討如何才能更合理的設計實驗課程內容,切實提高實驗教學質量,培養學生的面向對象程序設計能力和創新能力,促進學生的全面發展。

1 傳統C++教學中存在的問題及分析

通過期中和期末向學生問卷和調研,學生普遍認為:C++和C語言相比,不僅包括過程化程序設計還新增了面向對象編程、泛型編程和標準模板庫STL等內容,而且C++程序的代碼一般較長且結構復雜,較難進行程序的分析與理解。理論課程中講授的基本概念和原理比較多并且較抽象,知識體系繁雜,難度較大,這些特點對“C++程序設計”教學構成很大的挑戰。該理論課程的教學中普遍存在著教學內容與應用實踐難以順利銜接、教學方式不符合學生的現狀和認知特點,以教師的講授作為知識傳授的主要模式,難以激發學生的創新思維和競爭意識等問題[6]。學生學完C++后仍然對C++中的概念以及實現方法感到茫然,難于真正理解并掌握其設計技術。

傳統的“C++程序設計”實驗教學有以下問題:(1)授課教師和學生普遍對實驗教學的重視程度不夠,很多學生只是為了完成老師布置的上機作業,所以應付、抄襲,轉發現象嚴重。(2)實驗課時和理論課時相比數量少、實驗課學生多,輔導老師少,實驗的軟件環境陳舊,缺乏新技術。(3)實驗內容設計的深度不夠,以驗證型為主,與理論課內容結合不夠緊密,缺少多種層次和不同類型的實驗內容。(4) 學生在實驗過程中普遍存在眼高手低的情況,缺乏分析問題的能力,由于沒有形成面向對象的知識體系, 不能感受或深刻理解面向對象的核心與實質,無法將各內容有機的關聯起來,更無法將各知識點靈活應用于上機實踐[7]。

我們注意到要改變以上的現狀,對于該門課程,教師只在課堂講授C++程序設計概念、原理和結構,沒有十分有力的實踐環節予以支持,是很難提高教學質量的。隨著高等教育課程體系改革的深化,其原教學大綱設置的實驗內容的不足也逐漸彰顯出來。實驗課程是教學活動的重要環節,實驗不僅僅是對理論的驗證,更重要的是技術訓練和學生能力培養,包括動手能力、分析解決問題能力、協作能力等。它可彌補課堂教學的不足,加深對理論過程的理解,啟發學生深入思考,勇于創新,達到良好的理論聯系實際的教學效果。

分析造成這些問題的主要原因是傳統模式所培養的學生缺乏對軟件項目的系統化認知,在面對實際應用問題時,往往不知如何將所學知識應用到實際開發中,造成學校培養與企業需求的脫節[8]。開展好C++實驗課程可以幫助學生充分理解理論課的內容,提高教學效率,還能激發學生的學習興趣,為其今后的軟件開發打下良好的基礎。對實驗課內容合理的設計將對教學效果起到事半功倍的作用,因此應當把實驗教學提升到實踐科學的高度來認識、探索、研究和實施,研究實踐方法、強化實踐過程,提高學生的綜合分析和解決問題的能力。

2 實驗內容設計的思想與層次

針對傳統C++實驗教學現狀和存在的問題,我校計算機學院3個教研室從改革實驗課程體系、優化實驗內容、激發學生學習興趣等方面,對C++實驗教學模式進行了積極的探索和實踐。在新的C++實驗教學體系的指導下,多次對實驗教學內容做了相應集中研討、調整、更新和優化,提出了新的教學規劃,將C++不同類型實驗統籌安排,合理安排實驗順序,精心設計實驗內容,使理論教學與實驗教學合理銜接。

2.1 實驗設計的思想

每一個實驗的設計一般都會包括確定實驗目的和描述實驗的步驟和方法兩部分,通過學生完成實驗內容鞏固學生對C++程序設計基本原理的學習并提高學生的編程能力。實驗的目的一般包括了解、熟悉、理解,掌握幾個層次。在實驗設計上為了在提高學生的實驗興趣,避免打擊初學者的學習自信心和積極性,需要合理安排實驗內容的難度和進度。一開始要求學生完成編程題是很困難的,應該是從易到難。因此,在教師講解面向對象程序設計的基本原理的過程中,要結合學生實際編程水平,從閱讀程序、分析程序、修改程序錯誤到完善程序,逐步提高到自己動手編寫程序解決實際問題,讓學生體驗到程序設計的樂趣和成功的喜悅,增強學習興趣和信心。

首先,實驗內容的設計思想應該轉變陳舊的教育思想和觀念,改變過去填鴨式、滿堂灌的教育模式,遵循教育規律。以學生為本,注重學生的素質教育,重視學生創新精神及實踐能力的培養和個性發展,真正樹立以學生為中心的現代教育理念,并將其落實到平時的實驗教學實際之中。始終把實踐教學放在重要的地位,推進實驗教學質量的提高,結合實驗教學大綱幫助學生理解和認識書本知識。教師上機時給出的每個實驗,都應該覆蓋C++面向對象程序設計的主要知識點,每個實驗都包含實驗目的、實驗準備、實驗內容和思考與練習。

其次,實驗內容的設計從一開始就有意識的培養學生良好的編程規范,從細節入手,注意C++程序設計風格,養成良好的編程習慣。因為上機時筆者經常注意到不少學生寫程序很隨意,出現程序左對齊一條線無縮進,不加注釋,函數和變量起命名可讀性不好,括號不匹配,中英文標點符號混用,程序結構安排不合理等情況。所以我們設計的實驗內容中盡量引導學生注意這些細節上的問題,編寫出高質量的程序。

2.2 實驗設計的四個層次

對實驗課內容進行設計的目的是為了讓學生能夠理論聯系實際,在實踐編程中更好的理解理論知識。教師應該分級、分層的設計實驗內容,由淺入深,循序漸進,從簡單基礎到復雜綜合,最后過渡到設計與創新,不斷豐富實驗題目的類型,改變過去單一的以驗證為主的實驗類型,注重知識點的滲透與強化,使學生在在理解中記憶,記憶中應用,在應用中創新,因此需要完成以下4個層次的實驗:

(1)驗證性實驗。此種類型的實驗是C++程序設計課程的實驗基礎和入口點,實驗的目的是通過實際例子讓學生盡快熟悉C++的相關語法。學生們可以非常直觀地看到各個知識點在實際程序中的應用,快速記憶與理解C++語言的基本知識[9]。因為只有在學生掌握了相關的基礎操作后,才能為后面的設計性、綜合性實驗奠定扎實的基礎。驗證性實驗的設置應該與課本中的實例相結合,學生能把在課堂上學到的抽象內容在實驗課中得以驗證,便于理解,增加了學習興趣,提高了課堂教學的效果。這部分的實驗一般是以閱讀程序寫出運行結果和程序填空為主,在實踐中我們也增加了給出程序回答問題等類型。建議教師可以讓學生提前預習相關的內容,可以先上實驗課后上理論課,在實驗課中學生自主練習后,教師通過控屏軟件進行集中講解與代碼演示,之后的理論授課才能做到有的放矢。

(2)設計性實驗。設計性實驗是C++程序設計實驗中必不可少的、很重要的內容,在每次實驗內容上合理分配(1)(2)類型的實驗比例,可以培養學生獨立思考、分析和解決問題的能力。因為很多設計性題目沒有唯一的標準答案,所以教師應該堅持以學生為主體,采用啟發式教學,激發每一名學生的主觀能動性和創造性,鼓勵學生自己設計算法。學生可以充分發揮自己的想象力,運用所掌握的程序設計知識得到各種不同的解決方案。

首先,在題目設置上要注意類型的多樣性,對同一個知識點可采用不同的考核方式去展現。過去設計型實驗一般都是以編程題為主,這樣的題型往往難度較大,對初學者不一定很適合。在筆者的教學實踐中,針對教學內容又增加了程序改寫題、改錯題和補充程序題,目的是從不同的角度靈活考察學生對知識點的掌握程度,激發學生的學習興趣。

其次,對相似知識點可以在一道題目中進行對比與分析比如,在C++中的構造函數共有3種,分別是普通構造函數,復制構造函數和轉換構造函數。對初學者來說往往搞不清它們的區別和應用場合,我們可以將這樣容易混淆的地方集中在一道題目中,通過比較和分析,加深對構造函數這個知識點的理解和領悟。

最后,對于程序中的錯誤,要加強對學生程序調適能力的培養。對于語法錯誤,教師可采取邊講邊練的形式,帶著學生一起閱讀英文的錯誤提示信息,并根據提示信息分析、查錯和糾錯;對于邏輯錯誤,采取設置斷點、單步執行、觀察利用集成開發環境的調試watch窗口等方式開展,使學生在獲得理論知識的同時及時實踐,使他們能更快領悟到程序調試方法的重要性,牢固掌握程序調試的基本方法和技巧。

(3)綜合性實驗。這種類型的實驗難度最大,不僅能檢查學生掌握知識的程度,而且能培養學生的綜合運用所學知識的能力和創新能力。例如,利用VC++6.0實現一個具有錄入學生成績和顯示學生成績功能的學生成績管理系統,或設計一個模擬電梯運行的仿真程序。還可以結合數據結構或操作系統課程中的內容去實現一些經典的算法,例如實現數據結構單鏈表的操作:初始化單鏈表、清空單鏈表、求單鏈表的長度、判空、查找、插入、刪除、線性表的有序輸出等算法。定義二叉排序樹的二叉鏈表存儲結構結點的類型,創建一棵二叉排序樹,然后對此二叉樹進行操作;還可以利用C++語言要求學生實現操作系統中的先來先服務(FCFS),最短作業優先(SJF)、響應比高者優先(HRN)的進程調度算法或編寫一個模擬動態資源分配的銀行家算法程序等等。

(4)課程設計。在學期末,要求學生綜合運用面向對象程序設計的基礎知識,設計基于控制臺的應用程序和基于MFC的Windows程序(結合MFC的數據庫編程),提高解決實際問題的能力。學生3人一組,自擬題目,如表1所示:

表1 課程設計部分題目

學生選課系統設計 車輛管理系統設計通訊錄管理系統設計 學生考勤管理系統設計

具體要求為利用面向對象的方法以及C++的編程思想來完成系統的設計或小游戲的開發;要求在設計的過程中,建立清晰的類層次;在系統中至少要定義2個以上的類,類中要有各自的屬性和方法;在系統的設計中,要用到面向對象的一種機制。獨立撰寫一份設計報告,要求設計方案和指導思想正確,格式規范,內容全面,敘述清楚,分析和總結合理。

3 實驗內容的設置

要想使實驗教學能夠達到預期的教學目標,必須重視實驗課程總體規劃的合理性、實驗類型和內容的啟發性、豐富性和實驗環節的系統性[10]。實驗是使學生深入理解課堂授課內容的直接和有效手段,實驗教學內容的設置主要是由實驗課程目標和學生的特征兩個因素共同決定的。實驗課程目標是使學生通過實驗的練習與鞏固,掌握面向對象與C++程序設計的基本原理和現代程序設計的設計思想和方法,并具有動手設計相關功能的能力。因此,C++程序設計實驗內容的設計應以培養學生面向對象的思想和方法為主線,培養學生設計和驗證相關功能為主要目的。

基于以上的實驗課程目標,經過筆者近年來的探索、實踐與總結,“C++程序設計”課程的實驗教學內容可以分為基礎實驗和提高實驗兩大部分,對于基礎實驗部分,教師在每周的理論課講授結束后,應該緊密結合教學內容和相關知識點精心準備,合理安排實驗,具體安排如表2所示:

表2 基礎部分的實驗內容設置

1 5 多態性與虛函數 理解C + +中的引入虛函數的原因和聲明虛函數的方法。掌握C + +中實現動態多態性的方法。 3 1 6 異常處理及命名空間 理解C + +中的引入異常處理和命名空間的原因。掌握C + +中異常處理的實現方法和實現步驟。 2

下述的實驗涵蓋了C++程序設計中最基本、最重要的知識點,體現了C++語言基礎、C++特性,突出了編程細想和編程能力的培養。其中實驗2到實驗5是C++在過程化編程方面對C的擴展和練習,這部分必不可少,要讓學生明白C++與C的關系以及在面向過程程序設計方面C++對C的擴展。實驗7到實驗15是課程實驗內容的重點和難點,非常重要,體現了面向對象程序設計思想和實現本質,是C++精華所在。學生要逐漸領悟面向對象的程序設計和面向過程的程序設計是密不可分的,算法的描述實際上是面向過程的而面向對象是對程序整體而言的,它使程序的整體組織更合理,使用起來更方便。

提高部分的實驗具體安排如下表3所示:

表3 提高部分的實驗內容設置

例如通過MFC圖形用戶界面完成一個簡單計算器、密碼驗證界面或建立一個ODBC類的數據庫應用程序,使學生能夠理解C++語言的設計與應用方面的內容。

4 實驗教學效果評價

近年來,很多高校都提高了對C++課程實踐環節的重視程度,例如我院在新的人才培養方案中將該課程的實驗環節作為單獨的一門實驗課寫入教學計劃,并加大了課時的投入。通過筆者對我校計算機科學與技術專業2011級本科2個班89名學生在2012-2013學年第一學期、軟件工程專業2012級2個本科班80名學生在2014-2015學年第一學期和物聯網工程專業,2013級3個本科班共116名學生在2014-2015學年第二學期的教學實踐;發現采用了本文提出的實驗教學模式進行本門課程的實驗教學,有效地提高了學生的學習積極性,學生在學習過程中由原來的被動完成任務轉變為對實驗課程積極踴躍地參與,實驗課堂到課率很高而且學習氛圍很好。90%以上的學生通過學習對面向對象及程序設計有了清楚的認識和一定的理解,培養了學生的實踐操作能力與自主創新能力,取得了較滿意的教學效果;85%的學生反映他們感覺從這門課中學習的知識非常有用,收獲很大。通過實驗反饋到理論知識的進一步深化,理論課程考試總體成績有了20%左右的提高,實際教學效果有了較大改善。同時激發了學生對程序設計語言的熱情,積極主動參與和編程相關的科研及學科競賽,成功申請和結題多項省級和校級大學生科技創新項目。

5 總結

C++程序設計課程承擔著幫助學生建立面向對象程序設計的基本思想和概念、培養學生編程興趣、掌握程序設計基本方法的任務。上機實踐是提高學生實踐能力的重要途徑和計算機程序設計類課程教學過程中必不可少的環節,它對教學質量的提高具有重要的影響,也是培養應用型人才的有效措施。該課程實驗培養了學生獨立設計和操作的能力,加強了學生在實驗中創新意識、創新能力和實踐能力的培養,促進了學生的全面發展。本文對C++程序設計的實驗教學模式進行改革,提出了新的實驗教學模式,通過實驗教學效果評價,說明該新的實驗教學模式是可行的、科學有效的。希望這些措施能使學生有效地掌握C++程序設計的基本知識和技能,從而為今后學習奠定扎實的基礎。在后續的實驗課建設中,考慮結合不同的專業方向,引入新的軟件開發技術、物聯網技術、嵌入式技術,不斷地完善實驗課程內容。

[1] 尚玲玲. 軟件高職專業基礎課程教學改革探索—以C++程序設計為例[J]. 遼寧工業大學學報(社會科學版), 2015, 17(4): 117-119.

[2] 魯紅英, 肖思和, 孫淑霞. “C/C++語言程序設計”課程教學改革與實踐[J]. 計算機教育, 2013(7): 95-98.

[3] 王少榮. C++程序設計課程教學改革探索[J]. 計算機教育, 2013(22): 40-44.

[4] 黃華軍. C++程序設計教學改革探索[J]. 計算機教育, 2014(2): 38-41.

[5] 張曉孿, 王西鋒. 計算機專業大學生程序設計能力培養模式的探索[J]. 信息技術, 2011(10): 43-46.

[6] 彭海云, 馬占欣. 基于PBL+競爭機制的“程序設計基礎課程教學模式探究[J]. 實驗技術與管理, 2012, 29(6): 174-176.

[7] 張會. C++面向對象程序設計實踐教學改革探討[J]. 西昌學院學報(自然科學版), 2015, 29(1): 151-153.

[8] 李錫輝, 王櫻. 程序設計類課程教學改革的研究與實踐[J]. 實驗技術與管理, 2014, 31(10): 206-208.

[9] 劉光蓉. 以計算思維能力培養為導向的C程序設計實驗教學[J]. 實驗技術與管理, 2013, 30(1): 154-156.

[10] 教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業人才專業能力構成與培養[M]. 北京: 機械工業出版社, 2010.

Teaching Model Exploration of C++ Programming Design Test Based on Practice

Zhang Xiaoluan
(Department of Computer Science, Baoji University of Arts and Science, Baoji 721016, China)

Based on the several rounds practical teaching of ‘C++ programming design’ course, it takes actions to the existing problems in the practical teaching, and gets the design idea of experiment content which is focused on the quality-oriented education and practical ability cultivation of the students. Then it summarizes four level experiment contents suitable for the course characteristics, so as to let the students memorize, apply and innovate step by step. It shows that the new experiment teaching model is feasible, scientific and efficient by the experiment teaching effect evaluation. These measures has important influence and significance to the aspects such as improving the teaching quality of experiment course, cultivating the abilities of object-oriented programming design and innovation, and promoting the overall balanced development of the students.

C++ Programming Design; Practical Teaching; Practical Ability; Innovation

G642.0

A

1007-757X(2016)08-0046-04

2015.11.22)

寶雞文理學院第十一批校級教改項目(JGZD15016)

張曉孿(1978-),女,陜西寶雞,寶雞文理學院計算機學院,副教授, 碩士, 研究方向:程序設計語言,寶雞,721016

猜你喜歡
實驗教學內容實驗
記一次有趣的實驗
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
小議初中化學演示實驗教學
甘肅教育(2020年4期)2020-09-11 07:42:36
電容器的實驗教學
物理之友(2020年12期)2020-07-16 05:39:20
對初中化學實驗教學的認識和體會
甘肅教育(2020年8期)2020-06-11 06:10:04
做個怪怪長實驗
幾何體在高中數學實驗教學中的應用
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 久久精品丝袜| 国产你懂得| 日韩专区欧美| 国产精品免费电影| 国产精品亚洲天堂| 欧美亚洲网| 性视频久久| 制服丝袜 91视频| 亚洲欧美在线综合图区| 欧日韩在线不卡视频| www.亚洲色图.com| 国产在线精品香蕉麻豆| 国产自产视频一区二区三区| 狠狠色丁香婷婷| 欧美啪啪网| 欧美激情第一区| 国产无码制服丝袜| 国产成人福利在线| 国产主播在线一区| 亚洲国产欧美国产综合久久| 久久国产亚洲偷自| 久草中文网| 日本三级欧美三级| 亚洲日韩在线满18点击进入| 亚洲人成网站色7799在线播放| 中文字幕亚洲综久久2021| 国产精品va| 激情无码字幕综合| 91精品情国产情侣高潮对白蜜| 久久婷婷国产综合尤物精品| 亚洲a级毛片| 国产经典在线观看一区| 亚洲中文字幕av无码区| 午夜丁香婷婷| 欧美午夜久久| 丰满人妻久久中文字幕| 婷婷成人综合| 欧美人在线一区二区三区| 国产91丝袜| 午夜人性色福利无码视频在线观看| 性色一区| 一级毛片在线免费视频| 成人看片欧美一区二区| 手机永久AV在线播放| 国产成年无码AⅤ片在线| 成人欧美日韩| 国产伦片中文免费观看| 毛片大全免费观看| 四虎永久在线| 欧美一区二区精品久久久| 欧美国产日产一区二区| 在线欧美日韩| 欧美不卡视频在线观看| 精品少妇人妻av无码久久| 欧亚日韩Av| 精品超清无码视频在线观看| 国产超碰一区二区三区| 91精品啪在线观看国产| 久久精品最新免费国产成人| 91视频区| 久久久精品国产SM调教网站| 亚洲精品成人片在线观看| 老色鬼欧美精品| 91在线视频福利| 美女一区二区在线观看| 这里只有精品国产| WWW丫丫国产成人精品| 国产理论一区| 国产麻豆aⅴ精品无码| 97超爽成人免费视频在线播放| 人妻丰满熟妇αv无码| 成年A级毛片| 永久天堂网Av| 国产一线在线| 国产毛片网站| 中国丰满人妻无码束缚啪啪| 91精品啪在线观看国产60岁| 久久综合九九亚洲一区| 亚洲人成网站在线观看播放不卡| 国产精品视屏| 亚洲精品欧美重口| 亚洲精品动漫|