電腦程式語言教學的建議

【教科書研究中心副研究員 朱麒華】

 

  108課綱首度將程式設計納入科技領域,並在國中及高中階段明訂正式的學習時數。許多先進國家,如:美國、加拿大、歐盟各國及日韓,早已將程式設計納入中學課程,部份國家甚至在小學階段也進入基礎的程式設計課程。分析在國際資訊公司的統計上,目前至少有250種不同的程式語言,在不同的系統環境及不同的需求就有不同的程式語言。程式設計課程必定伴隨著程式語言的學習,在繁多的選擇中,教學現場的老師要如何挑選適合且利於學習的程式語言,將是重要的第一步。

  國際軟體評價公司TIOBE主要藉由前25個最常用的搜尋引擎,並參考廠商資料及程式設計師意見來建構評價指標。從2001年至今,Java及C/C++長期保持前兩名,而最近興起的Python在近年的排名列為第三。

  另一方面,IEEE SPECTRUM除了採用搜尋引擎統計資料,還包含社群討論線上資料,更重要的是將國際電機電子工程師學會學術文獻資料庫(IEEE Xplore)收錄的學術文獻所採用的程式語言也納入統計。因此IEEE SPECTRUM的程式語言統計比較偏向實務應用及學術研究的使用者。2018年7月公佈的結果中可知,前四名分別是Python, C++, Java, 及C語言,其結果與TIOBE略有不同。

  各程式語言間,在使用及學習有非常大的差異,以最近常被提及的Python與C語言來說,任何的變數一定要在C語言中宣告,才能被使用;而Python則完全不需被宣告就可以使用。對於初學者而言,變數的形態及記憶體的配置是重要的觀念,可是這些概念在不同的程式語中往往有不同的對待。

  無論現場教師採用何種程式語言,都能讓學生體驗資訊科技帶來不同上的學習效果。為了彌補不同選擇產生的差異,本研究有以下的建議:

一、電腦程式語言的多樣性

  電腦軟體是資訊教育課程不可或缺的元素,由於教學時間的限制,無法針對同一功能而有不同軟體操作的使用經驗。例如:寫程式就像堆積木的scratch語言,容易吸引初學者的興趣;而文字模式的R語言提供大量的統計運算功能,就適合擔任深入研究的工具。單一工具的教學,往往容易忽略其他不同的工具也能達成相同的目的,電腦程式語言也是如此。雖然上課時間有限,多樣性的程式語言介紹,可以讓學生瞭解這只是許多程式語言的一小部份,每個程式語言都有其不同的特色。

二、自由軟體的採用

  自由軟體可以讓使用者看見程式的原始碼,這不僅可以讓學生學習程式語言是如何運作的,更進一步地讓學生發揮創意修改內容,深入理解資訊科技無窮的變化。程式語言也是軟體的一種,採用自由軟體著作權的程式語言將有利於資訊課程的學習。

三、跨平台的使用

  藉由程式語言的撰寫,產生可執行的電腦指令,進而控制電腦的操作。由於程式語言發展的不同,並非所有平台皆能執行相同程式。除了傳統的個人電腦外,平板電腦、手機,甚至一些遙控玩具,這些科技產品都允許程式語言在其內部執行,但有其局限性。也就是說,當我們選擇一種程式語言時,程式碼執行環境的因素若能納入考量,對於提升學生學習的趣味性及實用性將有莫大的助益。

  

資料來源

朱麒華(2017)。2016年國民中小學網站伺服器調查研究電腦科學與教育科技學刊,7(1),頁1-7。