被調(diào)劑到計算機(jī)專業(yè)是一種什么體驗?
大家好,我是二哥呀!
前天晚上已經(jīng)非常困了,眼睛都睜不開,但看到知乎上這個“大一被調(diào)劑到計算機(jī),但對電腦根本不了解,就只會上上網(wǎng)聊聊天,連入門都算不上,現(xiàn)在應(yīng)該怎樣入門”問題時,真的是心有戚戚焉。

我當(dāng)年的情況和題主真的非常相似,所以就熬夜到凌晨回答了這個帖子。沒想到,這個帖子竟然火了,一下子就沖上了知乎熱榜。后臺數(shù)據(jù)看,5 萬+閱讀了。
應(yīng)該幫助了不少同學(xué),這里怕公眾號的讀者錯過了,于是就做了一些優(yōu)化搬過來給大家同步下。文末「閱讀原文」里有原貼的地址,有知乎賬號的同學(xué)可以把點贊安排下,讓更多的同學(xué)看得到,也算是手有余香了。
我的老天,這年頭,竟然還有人被調(diào)劑到計算機(jī)專業(yè)啊!
這等好事竟然被你趕上了,要知道,現(xiàn)在可都是擠破腦袋往計算機(jī)專業(yè)轉(zhuǎn)的啊,比如說機(jī)械、通訊、生化等專業(yè)的同學(xué)。
十多年前,我報的機(jī)械自動化,然而被調(diào)劑到了計算機(jī)專業(yè)。按照我們學(xué)校當(dāng)初的設(shè)想,計算機(jī)專業(yè)是冷門專業(yè)。
可正是這個當(dāng)初的冷門專業(yè),讓我完成了逆襲。
這些年,計算機(jī)專業(yè)已經(jīng)變成了炙手可熱的熱門專業(yè),甚至很多計算機(jī)專業(yè)的同學(xué)都會勸別的專業(yè)同學(xué)不要再來卷計算機(jī)專業(yè)了,直接勸退。
但有一說一,計算機(jī)專業(yè)的薪資還是挺香的,雖然我們程序員已經(jīng)被定義為新生代的農(nóng)民工了。

你瞧瞧,IT 農(nóng)民工的薪資達(dá)到了 16 萬元,遠(yuǎn)超其他專業(yè),不知道你看了這個以后,會不會增添一點學(xué)習(xí)的動力。
你對電腦根本不了解,只會上上網(wǎng)聊聊天,入門都算不上。
其實我當(dāng)初和你一樣,除了聊聊天,還打打游戲,以及看看 mao 片,嘿嘿。
當(dāng)時不僅硬件稀缺(同學(xué)們想上網(wǎng),都得跑去網(wǎng)吧),學(xué)習(xí)資料更是匱乏,算是一個蠻荒的年代。
現(xiàn)在呢,就拿我家來說,就有四臺電腦,一臺 iMac,一臺 MacBook Pro,一臺華為的 MateBook,還有一臺聯(lián)想的臺式機(jī)。
學(xué)習(xí)資料呢,更是滿天飛!
所以,同學(xué)不要怕,老學(xué)長來帶你飛。這方面我有經(jīng)驗,因為我就是這么過來的,情況和你完全一樣。
記住一點,初學(xué)者一定不要以看書為主!!!
我當(dāng)年大一的時候,老師上來直接扔給了我們一本《Java 編程思想》作為入門書。

說真的,我差點被勸退。以至于我現(xiàn)在對老師的作法仍然耿耿于懷。
我后來是看李興華老師的視頻入門的,當(dāng)時看了第一眼就徹底愛上了!大概用了一個月的時間,就完全入門了。
所以說,零基礎(chǔ)完全不要怕,只要學(xué)習(xí)資料靠譜,一切都不是問題。
大一我推薦你先把 C語言學(xué)好,學(xué)好之后再學(xué)其他的知識都會絲滑很多。C 語言可以零基礎(chǔ)入門,它的語法是很多高級編程語言的基礎(chǔ),比如說 Java、C++;并且起到承上啟下的作用,向上可以學(xué)習(xí)高級編程語言,向下可以學(xué)習(xí)計算機(jī)組成原理、操作系統(tǒng)等等偏基礎(chǔ)的計算機(jī)基礎(chǔ)知識。

