620 likes | 793 Views
通識計算機程式設計 教育理念與教學計畫. 鄭士康 國立台灣大學 電機工程學系 / 電信工程研究所 / 資訊網路與多媒體研究所. 綱要. 台大通識教育 不同領域與電腦程式設計 電腦硬體架構簡易模型 程式語言沿革概述 本課程目標與教育理念 教學方式 期末專題程式開發方法建議. 綱要. 台大通識教育 不同領域與電腦程式設計 電腦硬體架構簡易模型 程式語言沿革概述 本課程目標與教育理念 教學方式 期末專題程式開發方法建議. 劉院長對通識教育的看法.
E N D
通識計算機程式設計教育理念與教學計畫 鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
綱要 台大通識教育 不同領域與電腦程式設計 電腦硬體架構簡易模型 程式語言沿革概述 本課程目標與教育理念 教學方式 期末專題程式開發方法建議
綱要 台大通識教育 不同領域與電腦程式設計 電腦硬體架構簡易模型 程式語言沿革概述 本課程目標與教育理念 教學方式 期末專題程式開發方法建議
劉院長對通識教育的看法 • 我們需要的是serious的通識教育 , 不是營養學分的通識教育 , 這一頓好的dinner , 不是讓你全部都去選dessert , 你選甜點一、甜點二、甜點三 , 不是這樣子的 。 劉兆玄, 我的學思歷程, 2003
臺大通識教育理念與目標 • 建立人的主體性,以完成人之自我解放,並與人所生存之人文及自然環境建立互為主體性之關係的教育 • 強調不同學術領域之間對話、溝通與融合的可能性,除了避免傳統與現代之間的斷裂,以及全球化與本土化之間的斷裂之外,拓深學生的文化資源,拓展全球視野,並奠定終身學習的基礎能力 • 規劃上,將通識課程分為八大領域:文學與藝術、歷史思維、世界文明、道德與哲學思考、公民意識與社會分析、量化分析與數學素養、物質科學、生命科學
量化分析與數學素養 • 目標 • 培養量化推理的能力 • 建立數學的思考方法 • 培養欣賞數學特質的能力 • 期待學生瞭解量化推理與數學的思考方法,以作為各種學科的學習基礎,以及瞭解生活上常用的統計等分析工具的理論基礎,並培養學生欣賞數學內涵中以簡馭繁的精神和結構完美的特質
量化分析 • 現代文明基礎之一 • 例: 科技產業與生活之改進 • 例: 黃仁宇「大歷史」的「數目字管理」 • 著重問題數量化、抽象模型化,邏輯性思考,規畫解決方法,尋找並更正錯誤
綱要 • 台大通識教育 • 不同領域與電腦程式設計 • 電腦硬體架構簡易模型 • 程式語言沿革概述 • 本課程目標與教育理念 • 教學方式 • 期末專題程式開發方法建議
新科學與新文明 • 新科學:Computational Thinking • 使用電腦協助發展新理論新模型 • 使用電腦協助設計執行實驗 • 使用電腦處理數據以解決問題 • 使用電腦整合不同領域的知識 • 新文明 • 新科學的產品改變人類的生活
電腦程式應用例:電腦作曲 *Published by Centaur Records • Invention No. 2 (模仿巴哈) (By David Cope’s EMI, 1:28) • Mozart, Opera Act 2, Scene 8 (模仿莫扎特) (By David Cope’s EMI, 1:19)
電腦程式應用例: Narrative Prose Generation System Once upon a time, a woodcutter and his wife lived in a small cottage. The woodcutter and his wife had a young daughter, whom everyone called Little Red Riding Hood. She was a merry little maid, and all day long she went singing about the house. Her mother loved her very much. One day her mother said, "My child, go to grandmother’s house. We have not heard from her for some time. Take these cakes, but do not stay too long. And, beware the dangers in the forest.“ Little Red Riding Hood was delighted because she was very fond of her grandmother. Her mother gave her a well-filled basket and kissed her goodbye. C. B. Callaway and J. C. Lester, “Narrative prose generation,” Artificial Intelligence 139(2), 2002.
人類大遷徙路徑推測 大陸學者金力等人,1998年在《美國國家科學院學報》發表論文,根據遺傳學證據,推測從中東、西亞來的人群,在東亞的遷徙路 線(見箭頭)-- 王道還, 人類大遷徙, 科學發展, 2003
綱要 • 台大通識教育 • 不同領域與電腦程式設計 • 電腦硬體架構簡易模型 • 程式語言沿革概述 • 本課程目標與教育理念 • 教學方式 • 期末專題程式開發方法建議
計算機架構 CPU Memory Peripheral Devices
電腦目前的限制 • 沒有自由意志 • 倚賴程式設計師設計程式, 指揮電腦CPU逐步執行指令 • 程式必須明確, 符合適當邏輯 • 演算法
應用程式設計 • 應用程式設計 = 專業知識 + 程式設計能力
綱要 • 台大通識教育 • 不同領域與電腦程式設計 • 電腦硬體架構簡易模型 • 程式語言沿革概述 • 本課程目標與教育理念 • 教學方式 • 期末專題程式開發方式建議
程式語言的演進 *J. G. Brookshear, Computer Science – An Overview, 8th edition, Addison-Wesley, 2005
程式設計典範的演進 *J. G. Brookshear, Computer Science – An Overview, 8th edition, Addison-Wesley, 2005
物件導向 以物件為處理單位 易於模擬實際與抽象事物 易於撰寫視窗程式 易於重複使用程式碼
基礎程式設計 • 多數現代程式語言都有的基本內容 • 變數, 運算式與算符 • 流程控制 • 陣列 • 函式 • 物件* • 視窗* • 軟體工程概念:基本程式設計方法論(methodology)
傳統高階程式語言架構 C++ 原始碼 (Source Code) 編譯 (Compile) .obj. 二進碼( binary code ) 連結(Link) .exe 二進碼( binary code ) 執行(Load, Run) Win32 (Windows Operating System)
.NET 架構 VB .NET C# C++ 原始碼 (Source Code) 建置 (Build) 共同中介語言 (Common Intermediate Language) 碼集(Package) CIL (.exe, .dll, etc.) 偵錯, 執行 CLR (Common Language Runtime) Win32 (Windows Operating System)
.NET 架構優缺點 • 優點 • 跨語言, 跨平台 • 自動處理停用記憶區回收(garbage collection) • 共通資料型別 • 缺點 • 增一層級, 執行效率多少受影響
C#程式語言特點 物件導向 .NET結構跨平台 記憶區用完自動回收 較Visual Basic先進 較C++易學易用 執行效率較Java為高
綱要 • 台大通識教育 • 不同領域與電腦程式設計 • 電腦硬體架構簡易模型 • 程式語言沿革概述 • 本課程目標與教育理念 • 教學方式 • 期末專題程式開發方法建議
課程目標 • 訓練學生能夠利用C#語言寫作計算機程式,並從中培養解決問題之規畫、邏輯與偵錯能力,及呈現過程與結果之表達能力
教育理念 (1) 及至高等學堂,第一次上講堂,日本教習池永先生演說過:「操學問,全靠自己,不能靠教師。教育二字,在英為「Education」,照字意是「引出」之意。世間一切學問,俱是我腦中所固有,教師不過「引之使出」而已。並不是拿一種學問來,按入學生腦筋內。‧‧‧」 李宗吾,厚黑學,第二部 厚黑叢話
教育理念 (2) “B. F. Skinner once wrote that education is what remains after you’ve forgotten everything you learned,” Saldivar told his audience. “I think he was suggesting that you forget the things but learn the process. And that’s the quality of understanding I want students to learn, along with the ability to express themselves eloquently and rationally, with conviction and persuasive power.” D. Manuel, Education: ‘What remains after you’ve forgotten everything you learned’,Stanford Report, vol. XXXI, no. 20, March 3, 1999
教育理念 (3) In four years, Stanford tore me down and helped me build myself up again. If being here has taught me anything, it is I – like each one of us – am an independent and valuable individual because I believe I am, not because people and posts tell me so. T. Ho, Turning the worst year into the best years, The Stanford Daily, June 11, 1999.
綱要 • 台大通識教育 • 不同領域與電腦程式設計 • 電腦硬體架構簡易模型 • 程式語言沿革概述 • 本課程目標與教育理念 • 教學方式 • 期末專題程式開發方法建議
我們這樣教與學 • 排定進度 • 課前預習(自行看講義及找書參考) • 課堂講解與實作練習 • 課後複習演練並做作業 • 作業討論時抽籤講解自己作業 • 自行組隊開發期末專題程式 • 期末舉行專題程式成果展示會
教科書與課程網頁 • 自編投影片與講義(2~11章) • 市售C#入門書籍均可參考http://cc.ee.ntu.edu.tw/~skjeng/ ComputerProgramming2011Spring.htm