曾慶江, 姚 娟, 郭亞軍
(華中師范大學 計算機學院, 湖北 武漢 430079)
?
基于云課堂計算機程序設計探索性實驗研究
曾慶江, 姚娟, 郭亞軍
(華中師范大學 計算機學院, 湖北 武漢430079)
目前,高校計算機相關專業的實驗課多以驗證性和綜合性實驗為主。這種教學模式主要注重對計算機相關專業的基礎知識和基本技能的訓練.缺少實際應用的創新思維和創新意識。而且隨著軟硬件的更新和新的需求的不斷產生,這種方式不能夠跟上形勢發展。應將實驗教學與云課堂相結合進行計算機程序設計探索性實驗教學,訓練學生綜合利用知識和解決實際問題的能力。
探索性實驗; 云課堂; 程序設計
計算機程序設計探索性實驗,是學生在已經了解和掌握基礎知識和基本原理后,結合實際生活和工作中的問題或者當前科研熱點,選定感興趣的題目自行設計一個方案,并獨立自主地完成,要求學生在觀察思考的基礎上,通過提出問題、分析問題、設計方案、寫出程序的過程,主動地探索計算機應用中的創新點,用程序設計方法解決實際工作和生活中的問題,培養學生實踐能力、創新精神和提高編程能力。一般把計算機程序設計實驗分為3個層次:一是基礎驗證性實驗,主要解決學生基本知識點的掌握,以驗證知識點為主;二是綜合開放性實驗,培養學生用基本知識點綜合開發出實際應用軟件的能力;三是探索性實驗,學生利用前邊的知識創造性編程解決未曾解決的實際問題[1]。三者為遞進關系,前者為后者基礎[2]。
云課堂可以很好地支撐計算機探索性實驗,云課堂是計算機程序設計探索性實驗的基礎[3],見圖1。

