亚洲国产日韩人妖另类,久久只有这里有精品热久久,依依成人精品视频在线观看,免费国产午夜视频在线

      
      

        計(jì)算機(jī)專業(yè)丨學(xué)完一年編程還是不會寫代碼,問題到底出在哪?

        計(jì)算機(jī)專業(yè)丨學(xué)完一年編程還是不會寫代碼,問題到底出在哪?

        這幾年的教學(xué)工作做下來,發(fā)現(xiàn)無論是計(jì)算機(jī)專業(yè)的學(xué)生,還是把編程作為公修課的其他專業(yè)學(xué)生,很多人內(nèi)心都有一個(gè)靈魂拷問——為什么我認(rèn)真聽課,認(rèn)真看書書,幾個(gè)月甚至一年下來但還是寫不好代碼?!

        為什么學(xué)了很久很久編程,還是只會寫一些簡單的算法題?

        為什么學(xué)了幾個(gè)月編程,還是寫不出哪怕100行的小項(xiàng)目?

        為什么好不容易堅(jiān)持看完了語法,卻發(fā)現(xiàn)內(nèi)容全沒記?。?/p>

        我是不是天生和編程無緣,寫不出代碼是不是就必須放棄編程?

        以上現(xiàn)象你中招了嗎?

        不要怕,你不是一個(gè)人,我剛學(xué)編程那會兒也是這樣的。不僅是我,我相信還有很多同學(xué)是這樣,那到底是什么神秘的力量在阻止我們學(xué)會編程呢?又該如何打破這個(gè)魔咒呢?

        一、降低目標(biāo):明確學(xué)編程的目標(biāo)和初衷

        首先我們要想明白自己為什么要學(xué)編程,學(xué)到什么程度為止。這個(gè)問題根據(jù)不同的身份,會有不同的答案。如果你是一名計(jì)算機(jī)專業(yè)的學(xué)生,那自然要建立完整的知識體系,從算法到數(shù)據(jù)結(jié)構(gòu)再到各類框架,都是要進(jìn)行系統(tǒng)學(xué)習(xí)的。這時(shí)候你的學(xué)習(xí)目標(biāo)是整個(gè)體系,要求自然會高,過程自然會慢,我們在這篇文章里不展開討論,我們今天主要討論一下針對非計(jì)算機(jī)專業(yè)的學(xué)生——學(xué)編程的核心到底是學(xué)什么?

        實(shí)際上,學(xué)習(xí)編程,對大多數(shù)非計(jì)算機(jī)專業(yè)的人來說,就是在當(dāng)前這個(gè)時(shí)代,獲得一種直覺——在學(xué)習(xí)、工作、生活中碰到問題時(shí),可以大概的判斷這個(gè)問題或想法是否可以交給計(jì)算機(jī)解決,并在這個(gè)過程中逐漸建立一個(gè)看待世界的新維度、新視角。

        因此,我們要降低對編程的要求,我們不能要求自己做到像專業(yè)的程序員那樣從無到有從零到一百地去搭建一個(gè)完整的項(xiàng)目,這不符合我們跨專業(yè)學(xué)編程的初衷,就像你學(xué)數(shù)學(xué),學(xué)化學(xué),學(xué)物理,但你并不會做個(gè)數(shù)學(xué)家化學(xué)家物理學(xué)家。

        我們的目標(biāo)是能將問題從編程的角度建模,并且能利用網(wǎng)絡(luò)資源,開源代碼等快速找到需要的模型,進(jìn)行修改和調(diào)試,然后解決自己的某個(gè)小問題,這就足夠了。

        二、以練為學(xué):編程不是知識,而是一門手藝

        我們從小到大的學(xué)習(xí)都是學(xué)習(xí)知識,流程一般是課前看書預(yù)習(xí),上課聽講,下課做作業(yè),然后復(fù)習(xí)考試。但是學(xué)手藝可不是這么學(xué)的?;貞浤阈r(shí)候?qū)W游泳,學(xué)樂器,學(xué)開車。需要記憶知識體系掌握各類原理和知識點(diǎn)之后再開始練習(xí)嗎?顯然不是這樣的。

        教練是不是就強(qiáng)調(diào)一點(diǎn):別廢話,練就完了!

        回歸到線上編程本身的職能定位,不管是當(dāng)前主流的錄播模式,還是各類花哨的互動網(wǎng)課,又或是實(shí)時(shí)直播的方式,其實(shí)本質(zhì)上都無法構(gòu)成學(xué)習(xí)編程的全部客觀要素。這是因?yàn)槿魏握n堂本質(zhì)上,終歸都是一種入門方式和輔助手段。而我們想要真正掌握一個(gè)技能掌握一門手藝,都是要通過反復(fù)的練習(xí)、實(shí)踐,不斷地反饋迭代,才能越來越熟練,最終完全掌握。正如格拉德威爾所說,“1萬小時(shí)的錘煉是從平凡變成大師的必要條件”。

        就像開車和學(xué)英語一樣,你想要熟練掌握,就要在學(xué)的時(shí)候放棄速成的想法,慢慢來才是最快的。編程和其他技能類似,唯有更多的練習(xí),才能讓你形成思維習(xí)慣,掌握各類建模的套路,甚至變成條件反射和肌肉記憶。

        編程和投資理財(cái)一樣,期待收獲和成長時(shí),要時(shí)刻提醒自己銘記復(fù)利思維:不怕進(jìn)步小,就怕停下腳。這也是所有“手藝”學(xué)習(xí)的通用思維。持續(xù)的使用和持續(xù)的思考,會讓你對這個(gè)陌生領(lǐng)域的理解逐漸加深,會把散落的知識點(diǎn)逐漸在練習(xí)的過程中,織結(jié)成網(wǎng),最終融會貫通順手拈來。開始也許每天的進(jìn)步很小,小到你自己很難察覺到。但是這個(gè)時(shí)候只要咬牙堅(jiān)持住,假以時(shí)日,你就會收獲復(fù)利帶來的成果。

        當(dāng)然練習(xí)也要遵循一定的技巧和規(guī)律,不能毫無計(jì)劃,也不要沖動盲目。那么該如何進(jìn)行有效地學(xué)習(xí)和練習(xí)呢?

        三、知識爆炸的年代,堅(jiān)持三個(gè)不要

        現(xiàn)在這個(gè)知識爆炸的時(shí)代,任何領(lǐng)域都有大量的資料,也有大量的前人做得很好的基礎(chǔ)工作,甚至是偉大的成果。那么我們?nèi)绾芜M(jìn)行更有效率的學(xué)習(xí)呢,我認(rèn)為要堅(jiān)持三個(gè)不要:

        不要學(xué)什么都先買本教材,試圖系統(tǒng)地從頭讀到尾。特別是在編程領(lǐng)域,最好的資料莫過于官方的文檔,最全面也最權(quán)威,而且還在持續(xù)的更新。但即便是官方文檔,我們也沒有必要從頭到尾順序閱讀,你會發(fā)現(xiàn)你讀著讀著,前面讀過的內(nèi)容居然又更新了,氣人不氣人,永遠(yuǎn)讀不完。正確的方法是當(dāng)做工具來用,當(dāng)做字典來用?;ヂ?lián)網(wǎng)和搜索引擎就是你的腦力補(bǔ)充,在這個(gè)信息爆炸的時(shí)代,掌握如何檢索知識遠(yuǎn)比如何記憶知識重要得多。

        不要隨便拿篇文章就讀,不比較、不思考的閱讀,就是在揮霍時(shí)間。知識爆炸和自媒體導(dǎo)致的另一個(gè)問題,就是網(wǎng)絡(luò)上各類內(nèi)容質(zhì)量參差不齊,謬誤百出。如果你閱讀的代碼或者文章質(zhì)量低下,甚至是充滿錯(cuò)誤,那很可能不只浪費(fèi)時(shí)間,還會帶來錯(cuò)誤的引導(dǎo),甚至?xí)屇汶x初衷漸行漸遠(yuǎn)。因此閱讀的時(shí)候一定要花時(shí)間鑒別和選擇優(yōu)質(zhì)內(nèi)容,我們要時(shí)刻考慮時(shí)間成本,機(jī)會成本和沉沒成本。

        不要過于“勤奮”,什么都自己從頭開始搞?;ヂ?lián)網(wǎng)的紅利之一,就是共享和迭代。我們要善于利用互聯(lián)網(wǎng)上大量的開源項(xiàng)目,大量的共享代碼。站在別人的肩膀上,總不會太矮。同時(shí)我還建議大家也積極共享自己的成果,除了可以給別人提供便利,也可以收獲大家的反饋,進(jìn)而提升自己的能力。

        想明白這些之后呢,問題就變得簡單了,具體到跨界學(xué)編程這個(gè)領(lǐng)域,我總結(jié)出來以下幾個(gè)小技巧,大家可以參考一下。

        1、語法很重要,但無需逼迫自己記憶之后再寫代碼?;貞浬闲W(xué)你第一次學(xué)寫作文的時(shí)候,是不是還有很多字不認(rèn)識,詞匯量也很小,甚至一篇文章一大半都是拼音?老師不會等我們掌握了所有常用字,學(xué)會了嚴(yán)謹(jǐn)?shù)恼Z法之后,才讓我們寫作,是不是?編程也是這個(gè)道理,語法記不住沒關(guān)系,參數(shù)含義記不清也沒關(guān)系,重要的是我們要趕緊動手寫起來,遇到記不清楚的語法我們可以翻課件,查官方文檔,問老師,問同學(xué)。一次兩次不會,三次五次記不清楚,但我相信十次八次之后,你一定可以記住了,就算記不住,也知道去哪可以快速查到解決方案。

        2、用電腦之前,先用人腦。編程和寫作很像,網(wǎng)絡(luò)上有大量的資源可以參考借鑒,有大量的開源社區(qū)可以供我們拿來利用,但不假思索地復(fù)制一千篇文章,仍然對你的寫作幾乎毫無幫助。因此,同樣的,這個(gè)模式要千萬要避免,很多同學(xué)直接復(fù)制別人的代碼,點(diǎn)下運(yùn)行發(fā)現(xiàn)報(bào)錯(cuò),然后就直呼太難了我放棄或者直接去提問‘代碼跑不通怎么辦?!’。這個(gè)是學(xué)編程中的大忌,問題出在哪里呢?因?yàn)槿鄙倭怂伎嫉倪^程。

        首先要思考去哪里檢索,優(yōu)質(zhì)的、專業(yè)的內(nèi)容社區(qū)要比泛泛的撒網(wǎng)更有成效也更節(jié)約時(shí)間。然后要帶著思考看代碼,看懂你復(fù)制的這個(gè)代碼是如何構(gòu)建的,之后才是動手去修改和調(diào)試。運(yùn)行出了錯(cuò)誤,仍然是繼續(xù)思考這個(gè)錯(cuò)誤反饋的是什么問題,如果解決不了要進(jìn)一步去谷歌百度,看看大家是怎么解決這類錯(cuò)誤的。

        只有不斷地投入思考,練習(xí)才有意義。你快速進(jìn)步的過程,不是復(fù)制代碼,而是不斷地自己去解決問題,直到調(diào)試完成,得到你想要的結(jié)果。

        3、使用目標(biāo)驅(qū)動的方法,采取驗(yàn)證學(xué)習(xí)的策略。把教材和官方資料當(dāng)做字典,看書查資料是輔助,動手才是主動。極端一點(diǎn),甚至可以除了必要的文檔,其他一律不看。先把編程的基礎(chǔ)語法都親自動手逐一完成一遍,最簡單的辦法就是看一個(gè)知識點(diǎn)之后馬上去驗(yàn)證。驗(yàn)證不是指看著示例代碼敲一遍,而是跟實(shí)戰(zhàn)一樣的,自己設(shè)想一個(gè)用到這個(gè)知識點(diǎn)的問題場景,然后試著修改示例代碼去解決自己的提問。

        四、比編程更重要的,是編程思維

        日常教學(xué)中,時(shí)不時(shí)會有同學(xué)絕望地給我說,“無論如何努力,一寫代碼就頭大,一看程序就懵圈,實(shí)在是沒辦法,可能是和編程天生八字不合……”那是不是不寫代碼真的就得放棄編程了呢?答案是否定的。

        《Computational Thinking》作者就曾倡議,計(jì)算機(jī)科學(xué)的教授應(yīng)當(dāng)為大學(xué)新生開一門稱為“怎么像計(jì)算機(jī)科學(xué)家一樣思維”的課,面向非專業(yè)的,而不僅僅是計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生。因此事實(shí)上,寫代碼只是一種向計(jì)算機(jī)傳達(dá)信息的方法,而真正重要的,不是代碼如何寫,而是你是否具備“編程思維”。

        舉個(gè)簡單的例子,如果你不會開車,是不是就不能從北京上海了呢?顯然不是,只要你知道從北京到上海是有路的,是可以跑汽車的,你即便不會開車,也可以讓別人開車載你去,對不對?真正可怕的,不是不會開車,而是你不知道有車,不知道有路,不知道從北京到上海有多少種可達(dá)途徑——即不知道這個(gè)問題的數(shù)據(jù)結(jié)構(gòu)和算法思維。

        如果說我們現(xiàn)在的問題是“想去北京,想去上海”,那么我們其實(shí)都會自動地調(diào)用大腦的程序思維,例如我們會先把問題建模,常量是“出發(fā)時(shí)間,出行人數(shù)”,變量是“不同的交通工具”和“出行方式”,判斷條件為“預(yù)算費(fèi)用,到達(dá)時(shí)間,天氣等等”,最后我們會根據(jù)常量,依托條件,循環(huán)對變量進(jìn)行取值和判斷,最終輸出一個(gè)“從北京到上海的出行方案”,要求更高一點(diǎn),你可以優(yōu)化算法,得到一個(gè)時(shí)間、預(yù)算、精力均衡的“最優(yōu)出行方案”。你看,面對簡單的問題,我們不自覺地就已經(jīng)在調(diào)用編程思維了。

        然而面對一些復(fù)雜的問題的時(shí)候,我們就需要主動的,有意識地去培養(yǎng)和應(yīng)用自己的編程思維,計(jì)算思維,從而能夠?qū)?fù)雜問題進(jìn)行有效的拆分,降維,從容有序的去解決。正如《寫給所有人的編程思維》一書中所說,編程的核心,不是編程語言,也不是語法,甚至不是算法或數(shù)據(jù)結(jié)構(gòu)本身。而是如何分解問題,從中發(fā)現(xiàn)規(guī)律,建立解決問題的模型,映射到合適的數(shù)據(jù)結(jié)構(gòu)和算法上,然后才能寫程序?qū)崿F(xiàn)。

        也就是說,寫代碼是最后一步,也是最沒有技術(shù)含量的一步,重要的是前面的思考和建模的過程。

        希望對大家有幫助!最后回歸正題,還是那句老話,愿大家能耐得住寂寞,最終如愿進(jìn)入你理想中的大廠。

        如果你想在大學(xué)期間更好地提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

        編程學(xué)習(xí)書籍分享:

        編程學(xué)習(xí)視頻分享:

        整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

        歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!大家也要把握住大學(xué)的時(shí)光,抓住成長的每一次機(jī)會哦~

        對于C/C++感興趣可以關(guān)注小編在后臺私信我:【編程交流】一起來學(xué)習(xí)哦!可以領(lǐng)取一些C/C++的項(xiàng)目學(xué)習(xí)視頻資料哦!已經(jīng)設(shè)置好了關(guān)鍵詞自動回復(fù),自動領(lǐng)取就好了!

        鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
        (0)
        用戶投稿
        上一篇 2022年6月29日
        下一篇 2022年6月29日

        相關(guān)推薦

        聯(lián)系我們

        聯(lián)系郵箱:admin#wlmqw.com
        工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息