Sunday, August 7, 2011

Salman Khan:影片能改變教育 | Video on TED.com










http://www.khanacademy.org


我心目中最棒的TED影片 (ps演講完,全場起立鼓掌)


節錄演講片段:

"這是我第一次算導數會微笑。"

"而且這些影片永遠不會變老,它可以幫助他們的兒子、或孫子。
如果牛頓上傳一個微積分的youtubve影片,就用不著我了。​"

"我們只要把看影片變成他們的功課,然後把以前的回家作業,變成​在課堂上的習作。"

"這裡有幾件有趣的事:1.當這些老師開始這麼做時,學生可以用​自己的節奏學習,隨時暫停或複習。2.科技可以實現因材施教的方​法,老師可以從旁輔助,甚至讓學生互相教導學習"

"更好的是,我把這些綠色的學生,送到前線,教導他們的同學。"

"不盡讓人想到,我們身上所貼的這些好/壞標籤,有多少不過來自​偶然?"


----------------------------------------------

很棒!!!! 請先看這個介紹
Khan Academy - 超過 2100 部免費教學影片的線上學院!


"Khan Academy 並非一開始就存在,創辦人 Salman 原本也只是個用遠端教學教他姪女(Nadia)的家教,為了解決她對於七年級數學的一些困惑,經過他的教導,Nadia 終於趕上班級的進度,甚至還超前呢!之後他開始用類似的方法教他的其他兄弟姊妹,但因為他本身還有工作要做,且美國各地都有時差,為了解決這個問題,他開始製作教學影片並且把教學的內容放到 YouTube 上,他當時只是單純的想解決這個問題而已。(詳細可參閱網站的 FAQ)
影片來源:Simple Equations

沒多久,許多在 YouTube 上的學生以及大人看了他的影片之後,發現其內容之棒超乎想像,並且在底下的影片評論留下極佳的讚賞,短點的例如:「我怎麼沒有早點看到這些影片?」、「這真是太棒了!我受益良多!」當然也有很長的感想:「我從沒有聽過有人能說得這麼棒,你的影片著實的幫助了許多年親人以及成年人。我今年65歲,而我現在才能夠全然的了解代數是甚麼。學習一個新的概念就像一位衝浪者抓住一個波浪或一位登山者攻頂後一樣的興奮,這就是所謂的成就感,而這感覺真的讓人覺得很舒暢。非常感謝你的幫助使許多人感到滿足。(譯自原文)」

在影片中有提到一個學校的計畫,且居然在詢問後的幾天內學校就將一些年級教學課程給 Khan Academy 處理了!這真是太令人驚訝了,而且他們正在開發的軟體其功能非常強大…不過這裡不打算介紹軟體,因為筆者自己還沒使用過 XD

雖然目前的影片都是使用英文發音加英文字幕,但我想,若有人能夠幫忙翻譯的話,相信這些影片會對我們非常有幫助。因為在我觀賞過微積分的部分後,我對微積分的概念更加的清晰,並且真的使我受益良多!

而這全新的教育方式已經影響了許多人,依個人感覺它比目前台灣提倡的許多遠距教學來得有效果,並且其內容豐富的程度絕對超乎你的想像,內容淺顯而易懂,該有的一個都沒少,如果聽不懂的話還可以讓講者暫停、倒轉、重播…想聽幾次都沒問題,甚至還能在半夜叫他為你講課!

準備好接受這跨世紀的教學網站了嗎?超過 2100 部的影片、100 個自我練習測驗程式,範圍橫跨數學、物理、化學、金融以及歷史等領域!請準備好你的腦袋與紙筆,開啟音響,前往 Khan Academy 找找有沒有你感興趣、想加強的課程吧!"



.

周思博趣談軟體

周思博趣談軟體

一些給進階的程式設計師的經驗文章

列舉篇章:
程式師的使用介面設計手冊
讓錯的程式看得出錯
無痛錯誤追蹤
無痛功能規格
約耳測試: 邁向高品質的12個步驟
無痛軟體時程
軟體人員面試教戰守則




.

Friday, August 5, 2011

程式設計 遇上小提琴

程式設計 遇上小提琴
"Victor's個人部落格,關於程式設計與小提琴"

" 我是Victor Lin,Now.in的創辦人,興趣是程式設計,Python目前是我最喜歡的語言,從國一開始寫程式到現在已經有十個年頭,不過還有很多要學習,除此之外偶爾用小提琴製造一些噪音也是我的興趣之一 "


很棒的部落格,寫python,程式觀念,應用等等

