“你學啥專業?”
“計算機科學,”
“幫我修電腦吧,”
“……”
現實中——
金融專業的被問炒股
土木專業的被問裝修
天文專業的被問運程
醫學專業的被問藥方
……
很顯然,這是認知差異的誤解,
但這也反映了一個現實問題:
學科知識與生活應用之間
差了不止一個大學生,
譬如計算機專業,會教
組成原理、作業系統、程式設計,以及數理邏輯……
但不會教
裝電腦、裝系統、裝程式、office……
計算機專業角度,
電腦、手機、平板、機器人基本一致:
都是芯片、主板、存盤、輸入、輸出、電源的組合,
但實踐中,
手機電腦插口不同,封裝螺絲也不一樣,
學計算機的你,連自己的手機都拆不了,
專業課知識,像沒兌飲料的威士忌,濃度高,易上頭,
計算機專業部分教材示例
一個例子:“電腦上網慢,怎么辦?”
《計算機網路》:網路分七層,每層按具體協議作業;
《作業系統》:計算機資源被統一管理、分配和調度;
《程式設計》:設計演算法,寫出能讓機器執行的代碼;
沒有一門計算機專業課能直接回答,
你還在“套公式”解題,隔壁電腦城小哥已經搞定,
還有個“博士和農民工”的故事,
某帶盒香皂生產線有缺陷,常有漏裝肥皂現象,
博士組建攻關組,花費近百萬設計多學科聯動方案:
空香皂盒經過時,探測器報警,機械手臂拿起空盒,
農民工憑“直覺”,花200塊買了臺大功率風扇,
放生產線旁“呼呼呼”一頓吹,空盒字紛紛落地,
“專業比不過直覺”的現象背后,隱藏著兩種解題思想:
自頂向下(Top-Down)
自底向上(Bottom-Up)
自頂向下
在《有一種執著,叫“我要學編程”》里提到的“分而治之”,
就是一種自頂向下的解題思想,
它是通用思想,不僅用在編程,
還被用在架構設計、專案管理、目標分解等,
“套公式”的程序,其實就是在自頂向下解題,
邏輯學稱為“演繹”:從一般到特殊,
**解決問題時,從“通用知識”——“注入資訊”——“獲得結論”
**
比如解決“上網慢”,
通用知識:“計算機網路應用層,承載兩臺主機間的應用服務,”
注入資訊:“在PC電腦,用瀏覽器訪問某個網站,”
獲得結論:“我們在用HTTP協議與某網站通信,”
接著我們檢查協議是否正常,再注入更多資訊獲得更多結論,直到問題解決,
這樣的演繹在邏輯上并不嚴謹,但足以表達我們自頂向下的解題程序,
每一次演繹,都會增加多個具體情況,每一個都要去判斷,
于是你發現,自己陷入了一個指數級“資訊風暴”,
窮盡一生也未必能找到答案,
這就是所謂“把問題復雜化,”
自底向上
與自頂向下相對應的解題思想,是自底向上,
邏輯學,稱為“歸納”:從特殊到一般,
這解題思想更貼近我們日常思維方式,
“上網慢”?那就把所有遇到過的原因列出來,
快取太多,機械磁盤太卡
自帶域名決議服務器太慢
代理服務器慢
流氓軟體
網卡壞了
運營商網速慢
網站出故障
……
然后,用排除法一個個試,
很簡單,大部分人都會,
以前網路不發達,電腦城小哥靠師徒傳承,壟斷“修電腦”,
現在,普通人隨手網上一查,唾手可得,
不僅修電腦
手機螢屏碎了?某寶買新的,店家還會給教程,
想吃新鮮蛋糕?某廚房教程,買好配料就能做,
學辦公軟體?某站視頻有教,再不會找專家問,
……
對于具體問題,資訊獲取已成為每個人的基本生存能力,
自底向上的解題思想,是不是比自頂向下更優秀?
或者說計算機專業知識木有用了?
知識無用?
這也是當前很多大學生的困惑:
學那么多“經典”知識,在作業崗位上完全派不上用場,
電腦城小哥更快解決問題的前提至少有兩個:
1. 上網功能較穩定;
2. 遇到問題較集中,
前提1 把大部分軟硬體功能損壞的可能性降到最低;
前提2 把常見問題歸為一張清單,
于是,問題似乎很容易解決,
但,如果遇到問題不具備這兩個前提,又該如何?
窮盡了清單所有條目,問題依舊,
這時,你只能期盼某位高手到來,或者直接放棄,
知識,是資訊的抽象,
人類,因為具備抽象能力,才能直接學習知識,
我們用抽象提取知識,應用時再注入具體資訊,
知識是資訊壓縮容器,就像龍珠里的萬能膠囊:
物理世界中大部分定律源于觀察實驗,如牛頓第二定律,
歷經百年實踐,計算機才從打孔機演變為“智能機”,
所以,自頂向下和自底向上兩種解題思路,伴隨人類實踐與學習,相輔相成,
在這個資訊爆炸時代,學習是每個人壓縮資訊的必備武器,
那如何才能提高學習能力?
模仿學習
如果我們觀察小朋友學習,就會發現:
最原始的學習方式就是模仿,
他們會模仿大人說話,也會模仿大人動作,
模仿,就是獲取資訊后直接應用,
當我們準備掌握一項新技能,第一步往往都是模仿,
比如,對著字帖練字、照著原畫臨摹、看著教練運球……
也有對著視頻學軟體,
模仿的前提,是有參考物,也就是得有“抄”的物件,
資訊化時代,不怕沒物件,就怕找不到,
幸好,資訊工具也在持續創新,
從最早電信黃頁,到門戶網站,再到搜索引擎,以及現在的資訊流推薦,
這些技術工具在做同一件事:提升資訊獲取效率,
互聯網平臺間的競爭,從功能,到內容,再到內容生產者,從未停歇,
如今,誰有優質內容,誰能持續擁有內容源,成了流量競爭關鍵,
除了要熟練使用搜索技巧,我們還得了解內容分布,
比如,用搜狗微信找公眾號內容,用天眼查或企查查找企業資訊,還有各行業垂直社區……
用好這些工具,我們就能快速找到資訊,
但,
復雜的問題未必能直接找到答案;
獲得的資訊未必可以被直接模仿,
因為,每個人知識積累不同,我們說話會自帶資訊過濾,
高手對話,往往不會夾帶過多具體資訊,
就像這樣:

