2010年1月12日 星期二

一位高中生的來信:關於選系


一位高中生的來信:關於選系


一位高中生的來信:關於選系

曾經有位我兒子的高中同學來信問我有關選系方面的問題,因此我將我的一些思考稍做整理後趕緊分享給他,希望能對他有所幫助。以下略微修改其來信,以隱其名,並將我的回信也附上,希望能拋磚引玉,讓更多的人能分享他們在選系方面的經驗與智慧。

================================
親愛的謝尚賢教授:
我叫OOO,因為最近面臨大學選系問題,我所要選擇的校系是中央土木工程學系和中正通訊工程學系,但就一個高中生而言,要決定自己對哪方面科系有興趣,其實是不實際的,因為我們高中所接觸的都是理論上的物理化學數學,對於專業領域可說是一竅不通,因此想請問教授些土木工程問題:坦白說,生活週遭很多人都不太建議走土木,總認為土木為夕陽產業,在科技發達的現代,已無多大的市場,而應該走高科技產業,例如電機、通訊、光電;但亦有人說生活週遭都充滿有關土木的東西,將來在環工方面也必會成為很欠缺的人才,反而是電子產業因為大家蜂擁而讀,造成飽和的現象。
面對多種不同的講法,我想教授是否能在百忙中抽空回信給我一點建議,我想了解專業的土木人對土木工程的見解與認知,甚至是未來工作以及人生走向,提供我更多的想法,以決定這個影響深遠的決定,謝謝。
=================================
OOO同學:
選系對你們而言的確不容易,我會盡力分享我的想法,供你參考。
以下的思考,或許可以協助你選系:
  • 先不要去管你需要修哪些學科,與你對他們有無興趣,請先試著思考你將來完成學業後(可能只是學士,也可能是碩士或博士)想要從事什麼?什麼樣的工作會是你所喜歡的?例如,在辦公室裡或是需要常跑戶外?多是自己獨立作業還是需要與許多人共同合作?然後再想想哪些學科領域你比較有興趣(一般也都會學習得較佳),最後檢視哪些學科最能提供畢業生你所喜歡的工作機會,這些應都是你可以考慮的。
  • 你預定何時投入職場?目前在臺灣的工程領域,有很大部分的同學都會唸完碩士,當完兵,才就業。對你而言,也就是至少6-7年以後,你可以預知那時所謂的高科技產業會是什麼嗎?會是電機、通訊、光電嗎?還是這些產業也慢慢走向平穩發展,其他明星產業又冒了出來?又每個產業都會有它的週期發展,總是有起有落,如果能在準備好時(應是進入職場至少數年之後),掌握到產業的高峰期,那就太棒了,但現在要預知未來之事,誰也沒把握。
  • 土木工程的內涵很廣,只要是與民生有關的工程,都是土木人所關心的。因此,土木工程脫離不了人類為了生存與追求生活品質提昇的需求,例如提供樓房、工廠、道路、橋樑、隧道、水庫、自來水與污水處理、休閒設施、機場、港口、車站、防災設施等等隨處可見之工程,而要這些工程能順利完成又會牽涉到許多其它的產業,例如機電空調之製造業、車輛製造業、通訊電子業等等,土木工程師必須要能將東西整合起來,才能完成工作。而大學的土木工程教育,提供一套以提昇人民生活品質為目標之工程系統方法,讓你有基礎可以去從事土木這個產業,甚至其他相關產業的工作。念了土木,是學一套土木的方法,它也可以應用在許多不同的領域,因此,土木系的校友幾乎在各行各業都有相當成功的例子。
  • 我認為,不管你是念大學的哪一個科系,你都是在學一套系統方法,來幫助你分析與解決問題,就像學武功一樣,不管是少林派、武當派、還是峨眉派,都是一套完整之武功,也各有所長,只要你學得好,就是武林高手,也就不用太擔心產業的起起伏伏。至於該選那個門派,那就看你覺得哪一個比較適合你自己學,而可以成為頂尖高手。大學的科系並不是來限制學生的發展的,而是要提供一個養成環境,一套基礎養分,讓學生可以在這個基礎上去逐夢,發展出符合自己興趣的獨特風格,開創出自己的一條康莊大道。因此好的大學,會提供學生好的學習環境,例如可以修習輔系、雙主修等。因此,我一向主張既要選系,也要選校。
  • 土木不會是夕陽產業,因為人類社會與文明的發展離不開土木,只要需求不會消失,就會是永續的產業,而重點應是能否持續進步發展。只要人們需要進步,土木應就會持續進步。
拉拉雜雜寫了許多,希望對你有些幫助!
祝 好
謝尚賢

為什麼土木系還必修計算機程式語言的課?


為什麼土木系還必修計算機程式語言的課?



2008年初收到一封目前已在某知名大學教書的學生的來信如下:
==================================================
RE: 為什麼程式設計(Fortran C/C++) 是土木系必修的課?
親愛的謝老師:
我相信也許您這邊會有一個不錯的答案?
今天在XX大上課 有一個學生問我 為什麼我們要學寫程式?
當然我努力嘗試的回答他說明會寫程式 可能帶來的總總好處 對於以後的 學業 或者 研究 工作 等等

可是回來的路上用別的角度來想這個問題
其實我也有同樣的困惑
我的大學同學們 以前ㄧ樣 修過這些基礎的課 (程式設計 工程演算法 數值分析 有限元素 Fortran C/C++)
仔細算算現在還在寫程式的 好像只有我(或者還有一兩個吧)
身為一個土木人 真的需要學這個東西嗎? 如果不是待在 研究 研發單位 繼續做研究(當老師 或者繼續深造)
有需要這種技能嗎?
我可以理解 老師們為什麼會認為 這是基礎課程
因為老師們繼續從事研發 研究的工作 所帶領的研究生也須要(或者正在學習) 從事研究 研發的工作
現有的電腦工具當然是 經常不能滿足需求的(或者實在太貴了付不起錢)
如果現在的工具能夠滿足需求那就常常表示問題已經被解決了
所以就算是有再強大的工具經常還是需要 一小段程式碼才能更有效率 更符合需求

