2019年7月12日 星期五

手把手學Python - 第一支小程式

好吧, 現在預設你已經裝好了 Python 3 的程式。沒意外, 你的程式集裡應該多了像下面的的程式。



這裡面的程式分別是

  • IDLE
    整合式的環境, 這也是我們接下來會試著學一些最基礎東西的地方。
  • Python
    主程式, 也就是幫我們把指令翻譯給電腦聽懂的程式。
  • Python Manuals
    python 的說明文件。
  • Python Module Docs
    python 的模組說明。
如果都沒問題, 那我們就先來利用 IDLE 試著寫看看。點開 IDLE, 你應該會看到下面的畫面。



那個 ">>>" 是提示號, 也就是我們寫程式的地方。請你在提示號後面輸入

print("Hello Kitty!")

在輸入的過程, 你應該會看到像這樣的畫面



print 會變成紫色, 而你在打 "Hello 則會變綠色, 而且打的過程中, 會出現



這是 print 這個指令的簡易說明。當你輸入完後, 你會看到



白色的 "Hello Kitty!" 其實就是結果。

簡單解釋一下, print() 這是一個指令, 用來印出括號裡的資料。而我們這次在括號裡放了一個字串 --- "Hello Kitty!", 所以你就看到這個結果了。

如果你有興趣, 不妨用滑鼠點到 print("Hello Kitty!") 的那行, 再按一下 Enter 鍵, 你應該會看到, 這一行程式被複製到最新的提示號後面, 試看看, 印出你想印的所有句子吧。

到這裡, 就表示你已經可以開始試著寫程式了。我們接下來, 大多數的程式都可以在 IDLE 上寫。不過, 若想把寫的程式留下來, 甚至將來可以跟程式互動, 就要利用 python 主程式。這部份, 就下次再寫囉。

2019年7月8日 星期一

手把手學 python - 安裝 python

要開始學 python 的第一件事, 就是要先了解你的操作環境。對於初學者來說, "怎麼寫"是我常被問到的。(當然, 如果你真的是初學者, 而你有想問的問題, 其實也可以在留言裡提出來。)其實寫程式, 就跟說話一樣(所以才叫程式"語言"), 如果只是要說, 是不難的, 難的是你要"說什麼"。所以我們就先從不難的開始。

首先, 你要先有地方可以寫, 而且要有人幫你把你講的話翻譯給電腦聽懂。所以你要先從有 python 的編譯器開始。python 有各種不同的編譯器, 各有目的不同, 我們現在先從最初的出發點開始, python 這個語言的官方網站。






在這個地方, 你可以找到下載 python 主程式的連結頁面。除了在下面的地方可以找到連結外, 在 python logo 下, 那一排標籤有一個"Download", 也可以進入。如果你還是找不到, 就利用下面的連結進入。(對了, 要利用網路的資源學程式設計, 你的英文愈好愈佔便宜。)



因為你是初學者, 所以別想太多, 就找最近的版本下載
如果你看不懂該下載哪一個檔案, 就點下面這個連結吧。


下載後, 請直接安裝。至於怎麼安裝, 這部份算是 windows 操作的部份, 我就不多寫。這部份, 如果你還是不會, 那我會建議你找個人幫你安裝。

對了, 在下一篇出來前, 你可以到文件的下載頁面




隨便晃晃看看。我自己會建議可以到教學文件


點開來看看。

這篇就先這樣子。希望下次你已經安裝好 python 了。

還是老話一句, 有在看的人, 請留個言讓我知道(別只是在臉書按讚), 另外, 有什麼問題想知道也可以寫留這讓我知道。讓我的三分鐘可以熱久一點。















2019年7月6日 星期六

手把手學 python -- 概論

暑假到了, 想來做一些事, 想了很久, 終於想清楚要怎麼玩了。

從今天開始, 每周會有兩篇「手把手學 python」 系列的文章。每篇文章的閱讀量, 應該是十分鐘內可以看完, 所以, 如果你閱讀速度很快的人, 可以一周來看一次。