推薦把慕課上翁愷老師的兩門 C語言的課過一遍,看過的都說好。
程序設(shè)計入門--C語言_浙江大學(xué)_中國大學(xué)MOOC(慕課)
課程鏈接:https://www.icourse163.org/course/ZJU-199001?from=searchPage#/info
C語言程序設(shè)計進(jìn)階_浙江大學(xué)_中國大學(xué)MOOC(慕課)
課程鏈接:https://www.icourse163.org/course/ZJU-200001?from=searchPage
調(diào)整一下自己的心態(tài),能調(diào)劑到計算機(jī)專業(yè)是一件很幸福的事情,好好珍惜吧。計算機(jī)專業(yè)經(jīng)過這么多年的發(fā)展,已經(jīng)是一個非常成熟完整的專業(yè)了,學(xué)習(xí)資料的豐富多彩,也讓學(xué)習(xí)編程變成了一件很輕松的事情。
那 C語言到底要學(xué)什么呢?
第一是語法:也是入門教材里最看重的內(nèi)容,也就是那些變量、數(shù)據(jù)類型、分支判斷、循環(huán)、函數(shù)、指針等等。
第二是函數(shù)庫:簡單來說,函數(shù)庫就是別人編寫好的 C 函數(shù),你可以直接拿來調(diào)用,比如說調(diào)用 printf() 函數(shù)就可以在屏幕上打印。很多人可能覺得庫函數(shù)不重要,都是別人封裝好的,只要記住函數(shù)名就可以了,但其實我想表達(dá)的是,庫函數(shù)才是你學(xué)習(xí) C語言并將其應(yīng)用于實踐的關(guān)鍵。
因為學(xué)會調(diào)用別人的庫函數(shù),你才有機(jī)會寫出自己的庫函數(shù),否則難以登天。
一般來說,學(xué)習(xí) C語言可以分為以下階段:
1)學(xué)習(xí)基礎(chǔ)語法
2)學(xué)會使用 C語言自帶的庫函數(shù),比如說 printf 級別的
3)學(xué)會使用一些基本的數(shù)據(jù)結(jié)構(gòu)與算法
4)有了一定的 C語言基礎(chǔ),開始學(xué)習(xí)一些計算機(jī)專業(yè)的核心知識,比如說操作系統(tǒng)、計算機(jī)組成原理等
5)動手做出一些 lab,造一些簡單的輪子,實現(xiàn)一些簡單的小應(yīng)用
其實學(xué)習(xí)其他編程語言也大差不差,比如說前端的 JavaScript 啊,后端的 Java 啊
記住,入門階段,coding 為主,coding 為主,coding 為主,視頻為輔,不要搞反了。記住這個公式:只看+不練=假把戲。
如果你有一顆不甘平凡的心,打開 PTA(浙大的 OJ),找一些基礎(chǔ)的題,瘋狂地刷起來,沒有思路就跑到群里面和學(xué)長學(xué)姐交流,或者看看別人的解題思路。
趁假期拼一把(還有兩周左右的假期),等到了開學(xué),買本 《C程序設(shè)計語言》 好好學(xué)一下,把核心語法給補一補,這樣就贏在起跑線,一個假期就能超越很多同學(xué)。

