download all pdf slides
4up for print, color
過去年度課程與實習視訊:1061,
1071,
1081,
1091
本學期
(1101) 課程與實習視訊
(課程/實習視訊也可在 tronclass/etutor 上看到連結)
課程摘要 | |
---|---|
第一週 110/09/21(二) | 中秋節, 本校 1101 學期 9/23 日開始上課 |
第二週 110/09/28(二) |
請注意 1.下面有一些投影片裡面是有動作的 (例如 練習寫程式的要求, 檔案名稱有 splitted 字串的), 在瀏覽器 chrome 裡請按右上角 ... 選擇「簡報」模式觀看,請不要在 IE 或是 edge, foxpro, safari 裡面直接看, 那樣子看不到投影片上的動作, 或是請到 https://get.adobe.com/tw/reader/ 下載並且安裝 Adobe Acrobat Reader DC, 把投影片下載到 PC上再用這個軟體看, 用 PgUp 和 PgDn 按鍵瀏覽, 才能夠看到所有投影片裡的動作。如果是在Android 手機或是平板上可以用 Xodo PDF Reader (設置/點擊兩側翻頁: 開啟, 翻頁動畫效果: 關閉;請用 點擊畫面左側, 點擊畫面右側 換頁)。如果是在電子書上面,通常有客製化的 pdf 瀏覽器是比較合適的,2. bw 版本的投影片是黑白、白底、4頁合在一起的版本,適合列印。 系上把這個課程分成四班,不是要你體驗霍格華茲四個學院 Gryffindor, Slytherin, Hufflepuff, Ravenclaw 魔法競賽的真人版,目的只是希望讓大家藉由這個課程提供的資源,能夠在一個學期裡確實掌握基本的程式設計方法,倒不是因為這個課程難度特別高,需要你每星期投資 n 個小時在上面,而是因為這個課程的學習的方法和你先前的學習方法有差異,第一個差別就是遇到不太能解釋的問題要直接詢問,不要想賭賭看,一直到你發現真的需要之前也許不會再遇到,如果你把問題就放著不管,有可能 n 大於 20 都還是學不會,你遇見問題可以在課堂中提出,也可以線上問 (趕快加入 FB 的群組 『NTOUCSE 1101 程式設計 1C』),一定盡量在最短的時間裡回答你,你不需要因為遇見困難沒有人可以詢問,就讓那個 n 的數值一直增加,沒有需要讓那個 n 的數值大到影響你其他科目的學習、影響你課外活動的參與,最後因為不想花數倍時間補回進度而讓自己覺得不適合唸資訊系。 有一件事情是令人難過的,有同學線上問了一個問題,我盡力猜測他有哪些背景,然後努力地打了幾段文字回答他,他靜靜地看然後回說「需要一些時間吸收」,好多天以後,在另外一個群組裡看到他的評論,說我回答的東西他「都不懂」。這不是互動吧!!? 有不了解的請直接對話,不要在背後做這種評論,真的很令人氣餒,是不是別太熱心? 別當成自己的事? 回答精簡正確就沒事啦? 懂不懂? 腦袋裡的模型對不對??? 在回答每一位同學的問題時,需要把同學當成是一個朋友嗎? 和朋友講話的時候是要用心思考的,不能理解的話語是需要修改、需要澄清的,如果同學把所有在學習過程中接觸到的人與事都當成是預錄好的,覺得自己只是默默地飄過,不帶來什麼,也不帶走什麼,那麼未來日子裡也許就不會留下痕跡,不會學到什麼、也不會有什麼貢獻,有點無趣吧? 你很聰明、電腦很笨,堅持用你那國的思考方式很多時候是不容易知道為什麼電腦不接受你的命令的,花那個時間堅守自己的想像和它周旋就有一點點浪費,要適時透過和真正瞭解軟硬體機制的人互動來調整自己的想法,你以後學了所有的支援課程就可以自己回答所有的問題了;那麼為什麼要學著控制笨電腦呢? 它處理速度很快、記憶容量很大、24 小時待命、一旦用它可以接受的方式控制它、它不會因為疲勞而出錯,不會因為不爽而罷工... All programmers are playwrights and all computers are lousy actors. (Anonymous Hack Actor) 這個課程絕對是為了沒有接觸過程式的同學開的,不要覺得好像課程和實習的份量很多,一直想等到自己看完以後再提出問題,有遇見問題但是沒有得到適當解釋的話,你的接受度就會快速地降低,一個問題會衍生其它的問題,進度就會慢上很多,「怎樣清楚地提出問題」本來也就是這個課程的目標之一,你不用管那些有基礎的同學,覺得提出問題會拖慢進度,不會的,厲害的同學在各種學習活動中都找得到他需要的知識,你越早體會到每個同學都有差異,同一個課程不可能適合所有同學,有需要和老師、助教互動來讓課程適合你,這樣子你就掌握到成功學習的關鍵,當然你可以公開或是用私訊提出問題,你一定要盡量運用這些工具排除自己的學習障礙。 我看到有學長把我們班上的課程評為四班裡最難的,這樣子聽起來好可怕,不過他沒有修過我們班的課,應該沒有聽過我們課堂裡的解說,也沒有看過我們在課程裡準備的動畫,「困難」或是「簡單」其實要看這些內容是怎樣呈現的,如果沒有適當、清楚的解說,那麼所有的東西都是困難的,納入我們課程裡的內容一定有一個特性,就是後續其他課程裡面是沒有的,我們沒有必要把其他課程裡面深入的內容拿來這裡困擾大家,我們課程的內容如果你在適當的解說、互動下能夠了解,後續不論你在哪裡遇見時都不會再困擾你,可以快步地前進,所以我們才把這樣的內容放進來,並且運用各種方法來輔助你了解。 這個課程是教程式設計的,主要的內容是設計程式的各種方法,不會只限於基本的語法,但是不太會超出「程序化的程式設計」,資訊系裡還有很多不同的程式設計模型與方法,等著你去學習與探討,同時我也必須提醒你,資訊系的同學如果只會寫各種模型的程式,但是對於自然界背後的運作模型完全不了解的話,就像是一個修車工人,會用各種電動與手動工具,但是不了解車子的發動、燃油、傳動、操控系統,其實只能做很低階的工作,這樣子是沒有太大前途的。或者像是一個會用手術刀解剖的技師,但是卻不了解解剖對象的生理構造,這樣子是沒有辦法有深入治療行為的。資訊系同學需要在後續的課程裡了解很多自然界運作的數學模型,例如 3D 空間裡面的物體如何投影呈現在畫面上,如何建構 3D 的列印模型,如何由多角度多個相機平面的成像重建 3D 的物體模型,如何以數學模型控制機器手臂的多個關節,如何在多感測器度量出來的高維空間中學習到知識,如何運用抽象的數學來適當地隱藏資訊、維護資料傳輸或是電子商務的安全性,一定要記得你不是只需要學習寫程式而已的。 |
第三週 110/10/05(二) |
|
第四週 110/10/12(二) |
|
第五週 110/10/19(二) |
|
第六週 110/10/26(二) |
|
第七週 110/11/02(二) |
|
第八週 110/11/09(二) | |
第九週 110/11/16(二) |
請提早 10 分鐘到 INS101 找你的座位, 考試請按照教室門口公佈的座位表坐 |
第十週 110/11/23(二) | |
第十一週 110/11/30(二) |
|
第十二週 110/12/07(二) |
|
第十三週 110/12/14(二) | |
第十四週 110/12/21(二) |
|
第十五週 110/12/28(二) | |
第十六週 111/01/04(二) | |
第十七週 111/01/11(二) | |
第十八週 111/01/18(二) |
請提早 10 分鐘到 INS101 找你的座位, 考試請按照教室公佈的座位表坐 成績分佈 |
其它資源及練習 |
一個學期很快結束了, 這個學期裡很多同學辛苦地調整過去所建立的學習方式, 過去的各種科目都有考試作為目標, 一方面也作為課程內容的界限, 超過考試範圍的都不需要傷腦筋, 不會也就算了, 考試前來不及會的, 考試後當然也就算了, 從這個課程開始你需要發現不是這樣的了, 未來的各種課程裡, 你需要在這個課程裡學到的基本方法, 你不能邊學邊在考試後就把它忘了, 不可以很客氣地把這學期裡看到的東西還給我, 你需要把「提升自己的學習能力」作為目標, 學到了的東西就佔為己有吧! 這比起成績來說更有價值, 寒假裡我是沒有放假的, 如果你覺得你想要在假期裡加強一些什麼, 歡迎你和我討論, 遇見問題當然也歡迎你來討論, 有的時候自己一個人在做很多事都會遇見很大的阻力, 有人可以討論的話情況就完全不一樣了, 你可以拿這學期做過的練習, 也可以去看 CPE / UVa 或是 POJ / HDOJ 的線上題目作為練習, 有一些參考書籍是為這些設計的, 需要的話告訴我, 我也做過很多投影片解說相關題目的作法, 如果幾個同學一起有興趣的話, 也可以幫你們預習一些需要的資料結構和演算法, 如果你對於物件導向程式 (配合下學期程式設計二的進度也可以參考我過去的教學網頁和影音) 或是視窗介面程式有興趣, 也可以來討論這些, 如果你對於物聯網以及一些網路裝置有興趣, 同樣歡迎你來討論, 最後, 如果你對於機器學習和深度學習, 密碼學, 資訊安全有興趣, 更歡迎你加入我們的研究。 在接下來的資料結構, 組合語言, 演算法, 物件導向程式設計課程, 甚至線性代數, 機率課程裡, 如果你覺得和我談可能對你會有幫助, 直接告訴我, 跟我約時間聊一聊, 試看看我們建立的合作學習關係能不能延續下去, 也許你覺得這學期上課好像睡得挺好, 沒有學得很好, 甚至沒有想要開始學, 擔心我會不太理你, 覺得實習或是課輔的時候很少幫你看程式, 不如說掰掰了吧! 其實你想多了, 我相信很多同學在這個學期裡, 因為學習環境的變化, 生活環境的變化, 還沒有調適好, 還沒有放下太多的精力去學習, 或是覺得投入的力氣好像沒有相對的成果, 相信你開始熟悉資訊系的課程和環境以後, 決定到底自己要什麼以後, 自然會得到自己能夠滿意的表現, 當老師其實最習慣的就是要等候了....相信你想要會的時候, 你的學習一定會有突破的, 以往有很多學長在幾年的學習失敗以後, 仔細想想就會發現其實關鍵在於遇見問題沒有人可以討論, 每一個課程的時間都很短, 對於老師的上課方法與課程的內容還來不及進入狀況就過了一大半, 真的發現問題時課程已經結束了, 表現又不怎麼樣, 就不好意思去找老師問了. 最後四年以失敗收場, 只能藉由考上前面學校來安慰自己, 可是如果你的學習方法一直維持下去, 換個更競爭的環境不見得有太大好處, 希望你們在接下來的時間裡都不會遇到這樣的狀況......過去幾年一直有學長會持續和我討論, 所以我對其他老師的課程和作業都有點熟悉了, 不過相信他們所花的時間也都有相當的收穫 (換個人談談, 常常就是會讓自己有突破的), 台灣的教育過度強調學生要給出答案、最好還是標準答案, 逐步思考、有互動、會問問題的學生反而容易被歸類為愛找碴的人, 因此真的誤了好多人材, 其實在往後的學習裡, 重點不會在於考試的成績, 而會在於如何互動式地發掘問題, 分析問題, 和解決問題, 問題都提不出來當然也就看不到解決的方法。 這學期和大家討論的東西, 由最基本的程式語法到很多軟體公司在徵才時候的面試考題, 也許大家覺得何必這麼快? 才剛進大學耶, 以後畢業時遲早要接觸的何必提早, 為什麼不讓你愉快地混一下、享受一下大學生活? 其實你還是可以自己決定自己的步伐的啦! 只是提醒你一下畢業以後競爭還蠻激烈的, 職場上有的時候真的是生存的競爭, 不要怪別人為什麼不留情面, 你也不見得會犧牲自己照亮別人啊, 職場上不只是本科系的同學, 還有很多大學畢業以後才轉入資訊業的人, 他們通常就是在兩三個月的時間裡面會看到我們這一個學期上的東西, 你和他們最大的差別不是在年紀或是經驗, 而是在於他們真心想學, 他們還有其他領域的基礎, 只是沒有足夠的時間琢磨軟硬體相關的知識, 現在的你也許還沒有確定自己的方向, 但是你最大的優勢就在於你可以在未來這三年裡逐步地鍛鍊自己, 慢慢建立起扎實的理論能力與實作基礎, 如果你早點看到方向, 也許就會發現自己該要求自己到什麼程度, 應該就不難在殘酷的競爭中取得先機。 |
回
程式設計課程 首頁 製作日期: 08/24/2021 by 丁培毅 (Pei-yih Ting) E-mail: [email protected] TEL: 02 24622192x6615 海洋大學 電機資訊學院 資訊工程學系 Lagoon |