另外, 這系列既然我叫"手把手", 換言之, 就是會有一堆操作。所以請自己想法子弄一個使用環境。這個系列主要的環境是針對我自己的工作環境做基準。而我的工作環境是 ms-windows, 在還沒有人提供我其他的工作環境(mac, linux)之前, 就只有 ms-windows。

使用的 python 會是 python 3。針對的使用者會是純粹沒學過程式設計的使用者。

和我熟的人會知道我學程式的經歷, 在這裡就不多提了。所以這次的經歷, 對我來說是很特別的, 因為我想寫給完全沒學過程式的人看, 這對我來說會是很大的挑戰。如果你預期我這系列的文章, 對你會有幫助, 就留個話讓我知道吧。畢竟, 我是個三分鐘熱度的人, 只靠我自己的熱情, 要每週固定兩篇文章, 嗯....有一定的難度。

這篇就先這樣子, 有興趣的人, 請先去弄一台 ms-windows 的電腦或是筆電吧。 如果你沒把握自己安裝(其實這步驟是最重要, 但不必要學習), 就請自己去找人在下一篇章的提示裡, 安裝好 python 3, 以及準備工作環境。

下次見。

2016年2月26日 星期五

e 化家教的備課

e 化家教
e 化家教的硬體
e 化家教的軟體
e 化家教的備課

身為一個老師,備課這些事應該每個老師都有自己的方法。以我自己教數學來說,在授課前對於自己上課要學的東西都必需要有一定的準備。如果不是自己編的講 義,在上課前把要上課的內容充分了解,適當的挑選合適的題目,甚至在必要時重新安排上課的順序;若是自己編的講義,在編寫的過程原本就是備課的一部份。這 些林林總總的備課事項,相信大多數老師都有自己的想法,也不用我在這裡贅言。所以接下來就針對 e 化家教特別要注意的部份來分享。

e 化家教和一般家教在備課上差異比較大的部份有幾個。

1. 授課工具的熟練
2. e 化教具的操作
3. 上課流程的重整


1. 授課工具的熟練

在傳統補習班老師的師資培育裡,板書往往是很重要的一部份,除了字體的美觀之外,板面的配罝、顏色的選用、基本圖形的繪製都是很重要的部份。有些比較在乎 的老師,在設計板面的配置時,會連什麼時候要擦掉哪個部份都有刻意的安排。在這部份,傳統的家教老師則會有一些相異,因為家教畢竟是客製化的授課模式,有 時候學生在問問題時,都會牽動到老師在紙面上書寫,但是每張紙的大小是有限的,所以還是要做一定的安排。

對於 e 化家教方式授課的家教老師來說,這部份就是要熟悉自己核心工具的操作。以我自己來說,之前使用 mimio notebook 時,因為它的系統設定是一頁一頁的,所以在書寫時,就要考慮如何在一頁寫不下時,擷取適當的線索連接到下一頁。而且,當初授課的模式是利用一般的筆電,配 合上手寫板,所以就要練就一套眼睛看著螢幕,手能寫到正確位置的基本功夫。後來改用 sp3 配合上 onenote,因為是直接在螢幕上書寫,再加上 onenote 的系統設計是一張無限大張的紙,所以寫的時候要注意的事就不一樣,為了要能把檔案在課後匯出給學生,所以就要寫成一長條,以免匯出時,字體太小,還要放大 縮小,造成學生閱讀的困難。

另外,在授課過程中,筆型的切換(顏色、粗細、透明度),講義題目的截取,和週邊工具的配合都是要注意的部份。尤其是因為在授課時,手上拿的是電子筆,所 以有些滑鼠或是鍵盤的操作部份,都要想法子能移到筆或是手觸控的部份都要找出來,當你上課的動作愈流暢,效果自然就會愈好,學生就愈不容易分心。