圖1 云課堂和實驗分類組織圖
1.1云課堂特點
云課堂的特點正是探索性實驗所需要的。
(1) 可以更好地發揮現代化電子設備的優勢。可以借多媒體技術,豐富多彩立體地深入淺出地展示,24 h在線無時空阻隔地支持,極為靈活方便。
(2) 云課堂是無邊界開放式互動式學習。
(3) 是真正的個性化主動式的學習。
(4) 更有利于學生探索知識,更具針對性和互動性。
(5) 可以實現教學資源最大限度地共享。
1.2計算機程序設計實驗對云課堂的要求
(1) 基礎驗證性實驗。教師將知識分為細小知識點,然后制作為基礎碎片化教學視頻,每個視頻剛好控制在學生注意力非常集中的時間段內。每個知識點都有一個短小精悍的實例,可以反復看和反復驗證。學生學習簡便、方便、效果高,要用時可以很快地弄懂弄透,平時也可以作為一個知識存儲地。
(2) 綜合開放性實驗。軟件開發前期工作指導要占一定比例,要經歷需求分析、設計、編碼實現、調試和運行維護以及效率分析。在講解綜合功能前要穿插軟件工程理論和方法,在信息組織上采取視頻和文本、多媒體,以問答形式,便于學生搜索和查找。綜合開發,不僅把程序寫出來,還要有軟件工程理論和方法。
(3) 探索性實驗。云課堂可以提供方向性的指導,對計算機程序設計中的難點、熱點以及待開發、待探究的一些方向和問題,提供相關的知識和資源。這是比較大的工程。教師、學院和有關機構要投入大量人力物力去做。
計算機程序設計傳統實驗內容由基礎驗證性實驗和綜合開發性實驗組成。
2.1基礎驗證性實驗
計算機專業程序設計基礎課程主要包括高級語言程序設計、數據結構與算法、面向對象程序設計等核心課程,這幾門課程是計算機程序設計課程中重要的基礎課程。實驗教學要十分強調學生的程序設計基本功訓練[4]。教師除了把每個知識點講透外,更要讓學生將所學知識上機編程驗證。教材和實驗指導書上有相關講解和例題,比如計算機語言的程序結構、語句、函數、數據類型、編程方法與技巧、常用算法等方面的知識。云課堂可以讓其舉一反三,重難點的分析和體會,還有自選實驗、在線交流和互動以及在線作業系統等。
2.2綜合開放性實驗
軟件設計類課程有軟件工程多媒體開發、嵌入式設計,Web 程序設計、數據庫系統、Java 程序設計、管理信息系統分析與設計等課程,這些課程要求學生能自主開發各類應用軟件系統,為各行各業的生產實踐服務。注重實用性軟件的開發設計是此類課程實驗教學的重點,實驗教學分為2個層次:一是以個人為主的課堂實驗,根據課程的教學進度依次安排,主要是掌握編程語言與軟件開發平臺的使用;二是以小團隊為主的課外實驗,是進行應用軟件系統的開發設計。這類實驗包括對項目的需求分析、概要設計、詳細設計、編碼實現、軟件測試、使用與維護等眾多環節,因而在具體實施過程中應按由簡到繁、由易到難的漸進原則進行,先安排一些簡單的應用軟件讓學生開發出來,如學生熟悉的小游戲、學籍管理系統、選課系統、某些設備管理系統、校園網站等。
讓學生先掌握應用軟件的開發流程與開發技術,再安排實用性強、要求高的應用項目,如有關數據庫綜合應用的各種基于Web 的MIS 系統、基于C/S結構的其他應用軟件等,可由學生自由組合成開發小團隊,合理分工、共同完成軟件系統的開發。教師在此過程中進行適當的技術指導,要求學生嚴格按照軟件開發流程進行工作,每一階段都要求寫出規范的分析報告或設計文檔,可以使學生在實踐中得到全面的軟件開發訓練,為進入IT 領域從業打下堅實的基礎。
基礎驗證性實驗偏重于對程序設計基本知識點的驗證,是打基礎的實驗階段,綜合開放性實驗注重各知識點綜合的操作練習,是綜合訓練。由于2種實驗教學方式都有一個共同特點,就是先有假設的題目和問題,教師和教材給出解決方案和參考答案,學生對于計算機程序設計僅限于基本操作的實現。目前的現狀是程序設計實驗前,均由實驗教師根據實驗指導書的要求準備好必要的實驗系統和環境,先由教師根據實驗內容進行演示講解,之后學生按照指導書的操作程序操作,得出正確結果,按照既定的格式要求完成實驗報告。整個實驗過程很少有學生主觀的成分。
沒有最新應用知識,學生無法將所學的知識與計算機新的應用實踐相聯系。這種教學為了教學方便,更多地為某個知識點服務,和實踐脫節,整個教學環節中學生始終處于被動的地位,沒有自主的探索,沒有分析判斷能力、邏輯推理能力的培養[5]。基于以上原因,學校應該開展各種各樣的探索性實驗。
學生進入高年級后,經過一、二年級的基礎學習和訓練,已具備較強的學習能力和軟件開發能力,此時要抓緊時間積極地參加各種開發工作和創新型軟件編寫,如參與學校教師的軟件開發與研究的科研項目,也可到有關軟件開發公司進行專業實踐,還可由學生自己組成團隊,在專業教師的指導下承接有關單位的軟件項目,進行軟件編程[6]。
學生創新能力的培養十分重要,學校要想方設法鼓勵和組織學生參加到各種專業競賽中,各種學科比賽和科技競賽是培養學生編程能力、展示學院建設成果和教育質量、體現學生學習能力和檢驗知識應用能力的重要手段。以賽促創,許多比賽同時還是培養、展示學生創新意識、創造能力和創業精神的重要平臺。組織比賽隊伍進行培訓、參賽,一方面可以讓參賽隊員的創新能力得到發展,另一方面還可起到示范作用,讓更多的學生受到鼓舞,參與到創新實踐中。
3.1興趣小組
興趣小組可以為各種大賽提供必要的人才資源[7],是學生提高編程水平的基地。這種組織形式多種多樣,可以自愿報名參加,在具有一定理論知識并具有一定實際編程動手能力的前提下,方能被批準。重點是學習C語言編程,努力提高編程技巧,同時學習單片機,提高硬件和軟件的能力。
(1) 教師選擇課題,給出關鍵詞;
(2) 學生云課堂上學習并查閱資料,設計方案;
(3) 組織學生講解,教師評論、指出不足;
(4) 上機編程實現;
(5) 發現問題、分析問題,證明自己的觀點;
(6) 寫總結報告。
3.2科研小組
我國有完善的科研體系,有課題教師,可以盡可能地讓學生參與到程序設計部分中。高校教師大多數有縱向和橫向項目,這些項目對程序設計部分要求非常高,學生必須全程參與到其中來,只有把整個項目弄懂弄通才有編程實現的可能。
(1) 建立小組并選舉組長。組長負責協助導師召集組員及安排組內工作,組織小組的學習和定期的交流活動。
(2) 學生云課堂上學習提高,并搜集資料。
(3) 學生報告例會制度。定期的例會是展示和檢查幫助學生具體工作的機制,在例會上學生提報告,大家分析問題和提建議。
(5) 組織編程。切合項目的編程任務對創新和探索要求很高。
(6) 有相應的獎勵制度[8]。
3.3競賽小組
大賽需要水平,也能賽出水平,最能激發學生的能動性和創造力,能展示學院建設成果和培養質量。每年有種類繁多的國際和國內的各種大賽,等級高低各不相同。所以要求建立各種各樣的競賽小組,客觀上要求學院進行各種人力和物力的投入和建設,組建相應的訓練領導小組并制定相應的訓練計劃。
(1) 小組成立。指導人員構成、工作職責、學生選拔。
(2) 制定相應訓練計劃。要求目標明確具體、方案合理和步驟清晰、經費落實且分配合理。
(3) 嚴格的準備和訓練。根據大賽要求準備人員和參賽作品。分解任務,利用云課堂進行組織和準備。云課堂具有很強的優勢,可強有力地支撐學生參賽。
(4) 細致的思想工作。關愛、了解和調整學生參賽的心理、適應能力和控制能力[9]。
我校計算機學院通過興趣小組、計算機云課堂以及翻轉式課堂組織形式,開展了大量的探索性實驗并取得豐碩成果,在2015年10月,計算機學院學生連續奪得ACM-ICPC國際大學生程序設計競賽亞洲區域賽、中國“互聯網+”大學生創新創業大賽、中國大學生計算機設計大賽等重大賽事的11項獎勵[10]。長期以來,我校計算機學院實施“以賽促教、以賽促學、以賽促創”人才培養戰略,以大學生專業素質能力競賽活動為契機,激勵廣大學生刻苦鉆研,勇于創新,提高了學生的科技創新和適應社會的能力,在為學校和學院贏得榮譽的同時,也為學生就業創業奠定了基礎。
分析了目前高校實驗的現狀,把實驗分為3個類型和層次,重點探討了探索性實驗的重要性以及實現的方法,即通過對探索性實驗強有力支撐的云課堂的分析和建立,在做好基礎性驗證性實驗和開放性實驗的基礎上,大力開展自主課堂和興趣小組,創造性地開展探索性實驗。
References)
[1] 張銘,李文新.北大信息學院計算機專業課程改革建議[J].計算機教育,2007(4):8-14.
[2] 陳國良.計算思維與大學計算機基礎教育[C].濟南:第六屆大學計算機課程報告論壇,2010.
[3] 黃詩箋,謝志雄.武漢大學生物學實驗教學中心創新實驗教學建設[J].實驗技術與管理,2009,26(2):9-11.
[4] 祁鑫,梁鴻,宮法明.計算機專業柔性化課程體系改革的研究與實踐[J].實驗室研究與探索,2007,26(12):322-324.
[5] 吳先球,劉朝輝,葉穗紅,等.網絡環境下遠程實驗的技術探討[J].實驗技術與管理,2008,25(6):12-13.
[6] 陸文蔚,牛萌萌,裴玲.“功能性食品學”探索性實驗的設計與實施Ⅱ[J].實驗室研究與探索,2011,30(6):281-283.
[7] 李瑞生.Java程序設計課程教學中遇到的問題和對策[J].計算機教育,2010(22):119-122.
[8] 陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009(20):84-85.
[9] 董榮勝,古天龍.計算思維與計算機方法論[J].計算機科學,2009(1):1-4.
[10] Wing J M. Computational Thinking[J].Communications of the ACM,2006(49):33-35.
Research on exploratory experiments of computer program design based on cloud classroom
Zeng Qingjiang, Yao Juan, Guo Yajun
(Department of Computer Science, Huazhong Normal University, Wuhan 430079, China)
Currently, the experimental class of the computer relative profession is mainly the verification and comprehensive experiment in colleges and universities,This teaching mode pays particular attention to the basic knowledge and basic skills of computer related professional training under lacking innovative thinking and innovative consciousness of practical application . This way can not keep up with the development of the situation with the update of software and hardware and the continuous generation of new requirements. The experimental teaching should be combined with the cloud platform. The exploratory experimental teaching of computer program design can train students to use the knowledge and ability to solve practical problems.
exploratory experiment; cloud classroom; program design
10.16791/j.cnki.sjg.2016.09.050
2016-04-18修改日期:2016-05-03
曾慶江(1966—),男,湖北隨州,碩士,工程師,研究方向為計算機應用.
E-mail:zengqj1@mail.ccnu.edu.cn
tp393
B
1002-4956(2016)9-0190-03