關於陳鍾誠

作品

書籍

課程

程式集

小說集

論文集

散文集

影片集

編輯雜誌

程式人

電子書

JavaScript

計算語言學

微積分

Blender 動畫

C# 語言

系統程式

高等 C 語言

Java

Android

Verilog

Wikidot

R 統計軟體

機率統計

計算機數學

組合語言

人工智慧

開放原始碼

網路資源運用

計算機結構

相關訊息

常用工具

友站連結

在家教育

RSS

最新修改

網頁列表

簡體版

English

我是金門大學資工系的助理教授,自從進入大學教書以來,我就走了一條與一般老師不太一樣的路。

我非常喜歡寫程式,凡是程式相關的東西我都想玩一玩,所以您可以在本網站找到很多程式碼。

我是個老師,經常透過程式的角度看世界,所以一直有個心願,希望資訊工程領域的課程都落實為程式。

我學習 R 語言,是為了教學生機率統計,學習 Verilog ,是為了教學生數位電路與計算機結構。

資工的課程大至可以分為「硬體、韌體、軟體、網路、多媒體」等幾類。但是,在課堂上由於很多課程實作不易,所以老師會採用理論的方式講解,但是我認為這對學生而言有負面效果,學習了一堆理論卻沒有實作,很難達到學以致用的境界。

舉例而言,當我用了 R 語言去教機率統計時,我們就可以很清楚的用幾行程式顯示出中央極限定理,這種方式可以讓學生真正體會到「數學的真實意義與用途」。

另外,傳統上在教授「計算機結構、作業系統、編譯器」等課程時,往往由於真實的 CPU、OS、Compiler 都太過複雜與龐大,以至於老師都只能傳授理論,而無法讓學生真正感受到這些程式,所以我決定進行「開放電腦計畫」,目的是盡可能的降低這些程式的複雜程度,降低這些課程的學習障礙。

開放原始碼資源給了我們這些熱愛程式的老師一個機會,可以運用開放原始碼程式,以及網路上的開放原始碼教材,將整個資訊工程領域的課程落實到實作層次上。我相信開放原始碼運動會持續改變教育的方式,而這也正是我最想參與的事情。

目前,我鎖定了三種程式語言 — Verilog, C, JavaScript ,透過這三種語言分別闡述「硬體、韌體、軟體」的運作原理,希望重新詮釋資訊工程領域的課程。

領域 語言 課程 實作
硬體 Verilog 數位邏輯、計算機結構、FPGA 開放電腦計畫 CPU0
韌體 C 系統程式、嵌入式系統、作業系統、編譯器、解譯器 開放電腦計畫 AS0, VM0, CC0, EOS0, OS0
軟體 JavaScript+node.js 數學、網路、訊號、影像、語音、AI MathNode.js 取代 MatLab, SPSS

當然,以上這些語言仍然難以涵蓋整個資訊工程領域的課程,例如我就使用 Blender 來教學生動畫設計,但是 Blender 所支援的語言 Python 並沒有在以上語言當中。

我們仍然持續不斷的透過開放原始碼資源改進教學當中,舉例而言,我現在也在學習 Arduino ,以便接下來可以教授「單晶片微處理機、機器人實作」等課程,甚至希望能進一步將 Arduino 的 CPU 改為 CPU0,以融入到整個開放電腦計畫當中。

最近透過 Jserv 的介紹,我開始注意到 Gnu Radio 這個有趣的計畫,我相信如果用 Gnu Radio 來教授「通訊電子學、無線網路」等等課程,應該會對學生有很大的幫助,所以我也持續關注這個專案,以便在幾年後能陸續推出這方面的課程 (Gnu Radio 所使用的是 C++ 與 Python)。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License