看板 C_and_CPP 關於我們 聯絡資訊
收了一個學生,教了大約一年總算是教完了型別、流程、指標、函數、遞迴等基礎 教這麼久大概會有人嫌我慢,主要原因是我偷懶,學生也跟著偷懶這樣 XD,另外就是 我都會從計算機結構的角度去解釋程式語言的結構與運作方式,比如說 runtime memory layout 之類的,進度上就比較緩慢(不過這樣教指標就清楚多了)。 進入我的問題:目前教完的部分已經足夠讓學生以偏 C 的方式,來學資料結構及一些 演算法,我自己的學習歷程大概也是這樣。好處是比較快能切入實用領域,壞處自然是 C++的部分就要延後教了。從個人的經驗看來,大部分人寫程式到後期才會有一些 OO 的想法,有C++ 語言上的襄助,達成 OO 是比較愉快的,但是學習這些語法本身的負擔 也不太輕(根據我之前教這位學生的經驗舉個例子,我可能在教虛擬函式的時候,為了 教學上的前後連貫,不得不提一下 vtable 這些物件模型的底層實作),有沒有前輩可以 分享一下如何讓學生在語法學習上跟實用能夠並進?還是一定得教兩套(C一套,C++一套) ? 註:template的部分當然有機會也要講,不過這裡先不考慮。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.73.114
QQ29:我覺得可以當別人老師的都滿厲害的 我會寫C++但只限於會用 04/05 22:56
QQ29:問深入一點 就會答不出來 根本無法當一個什麼都會的老師.... 04/05 22:56
james732:要把C++教得清楚真的很不容易 算是挺複雜的語言了 XD 04/05 22:59
james732:(比較常見的語言裡 還有比C++更複雜的嗎?) 04/05 22:59
nowar100:沒有吧 後來的語言有些也都拿掉多繼承、多載等等吧 XD 04/05 23:18
nowar100:我覺得真的能精通C++的人十分厲害阿 遑論當老師的人了 XD 04/05 23:19
holymars:我覺得你的作法沒錯 如果學生原本是個不懂程式運作原理 04/05 23:22
holymars:與計算機結構間的基礎關係的人 從C教起是比較洽當的 04/05 23:22
holymars:反正要通盤的了解C++,這塊到最後也是不可或缺的 遲早 04/05 23:23
holymars:都要學...如果只是要學習OO的程式設計,而意欲與底層切開 04/05 23:24
holymars:我認為去學習Java反而是個比較好的選擇 作為一個OO語言 04/05 23:24
holymars:來說 Java的純度要高得多了 C++包山包海,反而不適合作 04/05 23:24
holymars:為OO語言的入門學習 04/05 23:25
james732:要學C++幾乎不可能不管底層運作...這點Java會比較快樂 XD 04/05 23:26
sunneo:我的話也會講vtable並作data link一次來呈現效果 04/05 23:39
QQ29:為啥我這些都不會也沒有修過相關的課 還可以混到現在 好羞愧. 04/06 00:08
yoco315:完全同意 holymars, 我最近也在思考要怎麼教... 04/06 00:16
yoco315:有段時間有想過是不是要 C -> Java(C#) -> C++ 04/06 00:17
yoco315:C 的部份是來通底層,Java(C#) 來學 OO 觀念。 04/06 00:18
yoco315:最後再對付 C++ 這個噁心蟲 ~"~ 但是又覺得這樣拉的好長.. 04/06 00:18
softwind:C -> Python -> ASM -> .. ... .... ..... ...... ->C++ 04/06 00:30
james732:樓上 XDDDDD 04/06 00:33
adxis:我想要知道yoco大最後的決定是啥 XD? 04/06 01:42
holymars:超凡入聖 先買本Modern C++ design當入門(捏鼻 04/06 02:32
beatmania:難怪以前我一開始就是學C++學得很吃力.... 04/06 10:04
tinlans:先把程式運作的原理跟電腦架構學起來,就什麼都自然懂了。 04/06 10:27
tinlans:其實有些 C 語言的英文書,第一章也在介紹電腦架構。 04/06 10:28