上門編程教學課程內容
課程簡介
Smalltalk 是世界上第一個完整實現「物件導向程式設計」理念的程式語言,由 Alan Kay 於 Xerox PARC 發展,影響了後來的多數語言,包括 Java、Ruby、Python、Objective-C 等。
本課程三小時精華濃縮,帶領學員由語法入門到概念理解,建立「萬物皆物件(Everything is an Object)」的程式思維。課程不僅關注技術語法,更注重 Smalltalk 獨特的哲學:將程式設計視為對話與探索的過程。學員將透過真實操作 Smalltalk 環境(如 Pharo 或 Squeak)實作互動程式、物件訊息傳遞與基礎專案設計。
適合對象:
學習成果:
-
理解 Smalltalk 的語言設計理念與物件導向模型
-
熟悉 Smalltalk 的基礎語法與訊息傳遞機制
-
能在 Smalltalk 環境中建立類別、方法與實例物件
-
明確掌握封裝、繼承、多型的設計概念
-
體驗 Smalltalk 的互動式 IDE 與即時開發哲學
課程時長
3 小時(180 分鐘)
理論講解與互動實作比例約 3 : 7
課程大綱
第一部份:Smalltalk 世界觀與開發環境(30 分鐘)
-
Smalltalk 語言的發展歷史與理念:從 Alan Kay 的「物件即生命」談起
-
Smalltalk 與現代語言的關聯(Ruby、Python、Swift)
-
開發環境介紹:Pharo、Squeak、GNU Smalltalk
-
Smalltalk 環境操作(Workspace、Inspector、Class Browser)
-
實作:撰寫第一句訊息 Transcript show: 'Hello, Smalltalk!'
第二部份:物件、類別與訊息傳遞(40 分鐘)
-
Smalltalk 的哲學:所有事物皆為物件(Number、String、Block 等)
-
物件之間的訊息傳遞(Message Sending)
-
類別(Class)與實例(Instance)結構解析
-
常見物件類別介紹(Integer、String、Array、Point)
-
實作:定義一個自訂類別並建立實例物件
第三部份:語法基礎與流程控制(40 分鐘)
-
Smalltalk 語法特色:沒有關鍵字語法,僅靠訊息通訊
-
變數命名與賦值(Assignment)
-
條件控制與邏輯運算(ifTrue:ifFalse:、and:、or:)
-
迴圈結構(timesRepeat:、do:、to:do:)
-
Block(匿名函數)的使用與遞歸(Recursion)範例
-
實作練習:以 Smalltalk 撰寫數字處理與文字輸出程式
第四部份:物件導向設計實作(40 分鐘)
-
封裝(Encapsulation)與屬性存取邏輯
-
方法(Method)定義與動態綁定(Dynamic Binding)
-
繼承與多型(Inheritance / Polymorphism)示例
-
錯誤處理與例外機制(Exception Handling)
-
實作案例:設計一個簡單的「帳戶(Account)」類別
第五部份:Smalltalk 生態與現代意涵(30 分鐘)
-
Smalltalk 系統鏡像(Image)與持續環境開發特性
-
Live Coding(即時編程)與物件探索工具
-
Smalltalk 在教育、研究與新興語言(Pharo、Amber)的延伸應用
-
綜合實作:小型類別架構設計與 IDE 視覺除錯練習
-
延伸學習方向:物件導向設計模式(OOP Patterns)與軟體思想
課程特色
-
三小時濃縮 Smalltalk 思維核心與物件導向原點。
-
理論與實作並進,從語法到設計理念全面掌握。
-
強化 OOP 思維:重視封裝、訊息傳遞與模組化觀念。
-
適合對物件導向哲學、教育與程式設計教育有興趣之學員。