如果想更上一層樓,大一下半學(xué)期開始進(jìn)攻數(shù)據(jù)結(jié)構(gòu)這門課,大二上學(xué)期對算法發(fā)起沖鋒,到大二下半學(xué)期就擁有了走向人生巔峰的可能性。推薦 @陳越姥姥 的課,在慕課上可以看。
數(shù)據(jù)結(jié)構(gòu)_浙江大學(xué)_中國大學(xué)MOOC(慕課)
課程鏈接:https://www.icourse163.org/course/zju-93001#/info
再推薦一些資源吧。
1)給初中生看的《啊哈 C語言》
簡單易懂,生動有趣,雖然只能學(xué)到 C語言的冰山一角,但也值了。
2)給高中生、大一新生看的入門書《C Primer Plus》
語法全覆蓋,細(xì)節(jié)多,知識點講的清楚 缺點是瑣碎,細(xì)節(jié)彎彎繞。
3)給想成為大佬的人看的進(jìn)階書《C 程序設(shè)計語言》(前面提到的那本)
這本書的作者是 C語言之父,所以全書講的都是 C語言的核心。代碼示例大多都是庫函數(shù)的實現(xiàn)方法,內(nèi)容簡潔明了,干凈利落,沒有廢話。不太適合小白。
如果還想:
進(jìn)階 C語言 想理解指針和內(nèi)存 想搞懂 Linux 內(nèi)核 想進(jìn)微軟改進(jìn) Windows 的
可以看看《計算機(jī)科學(xué)導(dǎo)論》,沒錯,這本書不能說通俗易懂,但讀完后能讓你建立一個對計算機(jī)科學(xué)合理的基本認(rèn)知。這本書清晰地揭示了計算機(jī)的基本構(gòu)成,CPU 運算的原理,以及內(nèi)存、硬盤、輸入輸出設(shè)備的構(gòu)造,還有編程的基本原理(機(jī)器語言、匯編語言)等等。

推薦 3 個練手項目吧。
1)計算器,進(jìn)行加、減、乘、除操作 C 語言實現(xiàn)簡單計算器
課程鏈接:https://www.lanqiao.cn/courses/75
2)2048 游戲
課程鏈接:https://www.shiyanlou.com/courses/155
3)實現(xiàn)自己的編程語言,一個 1000 行左右代碼的簡單 Lisp
課程鏈接:https://www.shiyanlou.com/courses/670
認(rèn)真跟著做,真本領(lǐng)你就學(xué)到手了。到了這個時候,你可能就是學(xué)弟學(xué)妹們眼中的大神了。放眼望去,他們皆是你現(xiàn)在的這般模樣,哈哈。
如果決定大四就要就業(yè),可以在大一下半學(xué)期或者大二的時候,把重心放到 Java 語言的學(xué)習(xí)上,因為Java 這門編程語言的應(yīng)用場景更加豐富,可以讓你快速找到工作。
有了 C語言的基礎(chǔ),再學(xué)習(xí) Java 語言就會輕松得多。國內(nèi)的大型互聯(lián)網(wǎng)公司,比如說阿里、美團(tuán)等,都是 Java 的重度用戶,其他的一些中小長,以及國企私企就更不用說了,Java 是主戰(zhàn)場,因為 Java 的生態(tài)體系非常完備,程序員很多時候只需要關(guān)注業(yè)務(wù)的實現(xiàn)就可以了。
剩余的時間,把精力主要投入到計算機(jī)組成原理啊、操作系統(tǒng)啊、編程語言精進(jìn)方面。幾年后,你將是一名善于解決實際問題的工程師,而不是一名普普通通的碼農(nóng)。
最后,我想叮囑一點的是,要懂得使用互聯(lián)網(wǎng)解決問題,入門階段的問題,絕大多數(shù)使用 Google、百度就能搞定,遇到好的答案記得留爪收藏。進(jìn)階階段的問題,直接上 GitHub、Stack Overflow,各類技術(shù)文檔、官方文檔找答案。
越往后去,越要注重編程思想,未來在實踐的時候才能獲益匪淺。
我是二哥呀,真的希望每次的分享能給大家?guī)硪稽c點的幫助。點贊 + 在看只要來一個,我這張帥臉就泛起了笑容。
大學(xué)階段,其實最怕的就是放松、迷茫,眼巴巴地瞧著時光一點點的飛逝,到最后臨近畢業(yè)的時候,著急慌張。
想想我當(dāng)年,真的是沒有好好珍惜調(diào)劑到計算機(jī)專業(yè)的這個機(jī)會,蹉跎了很多時光,多年后才幡然醒悟,雖然算是迎頭趕上了。但如果當(dāng)時能稍微努力那么一下,現(xiàn)在的成就肯定會更上一層樓,畢竟早就是優(yōu)勢。
最后,把我的座右銘送給大家吧:沒有什么使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不系之舟。
推薦閱讀:
