• 沒有找到結果。

電腦科學史與電腦科學教育

第二章 文獻探討

第二節 電腦科學史與電腦科學教育

第二節 電腦科學史與電腦科學教育

本節除了探討國內外電腦科學史教學的發展歷程,還針對電腦科學史的教學 功能、教學內容、教學設計與教學成效,探討電腦科學史在當前電腦科學教育中 的教學現況。

壹、 電腦科學史教學的發展歷程

由於電腦科學是一個新興的學門,不同領域的科學對電腦科學發展的貢獻,

呈現了電腦科學史更多元豐富的面向。近年來,電腦科學學者也開始意識到電腦 科學史的重要性。1978年美國電機電子工程師學會(Institute of Electrical and Electronics Engineers, IEEE)首度發行 The Annals of the History of Computing 期 刊,鼓勵學術界進行電腦科學史相關研究。1991年美國電腦學會(Association for Computing Machinery, ACM)提出大學電腦課程建議書(Computing Curricula 1991)首度將電腦科學史納入課程中,建議在人工智慧、作業系統、程式語言、

及社會倫理專業議題中教授發展史,具體呼籲實施電腦科學史的教學(Tuck, 1991)。其後 2001 年大學電腦課程建議書(Computing Curricula 2001)中,也具 體的在計算機概論或程式語言概論課程中納入電腦科學史。

就國內的高中電腦教學而言,我國在新修訂的高中電腦課程「資訊科技概論」

(教育部,2008)中首次將電腦科學史納入學習主題。在 2010 年開始實施的高 中課程綱要中,電腦課程由選修改為必修二至四學分,教學目標以培養學生資訊 科學基礎知識、邏輯思維、與運用電腦解決問題為主。其教材綱要中明列須教授

「資訊科學本質與內涵」、「電腦發展」、及「資訊科學發展重要里程碑」等與 電腦科學史相關的主題;在教學重點中特別提及應介紹電腦科學發展的重要事件 或創新貢獻始末,包括電腦硬體及軟體等的重要發展及其影響。

貳、 電腦科學史教學功能

電腦科學史融入教學有許多優點,相關文獻指出電腦科學史對學生學習的助 益。Rupf(2004)認為電腦科學的進化相當快速,學習電腦科學史將有助理解電

8

腦科學中不變的本質。他認為科學史不應只是一連串事件的說明、先鋒者的出生 日期,或是誰發明了第一台電腦,它應該是關於這些事件是如何演進,為什麼如 此演進的歷程,可以提供學生以更宏觀的視野了解真實世界。因此,Rupf(2004)

提出許多電腦科學史潛在的優點:(一)置身在電腦科學發展與革新的場域中,

能夠讓學生對電腦科學較有歸屬感;(二)加入「人」的觀點,可以讓電腦科學 變得更有趣;(三)藉由欣賞前人的貢獻,促進不同世代間的連結;(四)讓學 生對電腦科學領域的科學家更熟悉;(五)幫助學生了解電腦科學發展的因果與 脈絡。Zhang & Howland(2005)認為在電腦科學課程中加入科學史,可以啟發 學生、激勵學生,使他們學習到寶貴的經驗與教訓,避免犯同樣的錯誤;透過科 學史讓學生更全面地了解這個學科的內容,在未來的職業生涯有更多的選擇。Lee

(1997)也認為學習電腦科學史,學生將可以更客觀的態度探究科技進化的過 程,並瞭解及預測科技對人類生活的影響。

綜而言之,學習電腦科學史可讓學生由不同面向認識電腦科學的本質,以更 客觀的態度洞察真實世界的改變,且更深刻地體會電腦科學與社會的互動關係;

避免重蹈科學發展歷程中的錯誤,建立正確的電腦科學知識與脈絡架構;藉由電 腦科學家對人類的貢獻,引起學生的學習興趣,並激發出探索與創新的能力(Lee, 1997; Gal-Ezer & Harel, 1998; Rupf, 2004; Impagliazzo & Lee, 2004)。

參、 電腦科學史教學內容