如果像我同學們一樣 當個公務員 工程師 會使用電腦軟體 並具有domain knowledge 也就足夠
使用 商業用的 品質掛保證的電腦軟體 也不需要會寫程式

打從我當研究生開始 到現在 經歷 10個年頭 寫程式 對我來說 是一件頗有心得的事
可是就連我 還是會忍不住想
如果我以後 不從事 研究 研發 或者 當個教師 分享我的經驗 我這項才能對我有什麼特別的用處嗎?

這似乎像人生裡的眾多選擇一樣 人的生命(或者時間)是有限的
選擇了某樣東西 最後當然也就捨掉了另外一些東西

真是個傷腦筋的問題!!
需要老師一些意見的 XX
==================================================================
你是否也有同樣的困惑呢?在此分享我的回信如下:
很好的問題。我每次教計算機程式的必修課,就會重新思考這個問題,也都會在第一堂上課說明課程目標時,跟同學們分享自己的思考。
不過,我也不敢說已有非常滿意的答案,尤其是資訊時代變化得這麼快,只有時時反省思考,努力學習,才不會過時落伍。
以下分享我目前的思考,供你參考。

學生們學習一門課程時,直接的思考是「為什麼要學這門課?或學習這門課有什麼用?」,自然的,老師們教學時也不可避免的應該回應這樣的疑問,
只是,老師們常會從更寬廣的角度來思考這個問題,甚至觸及如「大學教育的目的」等層面之議題。
或許你覺得我扯得太遠了,不過我的確是如此看待此問題的,也常藉此與同學們討論他們來大學求學到底要學些什麼的相關議題。
因為,我覺得一旦他們能把這些根本問題想清楚,應能有更正確的學習態度與更強的學習動機,而這些都是良好學習的基礎,不只在大學裡,也在他們離開學校以後。
此外,以整體的角度來檢視個別的必修課程,才能比較清楚地看出每門課為達整體教學目標(目前在工程教育認證的推動下,每個工程科系都應發展出自己的教育目標與特色),所應扮演的角色與應達成之任務,也才能設計出適當的課程學習內容。因此,以下之課程規劃與思考,或許具有一定的普遍性,但也可能只適用於台大土木系目前的整體課程中,請配合你們系的整體教學目標來調整。

我同意你所說的,隨著資訊時代的進步,將來只有少數的同學會需要撰寫程式,且其中的許多同學也可能不會繼續用這門課所教授的程式語言來撰寫程式,因此,這門課的重點不應只在會用特定的程式語言來寫程式,而應包含如何透過電腦程式語言的撰寫,來增進學生在與電腦溝通互動時,對電腦的運作邏輯與限制的理解,還有如何透過電腦語言及電腦程式之設計、寫作與維護之介紹,讓學生了解如何撰寫電腦程式解決工程領域中的問題。當然,我也同意,教會同學們會用特定的程式語言來寫程式,是課程中所必要的,只是我認為這只是主要的手段,而主要的目的。也就是說,如果這門課只是定位於教會學生使用特定的程式語言來寫程式,便會屬於一種傳授特定職業技術的課程,一些志不在此的同學們就會有為何要學的疑惑與抗拒。但如果這門課想教的是透過程式寫作這樣的與電腦近距離的接觸與互動,來對e化社會中已不可或缺的電腦有更進一步的理解,我想這樣的知識與經驗對學生而言應就不會有以後用不到的問題,但是我必須要說,要說服全班的學生們有這樣的共識並不容易。
或許你接著會問,既然重點不只是在會用特定的程式語言來寫程式,那麼該選擇教授那個程式語言才最能達到前述之課程目的呢?關於這個問題,我認為若先不考慮授課教師的意願與專長,或許可以從下面的幾點來考量。從程式語言的豐富性來考量,C/C++是個很好的選擇,若覺得不需要介紹指標,Java與C#也是不錯的選擇;從程式語言的未來性來考量,C/C++、Java與C#都是不錯的選擇。但若再考量視窗寫作上的教學需求,可能C#會是很好的選擇;若想挑一個較簡單又支援視窗寫作的程式語言,VB應是不錯的選擇;從工程的應用角度考量,以Excel或MatLab為基礎的程式寫作也是可以考慮的選擇。我覺得未來的程式寫作(尤其在非資工領域),將逐漸朝向視覺化程式寫作(Visual Programming)方向發展,是否會有為工程專業而設計的此類程式語言崛起,也是值得密切注意的。
另外,在課程的設計上也有幾點心得提醒你注意一下。因為這門課的學生在程式語言的寫作能力上與學習的興趣上,通常都會有很大的差異,因此在教學上與作業的要求上,要拿捏好一個能達到教學目標的基本標準, 讓程度中等及以下的同學們經由適當地努力皆可達成要求。儘量增加上機實作演練機會,降低講授進階技巧之比重,但為了讓程度好的同學不會覺得課程太簡單,可以設計一些具挑戰性的加分作業,鼓勵他們自己更深入的學習。如何讓同學們跟上進度也很重要,因為這門課的學習有賴知識與經驗之累積,學生一旦落後進度太多,很可能就此跟不上而無法通過課程。
此外,我認為這門課還可以訓練同學們的邏輯思考與組織能力,只是如何在課程中讓同學們理解這點,也需要在課程中費心安排與設計。
以上供你參考,希望有所幫助。


謝尚賢