May 03 16:54~18:20
一個月前長榮大學資工系的鍾教授邀請Teddy到他大學部任教的課程以「業界人士」的身分給個兩個小時的演講。台南,Teddy快二十年前當兵的地方,有好幾年沒去台南了,有點遠又不會太遠的地方。什麼,高鐵通車之後都一日生活圈了,哪有什麼遠不遠的問題。承蒙人家看得起,當然要去南台灣對年輕學子宣揚一下「搞笑談軟工」。
演講日就在今天,調了兩個鬧鐘,起了個大早,表定六點起床拖到六點二十分才依依不捨地離開溫暖的被窩。打開電視,耶,剛好在重播阿兩…這不是重點。回神之後快速吃了早餐,洗個澡,打理好門面之後出門搭火車到板橋車站轉搭高鐵往台南。
沒想到從台北搭車往南部的人那麼的多,九點十幾分到達台南高鐵站之後好多人下車,該不會都是要去南科做生意的吧?從台南高鐵站可以轉搭台鐵火車往台南市方向,只要搭一站就到長榮大學。鍾教授很好心到車站接Teddy,這是兩人第一次碰面。
今天演講內容是主要是Teddy今年三月在ezScrum團隊所舉辦的講座中所講的關於「Scrum框架下的流程改善策略」的…算是「精華版」…XD。投影片內容可以在「這裡下載」。演講內容Teddy就不多說了,談一下現場鄉民問的四個問題:
學生甲:業界寫程式會用到MVC架構嗎?
Teddy:會,而且用很 大 多。尤其是開發Web applications,因為很多Web applications框架都是MVC架構,所以不用也不行…XD。
學生乙:有時候會鬼打牆,腦袋裡有solution卻無法用程式寫出來,要怎麼辦?
Teddy:這應該不是鬼打牆,這是程式寫的不夠多。最簡單的方法有兩個,首先到網路上去找資料,看看同樣或類似的問題別人是怎麼用程式來表達。再來就是平常要多寫程式,多練習。資工系大學畢業生,至少要寫過一個超過一千行程式的軟體。
學生丙:你演講中提到很多次「寫程式要寫測試」,可是如果測試資料很多,又不知道要如何準備才足夠。
Teddy:嗯,首先,Teddy講的測試是指「自動化單元測試」,這個可以參考所謂的xUnit工具。其次,測試資料要怎麼準備才足夠,牽涉到軟體測試方法以及待測程式問題領域的問題。最簡單的方法就是看看不同的測試資料可以達到多少的「測試涵蓋率(test coverage)」。
鍾教授:你演講中提到很多敏捷實務做法,例如unit testing、refactoring、continuous integration、pair programming等等,如果時間與資源有限,你建議先採用哪一種?
Teddy:自動化單元測試,基本上「現代人」寫程式一定要搭配撰寫單元測試。
***
這是Teddy第一次到「外校」對學生講軟體工程方面的主題(之前只有在內校…不對,應該是母校,對學生演講的經驗)。以「業界人士」的身分,Teddy誠心希望台灣的大學資工系所可以多講授一些軟體設計、架構、design patterns、開發、實務做法、生命週期管理等等的課程。甚至像作業系統、程式語言、編譯器等基礎課程也很重要(如果能安排實習或出很多寫程式的作業更好…XD)。雖然這些課程可能「沒有學術價值」,也不能幫教授們出「SCI論文」,但是如果要為台灣培養好的軟體開發人才,這都是很實際的訓練。
啊,一不小心又認真了起來。
***
演講結束已接近中午,鍾教授請Teddy用了午餐之後,開車帶Teddy到高鐵車站搭車,回到台北家中已是下午四點左右。突然想到,本篇標題「台南半日遊」應該改成「台南0.8日遊」…XD。
***
友藏內心獨白:教育部的SCI政策真的會害死台灣的很多工業。
作者已經移除這則留言。
回覆刪除元智大學的作業系統課程中有用C實做semaphore、monitor的作業(理髮師or哲學家);台灣大學的作業系統有去實作unix的system call。然而我的大學母校作業系統非常簡單,大概1、2小時就秒殺了(內容我忘記了..)。
回覆刪除我認為要有效的學習,除了實習課程外,作業也應該要有一定的難度、貼近生活例子、引起學生興趣等。
(最好難到學生外包讓大家有額外收入)
友藏內心的獨白: 假如作業太多,就無法練就魔獸、CS、世紀的超強技術。
Web application框架雖然大多是MVC架構,但不代表用了Wen application框架就是『用對』MVC架構,不然就不會有幾千行的JSP了。
回覆刪除