所以,我們得學會分解知識,
知識分解
我們學騎車、學游泳、學畫畫……往往不是一氣呵成,而是伴隨“動作分解”,
“動作分解”,其實就是用“分而治之”的思路解題,
我們把“大知識點”分解到“小知識點”,然后分別學習,
知識積累因人而異,所以分解方式也不同,
教育所說“因材施教”,正是這個道理,
所以,我們需要學習“學習”,才能更好學習,
看,就像編程語言有“高級”之分,知識也有級別概念,
既然“學習”本身可以被學習,那有沒有輔助工具呢?
有,就是我們常說的“學習方法”,
搜索引擎可以給出大量“學習方法”相關內容,但它還無法告訴你哪些更適合,
你會找到一堆“高手技巧”,洋洋灑灑幾萬字,得來大半是雞湯,
目前被廣泛采納的學習方法,主要有2個:
思維導圖
費曼學習
思維導圖
思維導圖采用結構化資訊組織形式,
學習程序中,你可以用“關鍵詞”創建節點,然后圍繞“是什么”、“有什么用”、“怎么用”等問題描述它,
思維導圖最大的作用不是幫我們儲存資訊,而是輔助我們發現規律,從繁雜資訊中提取知識,
它是一種大腦思考輔助工具,
借助思維導圖,我們還可以從全域視角看知識結構,
尤其在知識分解時,我們更容易從中發現同類資訊背后的知識,進一步提升學習效率,
初學者經常會進入一個誤區:直接收藏別人整理好的“思維導圖”,以為這樣學習起來更快,
其實,那些整理好的思維導圖檔案,對你而言只是一種資訊,而非知識本身,
別人的輸出,只能作為你的輸入,思維導圖是幫助你“消化“,
另一個學習方法,是費曼學習法,它經常被人稱作是“最好、最快、最牛、最有效”的“終極”學習方法,
費曼學習
費曼學習法最大特點,是“以教促學”,
即通過“教會別人”來掌握知識,
生活中,當我們向別人解釋知識時,免不了要舉例給對方聽,
當對方聽得懂例子,他就能理解;反之,你還得繼續舉其他例子,
也就是說,你得舉對方“懂”的例子,才能把知識“傳授”給對方,
當你倆資訊不在一個”頻道“時,就會有討論,
討論程序也是資訊同步程序,讓你倆能更“懂”對方,
于是你就有機會從對方角度舉例,
這樣的例子,對你而言,是新資訊輸入,也是對已有知識的檢驗,
當知識經受住新例子檢驗,你也加強了知識的理解和掌握;
當新例子打破了原有知識,可以幫你糾正錯誤,重塑知識,
所以,用費曼學習法“教會別人”,也會獲得更多案例,強化知識,
總結
知識是資訊的壓縮膠囊,應用時注入具體資訊,
“自頂向下”和“自底向上”解題思想相輔相成,對應邏輯演繹歸納,
學習源于模仿,借助工具可以快速對標,
學習復雜知識,可以先分解,再學習,
思維導圖和費曼學習是兩大學習輔助神器,
我們生活在一個充滿問題的世界;
我們也生活在一個知識泛濫的時代,
我們從未如此全面地看清世界;
我們也從未如此無力地害怕未知,
沒了章法,我們會心生恐懼,
但又有多少問題,會有標準答案?
人生,是一場充滿知識的旅途,
解決問題,需要知識厚積,更需要實踐創新,
微信公眾號:只差一個程式員了
如果你想更好的提升你的C語言編程能力,好好學習C/C++編程知識的話!那么你很幸運~
C語言C++編程學習交流圈子,QQ群1095293493【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍

編程學習視頻

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/161776.html
標籤:其他
