張 思,全 婕,涂 英
(江漢大學 數學與計算機科學學院,湖北 武漢 430056)
JAVA零基礎數據可視化教學研究*
張 思,全 婕,涂 英
(江漢大學 數學與計算機科學學院,湖北 武漢 430056)
目前多數大學都要求在校大學生學習并掌握一種編程語言,由于編程思想中的一些晦澀難懂的抽象概念,學生在學習入門級課程中都備受煎熬。文章主要了介紹一門專為大學生學習Java編程入門而設計的慕課。在新教學方法中,編程新手可以通過使用Alice3可視化編程環境,直觀的學習體會抽象的編程思想。此外,本方法已經應用到2015-2016學期的Java教學中;同2014-2015學期的學生成績對比,本方法對學生掌握編程技術有積極的影響。
Java;MOOC;Alice
近年來,教育信息化領域發生了革命性的變化。基于游戲學習[1],手機練習[2]和MOOC教學等新型教學模式及方法,不僅可以解決教育研究與教學實踐中的一些問題,而且還可以幫助教師改進課程以及提高學生的學習效率。本文的貢獻是嘗試把可視化編程教學引入到編程教學過程中來,在教學方法和手段上進行研究,努力提高學生對編程課程的學習興趣。在當前MOOC的大環境下,此項研究有利于充分發揮教師和學生的主觀能動性;也可以為在移動互聯開放環境下的教學提供輔助支撐和基礎研究數據。本文首先介紹編程教學相關研究成果以及目前所面對的一些問題;然后介紹一種專為大學生學習Java編程入門而設計的教學方法;最后對比分析兩個學期兩個班的學習情況,總結新方法對學生掌握編程技術積極的影響。
程序設計是高等院校非計算機專業學生的基礎課程。目前,程序設計語言有很多種,而且更新很快。初學者難以理解其中抽象的概念,難以掌握復雜的語法,無法下手檢查程序的語法錯誤,編寫程序成為一項枯燥而又艱苦的工作,讓不少初學者生畏,從而失去編程的興趣[3]。
在傳統的計算機語言教學過程中,教師們主要的教學方法是通過在課堂上以教學為主、課后線下或QQ答疑為輔來實行。在這個過程中,我們強調了學生的課堂學習,卻忽視了激發學生興趣導向的自主學習能力的培養。由于內容抽象難懂,無法引起非計算機專業的本科生學習興趣。在計算機工科領域,男女比例嚴重失衡,這對學科長期發展很不利。
本研究項目針對當前武漢市高等教育教學改革和建設中的突出問題,從理論和實踐兩個方面進行研究和探索,尋求解決問題的方法和途徑,主要從以下4個方面的改革入手:教學手段,教學方法,實驗內容和評價體系。該項目是以超星-泛雅平臺為載體,借助于江漢大學計算中心的自主學習平臺教育資源的支持而實現的。在線課程演示圖如圖1所示。
1.教學手段
數據可視化編程是指通過對可視化元素的相關操作進行程序編寫。數據可視化編程就像是拼積木。邏輯積木的組合方式比較靈活,可以嘗試很多解決問題的思路。零基礎的初學者在完全不懂語法和算法的情況下可以快速實現自己的程序設計。

圖1 在線課程演示圖
在學習編程的過程中,首先是學生自己用最簡單的方式盡快實現程序的主要功能,這樣有助于增強初學者信心和進一步明確學習需求;然后在進一步的學習中,學生會很快發現不是所有需求都能用可視化編程實現,為了實現某些特定需求自己必須編寫代碼;接下來學生可以帶著問題,一邊閱讀相關書籍,一邊不斷修改調整已有代碼;最后經過學習再使用程序設計的架構來組織代碼。這樣學生既能最快地完成工作,又能逐漸養成較好的編程習慣和深入理解程序設計思想。
針對在Java編程課教學中遇到的一些實際問題,本項目通過使用Alice 3[4];該系統是一種面向三維模型的編程工具,學生可以使用系統來創作出三維動畫游戲,或導演一部動畫故事。在該系統中,抽象的類、對象已經換成可視的三維模型,系統中建造好的模型庫,包含各類動物、人、建筑物以及場地等,而且可以不斷地從網上補充新的三維模型到庫中。因為該系統是Java語言寫成,學生能將所編的游戲或者動畫程序通過Netbeans開發環境轉換成對應Java源程序[5]。
2.教學方法
采用游戲教學法[1],激勵學生編程的興趣和欲望,培養計算思維能力,邏輯分析能力和發展創新能力。打破傳統按章節知識點授課的方式,從實際游戲項目出發,在游戲設計開發的過程中,學生很容易初步掌握編程的基本概念及基本技能,從實戰中找到自信,再通過充分調動其自主學習能力,充分利用網上豐富學習資源,自行深入繼續學習。讓學生從親身經歷的案例中分析原理,從實際現象中看出本質,最后將自己抽象領悟出來的概念同書本上的理論知識相對應。例如:Java程序設計課程重難點一般包括:常用系統類的使用,數組的運用,OOP設計及實現。通過讓學生導演自己的電影或者創作游戲將知識點隱形的傳達給學生。本課程包括8個主要章節,21個課程知識點,以及32個學習任務。首先,學生通過學習一個個的教學小短片了解主要知識點;然后,完成課后小測驗,檢查自己的學習情況;接下來,到課堂實驗時,可以有的放矢的提出問題;最后,通過完成一個完整的實驗項目,掌握所學知識。這種教學方法相對于傳統教學來說有其復雜性,大大增加了教師的工作量;需要教師投入更大的精力和時間,更加全面的,合理的制定教學策略。具體課程模塊設計圖如圖2所示。