電腦科學史的內容可分為「以科學演進為主軸」與「以科學家為主軸」兩種 呈現方式(陳秋燕,2009)。近年來,電腦科學教育學者紛紛提出電腦科學史教 學內容的建議,「以科學演進為主軸」可依概念內容、時間與發展里程碑進行分 類;「以科學家為主軸」則可依其貢獻進行分類。

一、 以科學演進為主軸 (一) 依概念內容分類

Impagliazzo等人(1999)認為要從眾多的歷史事件中挑出教學內容是非常困 難的,因此,在電腦科學史建議書中列出了 17 項對電腦科學發展有重要影響的 事件,做為電腦科學發展知識庫(如表 2- 1,IFIP TC3 and TC9 Joint Task Group, 1999),教學者可依據概念內容選擇適合的事件進行教學。

9

表 2- 1 電腦科學發展知識庫 科學發展重要事件

1. 巴貝奇的引擎(差分機、分析機)

2. 人口普查與打孔卡片機

3. 可計算的概念(杜林,哥德爾)

4. ABC 電腦

5. 楚澤的 Z 系列計算機

6. 電子電腦(ENIAC, Colossus)

7. 內儲程式與馮紐曼 8. 電晶體的發明

9. 高階程式語言的發明 10. 積體電路

11. 作業系統與 System/360

12. 超大型積體電路技術與 4004 晶片 13. 平行計算

14. 個人電腦 15. 網際網路 16. 人機互動

17. 最新的電腦科學發展事件 (二) 依時間分類年表分類

對於初次教授電腦科學史的教師而言,建議可以依時間分類年表做為教學設 計架構(如表 2- 2,IFIP TC3 and TC9 Joint Task Group, 1999)。

表 2- 2 電腦科學史時間分類方法

時間分類 解釋

1945 年以前 內儲程式概念之前 1945 ~ 1954 高階程式語言之前 1955 ~ 1970 積體電路發明之前 1971 ~ 1980 個人電腦崛起之前 1981 至今 至今日之前的重要事件

(三) 依電腦科學發展里程碑分類

除了概念與時間的分類法,國內外學者也提出以電腦科學發展的里程碑做為 電腦科學史學習內容(如表 2- 3)。Lee(1996)認為電腦科學史課程應包含核 心概念、關鍵產品,或是科學發展的里程碑。內容需涵蓋電腦硬體、程式語言、

作業系統、人工智慧與個人電腦的發展。Zhang與 Howland(2005)認為電腦科 學史可以做為學習電腦科學的工具,也可以做為學習電腦科學的內容。以工具而

10

言,透過電腦科學史能讓學生在科學、科技與社會情境整合下,了解電腦技術的 演進與發展,藉由社會、經濟、科學、數學與科技等學科領域的結合,進行電腦 科學的學習;以內容而言,學習硬體、軟體、資訊理論與其他應用核心領域的電 腦科學發展史,有助於了解電腦科學的全貌。Cortina 及 Mckenna(2006)開設 了獨立的電腦科學史通識課程(CSE 301 History Of Computing),課程內容包含 電腦科學發展的重要里程碑、電腦硬體、軟體、計算理論與倫理相關議題。

1. 內儲程式概念(stored-program concept)

2. 平行處理(parallel processing)

3. 電腦網路(computer networks)

4. 可計算性(computability)

5. 計算複雜度(computational complexity)

6. 資訊安全(information security)

7. 電晶體與積體電路(transistors and integrated circuits)

8. 數位信號處理(digital signal processing)

9. 電腦模擬(computer simulation)

10. 數值計算(numerical computation)

11. 自動控制(automatic control)

12. 資料庫(database)

11

重要里程碑

13. 巨量資料計算(massive data computation)

14. 人工智慧(artificial intelligence)

15. 電腦輔助設計與製造(CAD and CAM)

16. 地理資訊系統(GIS)

17. 資料探勘(data mining)

18. 數位典藏(digital archives)

19. 生物資訊(bioinformatics)

如同 Impagliazzo 等人(1999)所言,從眾多的事件挑出教學內容是非常困 難的,因此,了解教師們的看法將有助於在教材中選編適合高中生的學習內容。

二、 以科學家為主軸