如果你在上課時還會利用到實物投影機來截取學生紙本講義或試卷上的東西時,在平時也要先想清楚這些工具在桌面如何安放才能最順手。就連擷圖時,要怎麼樣才 能取到效果最好的圖,是不是要搭配補助燈光或是輔助軟體,也都要先想清楚。這一些都是授課工具操作在備課時的基本要求。

當然,隨著使用時間的推進,操作上自然也會愈來愈純熟。不過,第一次要踏入這個領域的老師,個人是建議留一到兩個月的時間練習,真的熟悉後再真的上手比較不會挫折。


2. e 化教具的操作

這是 e 化家教和傳統家教最大的差異,正因為利用電腦當成授課的主要載台,所以許多軟體就可以整合到核心系統中,讓老師在上課時,除了紙筆之外,能更輕易的利用各 式的軟體來充當 e 化教具。最常提到的就是相關的電子書、影片,這些相關的資料,在沒有電腦時老師往往都要準備各式的紙本資料,這使得許多老師在上課前總是得再三思考自己背 包的容量來決定什麼要帶,什麼不要帶。還有利用如 geogebra 這類軟體所建構出來的各種模型也能取代許多老師利用保麗龍或是紙黏土所做出來的道具。這些 e 化的教具,除了攜帶方便之外,更可以讓老師們能在課堂上即時建構適合的模型協助回應學生在課堂上所提出的疑惑。

只是想要享受到這些便利之前,老師們得要先在平時學會如何使用這些工具。以個人和其他老師互動的經驗中,其實這些軟體對於沒有經驗的老師來說是一個不易進 入的門檻。尤其是當一個從未建構過的模型,想要即時在課堂時配合課程的進行製作出來,這是有相當的難度的。更遑論利用電腦程式語言當場撰寫程式來展示某些 概念。幸運的是,正如實體的教具可以在課前預先製作一樣,老師們如果沒有把握可以在現場做出來,也可以在課前利用備課的時候先做好。必要的時候,甚至可以 利用一些網路的資源來協助備課的進行。雖然有這些網路資源的協助,但是在教學現場要能順利的展示,老師們還是要熟悉對應的操作。

除了這些軟體的使用外,新軟體的尋找和試作也是 e 化教具使用的重點,除了已經使用軟體的更新之外,類似軟體也許能取代現有軟體,更甚者有時候會有新的軟體能解決一些之前無法解決的問題。這些工作的進行會 建議除了自己在尋找之外,更建議和其他志同道合的老師合作。一個人的視野畢竟有限,新軟體的尋找與應用,有時候真的會像大海撈針,不知方向在哪裡。除非不 得意,沒人可以合作,不然真的不建議自己一個人悶著頭幹。


3. 上課流程的重整

這一系列文章裡,我覺得最難寫的大概就是這一段了。因為就和每個老師上課都有自己的風格一樣,當一個老師從傳統紙筆教學轉而改以 e 化的方式來進行課程時,原本的方法就一定會有一些改變,因為一些新的要素開始進入你的課程,所以你得要為它們找出合理的串連模式,這和傳統模式是不一樣 的。

舉例來說,傳統的紙筆教學時,你不能夠任意移動畫好的物件,但是在 e 化教學裡,你往往不止可以移動它,你甚至可以複製它。所以在過往教授國中幾何證明時,我們會希望學生能夠想像的影像,在新的授課模式裡,學生能直接看到。 但是如何讓學生理解這些影像卻不會過度依賴而造成沒有這些動態影像時,學生就無法解決問題,這對於老師在設計課程時,就必須要重新再思考過。

甚至有些老師會習慣拿一些故事串場,在 e 化的要素加入後,老師們會有更多的選擇。適時的利用影片、音樂、甚至是小遊戲,都能增進教學的成果。只是要如何把這些新元素找到它合適的出場方式,就是老師們在備課時要傷腦筋的事。

