感謝來自字節跳動的讀者 Raven 的原創投稿,希望也能對大一大二的讀者們或者自學的讀者們有所啟發。
一、為什麼要提前學習?強烈建議提前學習了解計算機學科知識!
隨著我國經濟社會的不斷發展,越來越多的計算機專業大學生在步入大學校園前就接觸到了計算機,答主在步入大學後也發現身邊很多在大學前有一定基礎甚至有一定開發經驗的同學都學習的很順利,積極參與各類工程項目,科研項目。有很多大一的學弟都比我這樣即將步入大四的學長動手能力強。(自閉、爆哭)
甚至「少兒編程」都成為了最近的一個風口。三十年前小平爺爺一句「計算機普及要從娃娃抓起」在現如今的浮躁社會變成了現實。
https://baijiahao.baidu.com/s?id=1631551960752430210&wfr=spider&for=pc
現在距離開學還有兩個月,雖然時間不多但還是建議充分利用,不尋求學到太多知識只是力求對計算機學科的輪廓有一個大概的掌握,面對入學後接踵而來的各種概念能有自己的思考。
另外如果你是大一入學了或者大一都快結束了才看到本文也不用太擔心,因為目前大學本科第一年基本都是基礎學科的學習,大二後才深入學習專業知識,所以建議大家在大一期間一定保持自己對計算機學科的熱愛,充分利用課餘時間。
你會發現一旦你比別人走得快,那麼將走得越來越快。
即便你是大二才看到本文也不要擔心,我差不多也算是大二下學期才慢慢學會自己去摸索~雖然很晚了但是只要能儘早找到感興趣的方向做一些感興趣的項目就會很棒
關於這個假期學什麼,我的建議是:
程式語言(中級語言C、高級語言 Python 或 Java)
計算機基礎知識(計算機專業導論)
web 技術棧
常用開發工具
關注計算機行業
先學習程式語言並熟悉對應的開發工具,同時觀看計算機專業導論 MOOC 視頻
學習 web 技術棧,邊學邊進行實踐項目
關注計算機行業則是作為一項長期的愛好來培養
(1)程式語言
國內計算機本科第一門專業課一定是一門程式語言,目前來看大部分學校還是先學 C 語言,少部分學校會先學習Python,我建議先學習 C 語言的基礎知識,而後再學習 Python。
這樣安排的想法是:各種程式語言都有通用的一部分知識,如:
而 C 語言的這部分通用知識上手快易學習,也能為你入學後的學習打好基礎。
學完了基礎知識不建議繼續學習C語言高級知識,因為如果缺少計算機基礎知識的學習對那些高級的程式語言知識掌握也不到位(不能理解為什麼程式語言是這樣設計的);另外一個問題是學習了程式語言遲遲沒有產出,不知道除了輸出命令行還能幹什麼。你需要一些可視化的開發讓你真真切切地感受到了自己開發的產物。
這個時候建議學習 Python,各大 Python 教程都有很大實際應用的例子,你能很快做出一些小應用,這對激發學習興趣,保持學習動力是有極大幫助的。
C 語言教程 | 菜鳥教程 www.runoob.com
Python教程 www.liaoxuefeng.com
第二門語言如果不喜歡Python的話,Java也是一個非常棒的選擇!這個也可以提前看一下你們學校的培養計劃,如果是有Java必修課的話也可以學習Java。
(2)計算機基礎知識
計算機基礎知識的學習建議學習《計算機專業導論》
http://link.zhihu.com/?target=https%3A//www.icourse163.org/course/HIT-437006
https://mp.weixin.qq.com/s/1D0FemHYocKCDcMm3X2WGg
計算機專業導論可以幫助你對即將學習的學科有一個大致的了解,知識注重廣度而非深度。
軟體工程專業的同學也可以去看《軟體工程導論》
https://www.icourse163.org/course/HIT-298007www.icourse163.org
(3)web技術棧
web技術棧是最容易上手的計算機工程技術,如果能在開學前完成一個簡單web應用的開發,相信這將予以你足夠的學習信心。記住,這部分一定要多動手實踐,學習以開發一個小網站結束(資料庫的使用為可選項)
另外,然後你不想做PC端的網頁而想做手機移動端的應用的話,微信小程序是一個很好的選擇!
你需要學習
https://www.w3cschool.cn/flask/
https://www.w3school.com.cn/
另外推薦一些你會遇到的知識學習教程
http://linux.vbird.org/
https://ravenxu.top/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%85%A5%E9%97%A8/
https://www.liaoxuefeng.com/wiki/896043488029600
https://cn.vuejs.org/v2/guide/
https://crifan.github.io/http_restful_api/website/restful_rule/rule.html
(4)常用開發工具
C:CLion (學習C語言時用到)
Python: PyCharm、Anaconda (學習Python語言時用到)
Java:Intellij IDEA、Maven (學習Java語言時用到)
web: VSCode、Git、Postman、Chrome webtool (開發web項目時用到)
上面提到的CLion、PyCharm、Intellij IDEA都是JetBrains公司的IDE產品,該公司的產品是收費的,不過面向學生群體是免費的
https://sales.jetbrains.com/hc/zh-cn/articles/207154369-%E5%AD%A6%E7%94%9F%E6%8E%88%E6%9D%83%E7%94%B3%E8%AF%B7%E6%96%B9%E5%BC%8F
此文教大家如何申請學生授權
(5)關注計算機行業
計算機本科生應該對本行業動態有足夠的了解,建議閱讀以下內容
虎嗅網/虎嗅APP(側重網際網路等科技行業動態)
36氪網/36氪APP(與虎嗅同類型的產品(兩個平臺上的文章絕非今日頭條上的那種營銷號爽文,是有很高閱讀價值的))
v2ex(一個有趣的程序猿論壇)
掘金(看看大神們在做什麼)
知乎(對於我這種五線城市男青年,不失為一個開闊眼界的好選擇)
阮一峰的網絡日誌(中文技術入門知識博客寫的最好的人,對所有領域未知事物充滿好奇心的終身學習者,阮一峰老師的博文可以把複雜難懂的知識點講得很易懂,之後再深入學習就更容易上手;另外阮老師的《科技愛好者周刊》也是很值得一看)
關於怎麼學?
時間線
上面有提到大一很少涉及專業課知識,更多地在學高數、線性代數、大學英語等公共課知識,所以我們姑且把從高考志願出爐的七月末到大一下學期開學前都認為是在預習計算機專業。
以上推薦的學習內容,學得越快越好,因為在學習過程中你能不斷地發現新問題,知道自己應該去學什麼新知識。
在開學前完成 程式語言入門 + 計算機基礎知識
大一上學期完成 web技術棧 + 認真讀一本某程式語言的書籍(外國譯作最好)
大一下開學前的寒假完成 獨立開發的一個項目 + 自己主動想學的知識
大一下學期開學後可以試著聯繫學校實驗室老師。實驗室項目有偏科研和偏工程兩種,早些加入可以兩種項目都有嘗試也有利於儘早確定自己未來的目標(讀研or工作)
另外如果想先人一步在大二開始上專業課前對計算機四大基礎學科有所基礎,也可以暫緩加入實驗室的計劃(大二上再申請),而是在大一下學期去深入學習計算機底層知識(四大學科)
計算機組成原理(比較抽象的一門課,相關的動手項目也比較少且抽象,建議多參考學習優秀的MOOC資源)
計算機網絡(動手實現一個爬蟲,可以做本校教務系統的爬蟲,配合你的web知識做第三方教務查詢系統)
作業系統(深入學習Linux相關知識,參照各種優秀的博客資源動手實現簡單的Linux內核)
數據結構與算法(可以買一本考研王道數據結構書,通讀一遍後到一些算法題網站去做做題(下面給出了連結))
另外記住這一階段不要再滿足於百度搜到的各種教程,教程只能解一時之渴,要有計劃地閱讀計算機專業書籍,系統地深入地學習知識!
為什麼選擇web作為入門領域?
長遠來看,大家總會在某一個領域深入學習,這個領域可能是web開發,可能是後端架構,可能是算法工程師;當然也可能是計算機視覺,可能是NLP,可能是網絡空間安全,可能是數據挖掘。只有在某一個領域學精才有可能有好的工作,有持續的科研產出。
各行各業都是高端人才供不應求,中端人才供需平衡,初級人才供大於求的
我們的職業發展目標就是成為領域專家,領域專家是創造者而非搬磚的碼農,要不然你和培訓班的同學又有什麼區別呢?
web算是門檻很低很容易上手的一個領域,選擇該領域作為對計算機軟體行業的探索可以短時間內看到效果,且該過程涉及的計算機知識較廣,有助於提高未來學習的信心。而後我們再去挑戰難度更大更適合自己的領域!
三、題外話1. 英語及數學
怎麼學都不過分,對於目標比較遠大的同學來說(我就不是這種),雖然我不是大佬,但是還是可以根據自己的一些經驗提些建議
大一通過四六級是基本要求(不過有些學校可能不允許大一參加,沒關係,儘快通過就行)
建議每天背單詞(墨墨背單詞 + 對應的單詞書(根據自己的未來規劃選擇對應的單詞書,託福/雅思,四六級,考研等等))
數學科目一定要拿高分(下面也有提到,數學科目學分高比重大,對四年總成績影響極大(我就是因為考了好多門70多分的數學課導致目前處於保研邊緣)。不過我覺得我認為我沒考好其實不是沒努力而是沒找到正確的學習方法,或者說沒能跟上老師的講課思路(所以後面有建議去看考研數學視頻,課程有趣不枯燥,老師總結的知識點比較凝練))
千萬要重視 數學 和 英語 在計算機專業的重要性!即便你曾經數學或英語不好,但現在一切都來得及,找到正確的學習方法,遇到問題及時向老師同學或網絡求助。
2. 計算機軟體專業推薦參加的競賽
3. 信息檢索能力的重要性
大學很多事情都是靠自己來爭取來得到的,信息檢索能力尤為關鍵,分享幾個我探索出來的比較好用的方法:
(1)QQ尋人:有時候我們經常想聯繫一下某位學長學姐諮詢一些事情,這個時候如果你平常加了很多QQ群就很有幫助,你可以直接在QQ搜索欄搜索學長學姐的名字,相信你和TA一定會至少有一個共用的群。這個方法我幾乎百試百靈,每次都能加到很nice的學長學姐。
(2)百度高級搜索
我們經常想搜索一下學校歷年發布的某項通知,這個時候可以利用百度的站內搜索來完成
如下圖所示,在搜索內容後加上 site:網站地址 就可以實現站內搜索,當然你也可以點擊百度搜索那裡的搜索工具來完成此操作。
迅速搜索到大量有價值的信息。
(3)整理好你的收藏夾
下面提到過我的Chrome收藏夾(這裡建議大家平常就用Chrome瀏覽器吧,甚至選課還有速度加成)存了五百多個網站連結,我自覺還是挺有用的,我分別按照以下幾類進行了存儲:
編程相關
- 論壇
博客
技術
工具
教程
其他
學習相關
- 競賽
課程
美賽
論文
英語
學校相關
- 常用校內網站
信息量巨大的通知
生活
- 娛樂
辦公
我私以為收藏夾還是很有幫助的。
(4)學會科學上網
此處省略500字...
4. 轉專業
我認為對於想轉入計算機專業的同學,大一一定要努力學習拿到轉專業資格,另外也不用太擔心關於大一學年少學了計算機知識課程的問題,很多學校大一學年基本上都在學公共課程,專業課涉及的很少。
另外我還想放出一張比較有代表性的表格,我統計了我們學校今年剛剛完成的2018級的轉專業結果,大家可以一窺整個轉專業的趨勢,熱門專業都是用腳投票投出來的。
大部分轉專業的學霸選擇了我校最強的自動化以及計算機、軟體、機器人這樣的熱門專業,這些信息學科的熱門程度在我校已經超過了另一熱門領域(經濟工商管理等)。
而像冶金、資土、機械、材料這些我校實力也很強的學院在轉專業季節或許有些尷尬。
清華2019年轉專業報名人數大於計劃接收人數的專業有:
計算機科學與技術、計算機科學與技術(姚班)、信息管理與信息系統、軟體工程、車輛工程(機械航空動力方向)、工業工程、建築學
經濟學、經濟與金融、會計學、政治學經濟學與哲學(新雅書院)、法學、心理學、漢語言文學、社會學
看專業名盲猜我們也知道當今的熱門就是「信息技術 + 經濟管理」
5. 人工智慧
人工智慧絕對是目前計算機行業最最熱門的方向,不過我了解甚少,可以移步至下面問題的回答:
https://www.zhihu.com/question/21277368
6. Macbook Pro 值得入手嗎?
對於計算機相關專業的你,絕對值得。
我是大三轉投 MacOS 陣營的,真的是用上後就再也回不去了。
7. ACM
有做過一些入門題後來就放棄了,我對ACM的看法是有些人比如我應該就是智商不適合吧,如果覺得自己能力不夠的話就不要浪費時間了,下面這個博文是當初一位學長分享給我們的,我認為還OK
https://blog.csdn.net/code4101/article/details/40748663blog.csdn.net
8. 實習
答主在大四十月份申請到了某大廠的實習,還順道在此完成了畢業設計,對於讀研的同學來說,因為研究生實驗室很有可能不讓實習,所以利用大四去實習是很好的選擇。
實習信息可以直接關注各大廠招聘官網以及牛客網、BOSS直聘等渠道,在內推泛濫的年代,在牛客網上隨便找找都能找到各家的內推碼。
如果想直接就業的話當然是越早出來實習越好,最早的話可以在大三上學期結束的寒假就開始了,如果這個時候就能找到一份很不錯的實習,證明你的實力和潛力是絕對很不錯的!
9. 高質量代碼
提前設計,精簡為上,積累經驗,學習他人
包含三個基礎方面
四、網站推薦我的 Chrome 收藏夾大概收藏了 500 多個網站連結,我選出我認為比較好的且比較通用的網站如下
(1)程式設計師必備
Github https://github.com/
hexo博客(為自己搭建一個博客) https://hexo.io/zh-cn/
stackoverflow(在線技術問答) http://stackoverflow.com/
segmentfault (同上,國內的) https://segmentfault.com/
Google https://www.google.com.hk
曾經一度以為別人鼓吹 Google 和 Stack Overflow 是在裝B,不過在兩者幫助我解決了一個又一個bug後才發現是自己太年輕。
(2)MOOC
網易雲課堂(這個連結打開後是一個頂尖中文大學計算機專業課程體系) https://study.163.com/curricula/cs.htm
中國大學MOOC https://www.icourse163.org/
學堂在線(清華出品的MOOC) http://www.xuetangx.com/
Coursera(英文MOOC學習資源) https://www.coursera.org/
傳智播客黑馬程式設計師免費視頻庫(培訓班風格的技術視頻) http://yun.itheima.com/course
B站(收錄了很多優秀資源,當遇到問題且看不太懂文字教程而是希望有視頻的講解形式時到B站搜搜總有意想不到的驚喜) https://www.bilibili.com/
YouTube(與B站類似,很多中英文免費教程,配合著Google實時翻譯字幕還是可以食用的) https://www.youtube.com/?gl=HK
愛啟航(考研視頻) http://www.iqihang.com
對愛啟航等考研視頻做一個補充。大學期間數學科目的成績對你的總體成績影響很大,可以說高數線代概率論離散數學等數學科目的學習決定了你大學的成敗(成績排名、能否進入實驗室,能否保研)。所以一定要萬分重視數學科目的學習!而恰巧我發現考研數學的這些視頻講解得極其精煉,例如張宇的視頻,完全可以同步利用這些視頻來學習!!!
(3)在線編程練習(主要是算法題)
牛客網 https://www.nowcoder.com
leetcode https://leetcode-cn.com/
POJ http://poj.org/problemlist
實驗樓 https://www.shiyanlou.com/
(4)小工具(總有一天這些工具會有用武之地)
代碼分享(避免在QQ中直接發給別人代碼可讀性太差) http://paste.ubuntu.com/
在線工具 http://tool.oschina.net/
免費電子書 https://www.foxebook.net/
ProcessOn(在線作圖) https://processon.com/
word代碼高亮(用於使word報告更好看) http://pygments.org/
PDF工具 https://www.ilovepdf.com/
微軟官方office模板 http://www.officeplus.cn/Template/Home.shtml
騰訊文檔(越來越好用的協作軟體) https://docs.qq.com
在線Linux虛擬機 https://www.tutorialspoint.com/unix_terminal_online.php
iconfont(免費圖標站,用在自己的前端項目或者PPT等doc裡)https://www.iconfont.cn/
Vue-element-admin(非常好用的後臺前端解決方案,實驗課再也不愁了)https://panjiachen.github.io/vue-element-admin-site/zh/guide/
(5)學術論文
知網 http://www.cnki.net/
Springer https://link.springer.com/
百度學術 http://xueshu.baidu.com/
Google學術 https://scholar.google.com.hk
中國計算機學會 https://www.ccf.org.cn/
Overleaf(在線LaTeX)https://cn.overleaf.com/
小木蟲 http://muchong.com/bbs/
(6)大學生活
也可以打開手機支付寶,搜索「青春U卡」,進入後點擊左上方「領優惠」,然後在下方「全部權益」的「吃貨族」裡找到好吃的~
(7)影音文學
畢竟是假期,還是高考結束後的悠長暑假,休息好才能更好地迎接開學~
影視
《矽谷》(愛到不行的美劇,HBO出品) http://v.qq.com/detail/i/ijilh0frmu96sbf.html?ptag=baidu.aladdin.tv
《社交網絡》(非官方的Facebook誕生歷史) https://v.youku.com/v_show/id_XMzA3OTYzMzc2.html?refer=seo_operation.liuxiao.liux_00003303_3000_Qzu6ve_19042900
《我是誰 沒有絕對安全的系統》 http://v.qq.com/detail/m/mtkp03xoh95iijk.html?ptag=10520
《代碼的奔騰》http://compaign.tudou.com/v/XMjEzODYwNjk1Ng==
圖書
《賈伯斯傳》 https://book.douban.com/subject/6798611/
《浪潮之巔》 https://book.douban.com/subject/6709783/
《人月神話》(合作完成一次項目再讀即可)https://book.douban.com/subject/2230248/
總而言之,我選擇計算機專業是因為我認為她是最有可能實現我「改變世界」夢想的專業,雖然時至今日與夢想漸行漸遠(自己太菜了hh),但還是很喜歡這個專業,至少未來能有不錯的薪資~
祝願各位能在這個暑假,乃至整個大一期間培養起自己對計算機的興趣,利用課餘時間自己做一些很酷的項目,儘快為自己的未來發展做以規劃。
相信我,未來的四年一定會很美好!有緣再見~
- 完 -