電腦科學史相關網站Computer Hope (http://www.computerhope.com/people/)

依科學家的貢獻進行分類(如表 2- 5),整理出數百名在電腦科學發展上具有重

1. African American computer pioneers 2. Analyst

3. CEO 4. Chairman 5. Coined

6. Computer Engineers 7. Computer programmers 8. Computer Scientist 9. Convict

10. Director 11. Editor 12. Entrepreneur

13. Father's of computing 14. Female computer pioneers 15. Founder

16. Grandmaster 17. Hacker 18. Inventor

12

# 分類方式 19. Investor 20. Logician 21. Manager 22. Mathematician 23. Personality 24. Physicist

25. Pioneers on Twitter 26. President

27. Professor 28. Researcher 29. Sponsor 30. Writer

陳秋燕(2009)指出高中電腦教科書中有 98.7% 的內容是以科學演進為主軸 描述科學史,僅少數篇幅是以科學家為主軸介紹科學的發展與貢獻,即使有提 到,也多以早期科學家為主。高中生應該認識那些科學家,那些人物較能引起學 生的學習興趣,是值得深入探討的主題。

肆、 電腦科學史教學設計

在應用電腦科學史教學方面,Lee(1996)提出以個案方式融入科學史教學,

他認為應以概念或領域為個案,整合歷史發展過程中相關概念的脈絡關係。例 如,以「電腦科學」發展為例,科學發展模式可依以下方式呈現:(一)概念的 興起(1940 年代);(二)其它相關概念的興起(1950 年代);(三)多元領 域的發展(1960 年代);(四)跨領域的整合(1970 年代);(五)專精化與 可能的分化(1980 年代)。

此外,國外電腦科學教育研究者也提出許多電腦科學史課程設計方式(如表 2- 6)。例如:Cortina 及 Mckenna(2006)在 Stony Brook University 開設了獨立 的電腦科學史通識課程(CSE 301 History Of Computing),以教師解說概念,穿 插邀請電腦科學學者專家講述其專長領域的歷史發展,以及閱讀歷史相關文件或 觀賞影片的方式實施。學習活動包含科學史閱讀作業、科學史測驗與文獻報告書 寫。

Rupf(2004)為了讓主修 CS 的大一學生了解電腦結構的發展,特別在在計 算機結構(Computer Architecture)課程中融入電腦科學史教學活動。以教師指派 課外閱讀科學史(A History of Modern Computing, second edition, by Paul E.

13

Ceruzzi.)的作業實施,於期中期末進行三次小考。

Draper、Kessler 與 Riesenfeld(2009)更以體驗早期科技技術的角度讓學生了 解電腦科學的發展。為期一學期的「History of Electronic Computing」課程中,教 師運用密集寫作、早期程式語言開發環境的體驗、期末專案計畫與口頭報告,帶 領學生了解與電腦科技發展相關的社會經濟議題。

表 2- 6 美國電腦科學史相關課程之教學設計

# 研究單位 課程名稱 課程主題 教學活動/課程評估 1 University

of Calgraya

The History of Computing

人類簡化計算 的漫長歷史

教師講述 3次小考 2 Virginial

Techa

Professionalism in Computing

電腦對人類社 會的影響

學生個人報告、課堂 辯論

4次寫作作業、期末考 3 University

of Warwicka

History of Computing History of Computing 5 University

of Utahc History of

6 Southern Polytechnic

a: IFIP TC3 and TC9 Task force (1999). History in the Computing Curriculum.

b: Cortina & McKenna (2006). The Design of A history of computing Course With a Unique Perspective.

c: Draper, Kessler and Riesenfeld (2009). A History of Computing Course with a Technical Focus.

d: Rupf(2004). Teaching the History of Computing (Painlessly).

14

IFIP 的報告書(IFIP TC3 and TC9 JointTask Group, 1999)提出以主題式的 叢集(cluster)方式整合歷史內容,包括:軟體發展、法律與社會議題、機械運 算機器、自動運算機器、硬體發展、大型主機時代、演算法及模式等七個叢集。

可進行差異性比較、正反面辯論、與小論文書寫等教學活動(如表 2- 7)。

可進行差異性比較、正反面辯論、與小論文書寫等教學活動(如表 2- 7)。

相關文件