本站簡介作品介紹購買指南發布作品訂做說明專業誠信
本站收錄了大量的畢業設計和論文 [vison]       本站提供這些設計的初衷 [vison]      
管理系統 學生 計算機 教學 信息 電路 汽車 模具 網站 建筑
您現在的位置:首頁 >> 理工論文計算機信息

計算思維的C++項目式教學的研究有效路徑分析

編輯:admin 來源:papersay.com   客服QQ:281788421 (為了更好的為您服務,請先加好友再咨詢)

中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2012)36-8700-04
  1 計算思維與項目教學法
  1.1計算思維
  周以真教授認為,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。計算思維和理論思維、實驗思維一起被稱為推動人類社會文明進步和科技發展的三大科學思維。
  進一步地定義為:通過約簡、嵌入、轉化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種并行處理,是一種把代碼譯成數據又能把數據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種采用抽象和分解來控制龐雜的任務或進行巨大復雜系統設計的方法,是基于關注分離的方法(SoC方法);是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易于處理的思維方法;是按照預防、保護及通過冗余、容錯、糾錯的方式,并從最壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法;是利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行折衷的思維方法。
  1.2 項目教學法
  項目教學法就是在老師的指導下,將一個相對獨立的項目交由學生自己處理。對C++項目式教學法還包括:人員的組織與管理、軟件度量、軟件項目計劃、風險管理、軟件質量保證、軟件過程能力評估、軟件配置管理等都由學生自己負責,學生通過項目的訓練,了解并把握整個過程及每一個環節中的基本要求。
  計算思維是信息社會中創新的需要,是大學生創新性思維培養的重要組成部分。C++項目式教學不能僅限于軟件工程指導下的C++語言基礎的綜合訓練,還應該在軟件項目管理原則下的培養創新性思維。
  2 C++項目的教學實踐
  2.1教學內容
  2.1.1項目的選取
  以《全國計算機二級C++考試大綱》的要求為準繩,制定適合我院特點的《C++課程設計標準》,選取《學生成績管理》項目為案例。《學生成績管理》學生比較熟悉,能覆蓋C++大綱要求的知識點,可引導學生從日常生活中發現問題、分析問題和解決問題,減少材料收集,縮短調研、需求分析時間,相對增加C++基礎的學習時間。學生可領悟到項目源于生活,創新、發明源于日常生活,“處處留心皆學問”。同時布置同步練習項目《企業工資管理》,學生在項目需求分析、總體設計、詳細設計、編寫代碼、測試等有關方面的內容有一定的獨立訓練。
  2.2教學方法
  2.2.1復雜任務簡單化
  程序設計的基本原則是自頂向下,逐步求精。將《學生信息管理》劃分為系統初始化、數據輸入、數據處理、數據輸出、數據維護、幫助等子項目(或模塊)。如果劃分后的子項目還復雜,例如數據處理,就進一步再分:數據排序、數據查詢等。這樣直到每個部分只完成單一功能,代碼行數不是很多為止。
  2.2.2合適的描述方式
  UML是面向對象開發中一種通用的圖形化建模語言,它定義良好、易于表達、功能強大且普遍適用。面向對象的分析主要在加強對問題空間和系統任務的理解、改進各方交流、與需求保持一致和支持軟件重用等4個方面表現出比其他系統分析方法更好的能力,成為主流的系統分析方法。引入UML,對項目需求分析、總體設計、詳細設計、編寫代碼、測試等各個階段各個部分進行描述,尤其利用UML圖描述算法。同時,講解UML圖到程序的轉化方法。
  2.2.3注意魯棒性
  魯棒性(robustness)就是系統的健壯性。它是在異常和危險情況下系統生存的關鍵。比如說,計算機軟件在輸入錯誤、磁盤故障、網絡過載或有意攻擊情況下,能否不死機、不崩潰,就是該軟件的魯棒性。明顯地,成績的值域,一般成績不能為負數等,但常被初學者忽略,致使程序執行時接受負數。在高校,成績范圍一般在0-100,要對超過這個范圍的數據進行檢測,并給出相應的處理。變量的數據類型定義,要根據使用數據集的具體情況,如考試成績,如果是在正整數0-100范圍內,定義考試成績變量無符號短整型較好,否則浪費存儲空間。
  2.2.4啟發式教學
  對冒泡排序:依次比較相鄰的兩個數,將小數放在前面,大數放在后面。第一趟得到最大數放到數組最后元素的位置上,第二趟將剩余的元素再兩兩比較,將剩余元素中的最大值,放到倒數第二個位置,……。這樣,從中找到趟數與該趟比較次數之和等于元素個數。同時,啟發學生對于二維數組,如果按行(或列)排序時,對應的列(或行)中元素也要交換。通過啟發,使學生在處理某問題時要考慮相關問題,包括異常問題。
  2.2.5算法的優化
  對數據的冒泡排序,當進行某趟排序后,數據已經滿足排序要求了,是否還進行排序?如果結束排序,應該設計一個標記。該標記初始值為不需要排序。如果有交換,將該標記置位需要排序,當本趟排序結束后,檢查該標志是否是不需要排序,如果是不需要排序,則排序結束,否則繼續進行排序,進而優化了算法。再如求質素問題、斐波那契序列問題等的優化。通過算法優化是學生深入了解算法執行時間和數據占用的空間的估算。
  3 教學過程
  3.1創設情境
  3.1.1用已知問題,創設情景
  語法上,先回憶數學中的有窮序列,再講解數組,并將數組和有窮序列加以對照;二維數組與矩陣、平面對照;三維數組與立體坐標以及3D電影等對照。
 算法上,以往用目測方式將一組數有序,進一步給出兩兩比較進行排序的冒泡法。再如,如何判斷一個正整數M是否是質數,根據數學定義求解,同時用正整數分解兩個因數積的形式得到最大因數不超過M/2,再進一步分析,最大因數不超過M的平方根。
  3.1.2 新舊知識的連接點,創設情景
  讓學生回味“人以群分物以類聚”的含義,進而提出“人”有哪些特點和活動。再讓學生回憶“演繹和推理”知識,在函數、結構體的基礎上,進一步提出有關“類”的概念、特點、語法格式等。
  通過對比使學生明白:計算機中很多概念、編程思維源于數學。用已有的知識,激發學生學習興趣。
  3.2 優化師生關系
  3.2.1 學生自主探究
  在提出問題之后或總結所講知識