推薦文章 那些在Now.in學到的 – Software engineering practices
"邊移動邊開火才是正確的方式,這有一部份的想法是來自約耳談軟體,如投影片所看到的,一開始先從最核心的功能做起就好,然後看使用者的反應與需求再來改版與新增功能,盡量保持每個開發循環很小,才能抓到使用者所要的"




.

李大師您多久沒寫程式了 ? 一百個你不應該繼續用Dev C++的理由

李大師您多久沒寫程式了 ? 一百個你不應該繼續用Dev C++的理由


學生連開新專案都學不會?

Dev C++最大一個特色就是不用開新專案就能編譯並執行程式,在我所知道的IDE裡這是極少數有這樣特性的環境,至少以現代的眼光來看盡是如此,如果是遠古時代的Turbo C之類的就不用比了,因為這樣特性的使然,一堆學生連開新專案都不會,你或許會說,不會開新專案又怎樣?

不會開新專案問題就大了,不管是debugger、編譯器設定、函式庫連結,這些都得先建出一個專案才能進行設定或使用,不管是Visual C++、Eclipse、Code::Blocks等你所能找到的所有現代IDE都是如此,連開新專案都不會就在寫程式就好像連走路都不會就在跑步一樣的糟糕

多數不清的臭蟲和怪異的行為

因為Dev C++專案已經陣亡多年,所以其中有數不清的臭蟲還有詭異的行為都沒有被修正,通常遇到了就像是鬼打牆一樣,debugger也是問題百出,常常有些同學的程式有問題拿來問我,我在檢查了多次都找不到問題所在,接著拿到其它的IDE下就能正常執行,最後發現其實是Dev C++本身的缺陷所引起的,只能苦笑著說是Dev C++發生鬼打牆,這對初學者有什麼影響?

這影響可大了! 初學者連最基本的東西都不會,他們需要的是一個可以信賴的環境讓他們可以知道什麼是對的什麼是錯的,但是今天這個環境連什麼是對的什麼是錯的都沒辦法確定,這樣有可能可以學好程式設計嗎? 有可能嗎?

無法教會學生使用除錯器

除錯器(debugger)是學習程式到底是如何執行的,以及找到錯誤的好幫手,有一點程度的程式設計師都知道這叫trace,也就是追蹤,但是因為Dev C++本身的問題,其除錯器的功能殘缺就算了,還有一大堆未知的臭蟲在其中,更慘的是搭配先前不用建專案就能執行,就算建了專案還得手動加入除錯的選項才能使用,使得用Dev C++教會學生正確地使用除錯器根本就是天方夜譚。

Monday, August 1, 2011

程式設計心法:化繁為簡,執簡御繁

程式設計心法:化繁為簡,執簡御繁(上)

程式設計心法:化繁為簡,執簡御繁(下)

"開發系統時,通常必須面對各式各樣看似十分繁雜多變的需求,但往往需求與需求之間本質上又有共通之處,倘若能夠掌握,就能更輕易處理這多變的需求。 "

"倘若,發現了qsort()的實作有問題或需要加以擴充,只需要修改這唯一的一份qsort(),其餘呼叫qsort()來針對不同型別進行排序的程式碼,完全不需要更動,重複程式碼在維護上的問題也完全消失。 "

"我們需要針對五花八門的型別進行快速排序,這是可以看到的繁複表象,但在繁複的表象之中,有一個很簡單的核心,就是快速排序的演算法本身。倘若我們能夠像這個例子中一樣的「化繁為簡」,那麼便能夠憑藉著既單純又簡化的核心,「執簡御繁」。 "


"此即本文所想要表達的重點,當你能夠「捕捉事物的共通性」建立起程式的核心時,就可以進一步透過「界定事物的相異性」,為不同的需求建立起搭配核心一同使用的殼。 "


"核心所表示的特質就是共通性,而殼所實作的,便是不同需求之間的差異性。「化繁為簡」意謂著透過分析的手段,從看似繁瑣的諸般變化找出共通性,簡單地說,共通性就是化約後的純淨表示。"


"在概念的階層分類體系中,愈往上層愈是一般化,愈是抽象,因為它代表的是底下所有概念的共通概念。而愈往階層分類體系的下方移動,概念就愈具象,所涵蓋的範圍就會愈來愈小。

物件導向的繼承機制,其實就是試著支援人類早已習以為常的知識分類方式。而且物件導向的精神在於,讓程式員試著以理解真實世界的方式,來描述解決真實問題的電腦系統。繼承機制的支援,希望程式員能夠更自然地運用概念分類階層,以真實世界的方式理解軟體系統的開發。"