在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

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

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

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

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

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

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

    我是不是天生和編程無(wú)緣,寫(xiě)不出代碼是不是就必須放棄編程?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    也就是說(shuō),寫(xiě)代碼是最后一步,也是最沒(méi)有技術(shù)含量的一步,重要的是前面的思考和建模的過(guò)程。

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

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

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

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

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

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

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

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

    相關(guān)推薦

    聯(lián)系我們

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