之前,都給學生思考甚至是查閱資料的時間,強化學生自學能力,激發他們的創造潛力;鼓勵學生合作探究,讓同學講解他們解決問題的思路、方式方法,以形成集體探究的氛圍,培養學生的合作精神;對良好的研究結果給予肯定,對不足的研究結果給予分析,找出不足的原因,提示合適的解決方法,使學生不會因為一次的研究結果不足,就成為學習的障礙,甚至萎靡不振。同時,告訴學生解決問題的方法不是一層不變的,鼓勵學生積極懷疑已有的算法,探討更優的算法。“盡信書不如無書”。
  3.2.2 創設良好環境
  良好的環境是養成計算思維的外部環境。通過各種載體為學生提供豐富的實例,讓學生在模仿中逐漸形成計算思維能力;通過《學生成績管理》項目的講解,一方面解決語法知識,另一個方面也要講解項目設計的原則、思想、方式方法等, 把學生引入真實的工作情景,通過練習項目激發其自覺運用計算思維的方法原則;在講解項目和練習項目上,鼓勵同學各抒己見,并營造寬松、和諧、民主的氛圍,鼓勵學生獨立思考,提出問題,激發學生高漲的學習情緒和強烈的探索欲望,使其思想流暢,思維活躍。
  3.3 鼓勵學生探究
  對于設計的項目,其設計思路更是多種多樣。鼓勵學生拿出自己的設計思路和方案,以培養他們的探究能力。在課堂教學中,抓住教材內容的重點、難點或學生容易出錯的地方,故意出錯,引導學生去探究、糾正。這對保護學生創新意識,培養學生探究能力很有好處。從學生的實際出發,布置實踐性的題目,指導學生參加探究活動,把相關知識和生活實際緊密聯系起來。
  3.4 軟件項目管理
  3.4.1 項目設計
  在項目設計階段,每組學生通過廣泛調研,并與教師進行充分的思維溝通后確定選題并明確項目的總體目標。
  3.4.2 制訂計劃
  通過開展小組交流討論,確定項目的實施計劃,包括需求分析、概要設計、詳細設計、實現與單元測試、集成測試階段、確認測試、文檔編制等各個階段的任務、輸入、輸出、實施等內容、完成時間以及組員間的分工等,制訂系統實施計劃書。分成系統分析和設計、系統實現和測試三個團隊。每組只有四人,每個組員負責其中一個團隊,其余兩人作為成員,項目負責人總協調,但也是團隊中的一個成員。
  3.4.3 實施計劃
  按照實施計劃書中確定的工作步驟和分工,完成項目的開發。分工時要特別關注任務量的均衡性,盡量在同一時間段完成任務。
  4 教學效果考核
  4.1 階段考核
  在老師的監督協調下,各個組都認真完成項目的實施計劃,包括需求分析、概要設計、詳細設計、實現與單元測試、集成測試階段、確認測試、文檔編制等各個階段的考核,檢查相應的資料、文檔和代碼,沒有完成就不能進入下階段設計,做好各個階段的考核記錄。
  4.2 小組自評
  在自評階段,教師指導學生理解迭代和收斂的概念,不斷迭代地優化系統模型,一方面消除功能性錯誤;另一方面,按照預防、保護及通過冗余、容錯、糾錯的方式,從最壞情形恢復系統的計算思維原則,使系統足夠強壯,此時視為收斂,得到最終的系統。
  4.3 交流
  完成自評過程后,每一組的代表在全班展示各自的系統,并說明系統設計的過程,遇到過什么問題,這些問題是怎么解決的。其他組的學生,包括教師都可提出問題,讓代表或組內成員做出解釋。這個過程是暴露思維的過程,在彼此的交流中,不同觀點之間相互碰撞,使每一位學生在較短時間內都對問題獲得了多方面的較深入的認識。這不僅對培養學生的計算思維,而且對培養學生發散思維、批判性思維的能力都大有好處。
  4.4 綜合評價
  在每一個階段都要求學生記工作日記,并給出相應的評價表,包括自評和組內互評,不僅對工作,還對其表現出的包含計算思維在內的能力、態度、方法等進行全方位的評價;教師根據項目完成情況,以及與學生思維溝通、觀察平時表現、查看工作日記等給出自己的評價。最終的評價由自評、組內互評和教師評價三者構成。
  5 結論
  通過C++項目《學生信息管理》教學,以及《企業工資管理》項目的練習,使學生在積極學習掌握C++課程的基礎上,初步掌握了軟件工程、軟件項目管理等相關內容以及企業文化,用計算思維指導教學方法、教學內容、教學過程和教學效果考核四個方面,給學生獨立思考、共同研究的空間,嚴格的階段考核,使學生即了解了軟件開發的一般原則,又為培養學生的創新性思維意識奠定基礎。
  參考文獻:
  [1] 周以真.計算思維[J].中國計算機學會通訊,2007,3(11):83-85.
  [2] 何明昕.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009,36(4).
  [3] 廖偉志,李文敬,王汝涼.計算思維在離散數學課堂教學中的應用[J].計算機科學,2008,35(11).
  [4] 李芳,李一媛,楊兵.計算思維在《圖像處理》課程中的實踐及應用[J].計算機科學,2008,35(11).
  [5] 陳杰華,戴麗娟.以培養計算思維為核心的程序設計實驗教學[J].實驗技術與管理,2011(1).
  [6] 牟琴,譚良,吳長城.基于計算思維的網絡自主學習模式的研究[J].電化教育研究,2011(5).
  [7] 薛磊,孫玉強,顧曉清.在應用型本科教學中開展項目教學法的研究與實踐[J].中國電力教育,2010(5).
  [8] 薛磊,孫玉強,顧曉清.基于計算思維的項目教學法的研究與實踐[J].教育與職業,2012(32).

竞彩交流群