不過,在新元素加入時,那些既有的要素並不代表就不重要了。相反地,我覺得,沒有能力以紙筆這種基本的方式上課的老師,是沒有能力完全掌控 e 化教學。因為 e 化教學只是教學的其中一種呈現方式,既然稱之為呈現方式,就表示原本的內涵是最重要的基本。所以個人會建議,在備課時要做的是重整為優先。除非老師已經很 了解課程的本質,又很清楚 e 化教學的各種要素,不然真的不建議冒然的引進 e 化教學,並且重新打造新的教學流程。比較建議的方式,是一部份一部份的把 e 化的元素引入原本的教學流程裡,別讓引入的要素凌駕原本的授課流程。


除了上述這些和授課相關的部份外,其實適時的使用各種軟體也能簡化並強化備課的工作,例如利用 Xmind 來建立相關課程的心智圖,利用合適的編輯工具來編寫講義或出考卷。當然,這都可以更進一步的討論,不過這幾篇文章是算比較基礎而概略的介紹,所以就先到此 為止。如果各位有什麼想法,不管好的,不好的,甚至只是一些小回應,都能給我一些想法,期待各位的回應了。

e 化家教的軟體

e 化家教
e 化家教的硬體
e 化家教的軟體
e 化家教的備課

對我來說,電腦的使用核心一直是軟體。就像我自己不懂車一樣,我也一直都不了解電腦的硬體,淺淺的理解只是為了讓自己能夠買到合適的硬體來搭配自己的硬體 的使用。而在 e 化教學這塊也是一樣,在現在科技不斷進化的時代,硬體已經進化到遠遠的足夠大多數老師的使用了。真的要再進化下去,大概就會像 SAO(刀劍神域)裡面所提到的虛擬實境或者是立體投影技術的出現,才會有更進一步的變化吧。
所以回到 e 化家教來說,重點幾乎都在軟體的選擇。以目前我自己的體驗來說,軟體的使用大致上分成幾個部份

1. 核心系統
2. 週邊程式
3. 備課系統

接下來就分別就這幾個部份來聊聊吧。

1. 核心系統

所謂的核心系統就是在授課時,老師和學生除了口頭對話之外的主要互動場合。以學校老師或是補習班老師來說,最常見的就是白板/黑板。而以 e 化家教來說,因為場地的不同,基本上都是在電腦上直接和學生互動,電子白板所附的程式其實也會是一個不錯的選擇。目前網路上也有一些免費的系統可供使用。 這一類的系統有兩大類:

一種是你可想像就是在電腦的桌面上蓋一層透明膠片,利用切換的方式,讓使得者可以在上面書寫。好處是這種系統往往不太佔資源,所以一些效能沒那麼好的小筆 電也可以使用。但是也因為系統的特性,它往往無法儲存整個授課過程,真的要把過程存起來,就得利用截圖或是同步錄影。而且往往在切換書面時,之前寫的東西 會消失不見,這對長時間的授課是個很大的困擾。

另一種則是類似 ms office onenote 這種,本身提供一個畫面讓你書寫,正好和上一種相反,雖然耗資源,但是可以很輕易的儲存整個授課過程,甚至可以協助轉檔成像 pdf 這種容易讀取的檔案格式。
但是不管是那一種,都應該要有幾個功能是必備的。

a. 不同色的筆型的切換,包括顏色/粗細/透明度。透明度其實就是指有沒有提供螢光筆的功能,因為在使用時,會有在既有講義上畫重點的需求,如果能有像螢光筆 這種半透明的筆型,在使用上會方便很多。至於有些系統提供像毛筆或是鉛筆之類的筆觸,倒是沒那麼重要。而在提供不同筆型的同時,簡單的切換更是不能缺的功 能,否則提供各種不同的筆型,卻在切換時得要很複雜的操作,會讓使用時失去作用。

b. 簡單的幾何工具,像直線/圓/矩形等,雖說基本的繪圖能力是老師的基本功,而且一些週邊程式也能提供不錯的支援,但是有這些簡單幾何工具的協助對於授課還是相對方便的。

c. 截圖功能,這是對於第二類的電子白板的必要功能。如果少了這個功能,除了在授課時,老師可能得需要抄題抄到瘋掉。另外在和週邊程式結合時,也會有一定的不便。當然,如果是第一類的系統,就沒有這種需求。

d. 轉檔匯出,特別是 pdf 檔。這對於在授課後,會把檔案留給學生當筆記或是想回去在備課時自我檢討修正的老師特別重要。
以目前我自己的使用來說,我是使用 ms office365 裡的 onenote 2013 來當作核心系統,這和我的電腦是 surface pro 3 有很大的關連。它算是我很滿意的核心程式,除了上述的功能都有提供之外,它本身因為是 office suit 裡的一支程式、所以和其他的程式像是 word , excel, powerpoint 都不錯的整合。尤其是它提供無限大張的書寫區域更是上課時很強大的工具。


2. 週邊程式

這部份就很難描述,主要是隨著每個老師的習慣和能力不同,習慣操控的程式也不同,但是不管是使用什麼程式來協助,重點都是在幫助老師的授課、所以我就只是介紹我自己在上課時會用到的程式。

a. GeoGebra
這大概是我使用的週邊程式中最重要的一個,它主要是我在 2D 平面上的幾何教學。它提供了大多數重要的幾何工具以應付國中/高中的幾何以及解析幾何操作。更重要的是它提供了"動點"的概念,這讓數學老師在做基礎的幾 何概念講述時,有更多發展的空間。另外,它也讓使用者可以利用方程式輸入的方式來建樣幾何概念,這除了能協助授課之外,也讓老師們能更輕鬆的建構編撰講義 或考卷時所需要的附圖。當然三言兩語其實很難道盡它的好處,有機會再專章論述。

b. Cabri 3
這是在早些年,一次在清大家教社演講時,一個清大學生提到的程式。在回家之後,就找到這支程式並且納入我授課的內容裡,主要是針對立體空間圖形與概念的呈現。不過這支程式很有趣的是它販售的方式,它除了賣斷之外,也能以租用的方式每年付費。

c. Xmind
心智圖是一種很有趣的概念,而這支程式能讓我快速建立心智圖,並且做必要的調動。這在總複習的課程裡助益頗大。

d. ms office excel
這支程式應該不太需要介紹,試算表本來就是用在統計的課程裡。

e. perl
嚴格來說,這不能算是一支程式,而是一種程式語言。這大概是我個人在授課時的優勢,因為我自己會寫程式而且寫程式的速度不算慢。所以在授課時,我會利用一些小程式讓我的學生看到課程上所需要現象,例如二項分佈在樣本數量很大時,會逼近常態分佈之類的狀況。

f. pdf reader/kmplayer
這是兩支不同的程式,但是會放在一起,主要是因為我把它們當成單純的播放資料的程式。功能上是差不多的。
林林總總寫了一堆,想說的是,這些週邊程式真的是看個人喜好。反正只要能協助學生便於理解授課內容的,對我來說,就是好用的程式,正如以前的老師會使用教具一樣。


3. 備課系統
顧名思議要講的就是在備課時會用到程式,主要還是看每個老師在意的點。相對於不少老師會利用 word 來編講義和考卷,我自己是偏好使用 LaTeX 來編,可能是在早些年我用的作業系統不是 windows 有關。LaTeX 除了在數學式的表現上會比 word 好之外,跨平台可能是它最大的優點。不過隨著 microsoft 的改變,甚至開始在 ios/android 上也支援 office suit 之後,這部份的優勢慢慢的就消失了。

另外,附圖的部份,geogebra 是緊急時我很喜歡的工具。不過平常我還是比較偏好利用 libreoffice draw 來畫附圖,主要是因為它可以把很多張附圖都放在同一個檔案裡,這方便我搬移資料與備份。geogebra 也能夠在備課時,協助我思考授課的流程,以及出考題時,數據的設計。

叨叨絮絮講了這麼多,個人的想法和建議是,在選擇 e 化家教的軟體時,真的要看個人的使用習慣以及上課的方法。不然,選了一個不合適的軟體,對於授課反而是妨礙,還不如用紙張和筆上課來得有效率。