圖2 在線課程演示圖
3.實驗內容
根據學生的不同專業背景,設計不同的類型題材的實驗。對于非計算機專業的學生,程序設計是一個全新的領域,計算思維是一種新的思維方式;當人初次接觸一個新事物時,抵觸和恐懼往往大于好奇和興奮。對這類學生,需要采用投其所好的教學策略。首先從他們熟悉的方向著手,再慢慢的使其解除抵觸心理,最后引導學習掌握新知識。學生專業與游戲類型的例子如表1所示:

表1 實驗題材表
4.評價體系
平時和期末成績各自占比為40%和60%。平時成績主要考察學生動手能力,團隊協作能力,以及表達能力。采用Quizzes+Project+Presentation形式作為平時成績考核。其中Presentation是由學生講解自己完成的作品,其余同學根據其講解給其作品評分。期末采用統一集中上機考試方式進行考核。
本文介紹的新教學方法已經應用到2015-2016學期的Java教學中,對學生掌握編程技術有積極的影響。如圖3所示:左圖為2014-2015學期Java程序設計課程A班學生成績,右圖為2015-2016學期Java程序設計課程B班學生成績。A班一共有54名學生;采用傳統教學方式授課。B班一共有56名學生;采用本文介紹的新教學方式授課。兩個班都是由非計算機專業學生(商科)組成,沒有編程基礎。通過一學期的學習,A班平均分為51.68/100;B班平均分為54.23/100。B班高分段有6人,但是A班在高分段為1人。B班不及格人數比A班不及格人數少6人。A班最高分為82分,但是B班最高分為90分。

圖3 學生成績對比圖
本文所介紹的新教學方法,將傳統的“課堂+多媒體”教學模式,過渡到“移動互聯 +學生自主學習 +開放式自學方式”的模式。強化實踐教學,提高教學效率和質量,增加基于移動互聯網絡的自主學習,建立MOOC課程,學生可以隨時隨地在網上完整地學習到一門課程,通過在線測評,檢查學習情況。借助Alice3D可視化編程技術手段,帶動學生的學習積極性,優化教學效率。下一步研究主要是在挖掘學生相關數據的同時注重學生隱私保護,體現學生為教學中心的指導思想。
[1]張思,向華.基于游戲驅動的Java程序設計課程教學改革研究[J].計算機時代,2015(1):72-74.
[2]張思,吳開誠,廖恩陽.基于Android的在線考試練習系統設計與實現[J].計算機時代,2015(3):27-29.
[3]Lahtinen,E.,Ala-Mutka,K.,&J?rvinen,H.M.(2005, June).A study of the difficulties of novice programmers.In ACMSIGCSEBulletin(Vol.37,No.3,pp.14-18).ACM.
[4]Dann,W.P.,Cooper,S.,&Pausch,R.(2011).Learning toProgramwithAlice(w/CDROM).PrenticeHallPress.
[5]Dann,W.,Cosgrove,D.,Slater,D.,et al.(2012, February).Mediated transfer:Alice 3 to java.In Proceedings of the 43rd ACM technical symposium on Computer Science Education(pp.141-146).ACM.
(編輯:郭桂真)
TP311
:A
:1673-8454(2017)10-0021-03
2015年武漢市屬高校教學研究一般項目“面向零基礎學生的數據可視化編程雙語教學研究”(2015056)。