標籤:

計算機自學?

快高中畢業了,想學計算機,但因為剛接觸完全不懂,暑假應該自學些什麼?(本人主要想學網路安全和軟體開發這類的)有沒有什麼好的書籍推薦?(適合新手的,零基礎)目前在看《計算機科學導論》


謝邀。

入門先看《計算機導論/概論》就對了,可以同時再學門編程語言,C/python/Java/Javascript,哪門對胃口就學哪門,至於後面學什麼,怎麼學,我將在我的Live(如何自學計算機課程,5月16日舉辦)中給自學者一張航海路線圖作為參考。


謝邀,

基於你的情況建議考慮系統編程方向。

英語一定要好,英語不好做不了程序員。

書籍沒有推薦,一開始可以通過視頻的方式學習,以後就得要自己研究了。這方面好的教育資源並不多。

基礎入門Linux -&> Python -&> 熟練Linux -&> C

第一階段至少要明白Linux的基本使用方法,如安裝程序,通過apt-get安裝,還有最簡單的一些命令行的使用方法。如cd, ls, mkdir, cat, rm, cp, mv。大致了解下這個系統的基本結構,各種系統文件夾的意義。

第二階段就是入門Python3,讓你明白編程的概念是什麼。自己多做點練習,比如最簡單的數字排序開始,慢慢的樹型數據結構,二叉樹數據結構,鏈接列表,遞歸,遞歸二叉樹,遞歸鏈表,這些都是基礎。你以後若想自己寫工具進行滲透測試,這些基礎少不了。自己給自己布置練習。

第三階段就是詳細了解Linux的結構,文件系統,stdout/stderr, 高級命令行工具如grep, tail, head, diff等。學會使用man命令來學習某個命令的使用方法,學會閱讀開發文檔。

第四階段就是學習C語言了,它與系統編程息息相關。客服最開始你很不適應的各種指針,內存泄露等特性之後。可以開始了解file descriptor和socket然後是fork了。有什麼不明白的,可以用man來查詢,不僅Linux命令可以查,C的開發文檔也可以查。

等這些學完之後可以深入研究各種網路協議,這方面我就不熟悉了。


匿了

利益相關:某普通985 ee專業,大三暑期自學cs。

首先現在還沒有高考吧,這個問題也是最近才提出的,現在先好好複習,不要想太多。

即使你高考後只能進入一個二本,那麼一定選擇去it業相對發達的城市,因為方便你以後找實習,同時大城市一般來說信息渠道會多很多. 推薦北上廣深杭,其次 武成南。

接下來討論怎麼學習:

放在開始的重要的事情:

下vpn,善用Google而不是百度。

學好英語,英文資料遠多於中文資料

慢慢學會英文搜索

我先進行一個不是很友好的假設:你的個人天賦和驅動力可能處在一個平均水平線上,這是通過你的高考成績以及提問猜測的,以下討論基於這個點。

首先明確一點你真的喜歡計算機嗎,要知道在一個相對較差的環境興趣幾乎是你唯一的內在動力。如果不喜歡,那麼你很難長期堅持下去(意志力是一種消耗品,不要太期望它的回報)。

ok,怎麼判斷你是否真的喜歡計算機呢,最簡單的辦法就是用一門編程語言入門寫一些程序。如果你對 編程 這件事 不反感,那麼你就有機會繼續發展(需要你有一定的自我驅動力和自律),當然有興趣是最吼的~。編程語言建議選擇python,入門簡單。配合mit的公開課計算機科學導論,中間會涉及到一些演算法部分,不難但是不懂可以跳過,然後可以用廖雪峰的教程/知乎上任意的python經典 稍微深入的學習一下python。(不需要你學完,一個暑假對於一個普通的初學者也很難學完)

當你把上述流程走過一遍,任然保持初衷,好,你可以真的向這條路上前進了。否則,考慮換個專業,不然你會過的很幸苦。

擅用Google!

擅用Google!

擅用Google!

普通學校入門一般是c/c++,這方面的書籍很多,知乎上搜一搜就好,選擇適合自己水平的教材,不一定非要用c++primer之類入門,吃力就配合公開課。不要用國內的教材,特別是譚浩強老先生的。這方面的東西讓你了解一些底層的知識,同時領會到動態和靜態語言的區別。學校的課一般比較爛,上不上看你,作業和考試還是要好好做。

然後搞明白數據結構和演算法,這裡不推薦演算法導論,太厚,理論性相對強,證明較多。我可以分幾種情況討論一下:一般的學生面對演算法和數據結構會有不同感覺,

如果你能再度感覺 有趣,那麼你可以選擇數據結構和演算法分析這本書,配合劉汝佳 演算法競賽入門經典(白皮的)開始學習,相對學習難度會比較大一點,如果有機會還可以試著參加學校acm的選拔或者小的程序比賽。

如果你感覺一般,就買algorithm這本書好好做課後習題即可,不一定做完,也較厚。

如果你感覺困難,推薦你上一門公開課,雖然視頻信息量小,但是相對好理解.

學校的課程可以選擇翹課,也可以選擇聽。看你個人理解能力和進度。

學到這裡你基礎就有了,至於後面的內容就是各種專業課的學習,做些有趣的項目之類的,等你有了上面的基礎,再考慮後面的路,知乎上類似的回答一搜一大把。


軟體專業狗謝邀。。。。

我也是報志願選的計算機軟體,但是之前只在高中的計算機課上寫過一點兒basic,寫過一些簡單的演算法,也可以說對於計算機本身沒什麼基礎,所以我的經歷對題主應該有一點兒幫助。

暑假是個好時光,計算機這東西有一種富集效應,就像內力強的俠客學習新武功更快更好一樣。而學習武功不能一上來只練內力不練招式,還是得從招式入手,再慢慢揣摩招式中的套路精髓,這才能感悟出內力的門道。

暑假建議學一下c語言,不用看得很深,大概懂個語言基礎,用devcpp能寫出來一些小的演算法,排序啦,雞兔同籠啦,算算日子啦。。。。等等。

等把c語言學的差不多了,就去往深里考慮吧,去揣摩揣摩內存問題,這個時候再去看看導論什麼的,明白計算機的計算單元和存儲方式。然後開始看看c++。如果題主學c語句花費2個星期,看計算機理論4個星期,那麼暑假還有兩個星期,這時候一個星期學c++,一個星期看看linux相關的事情,還是,不用太深,能懂一點兒是一點兒。

然後就開始到本科走大學的基本流程吧。。


講真,先好好高考吧,盡量爭取重點學校的cs,


先學英語。


推薦閱讀:

黑客平時去網吧上網嗎?
我應不應該從北京科技大學退學,努力改變走上歧路的人生?
使用PCI-E NVMe的SSD是什麼樣的體驗?
智能手機相比電腦是否更安全?為什麼?
為什麼找回密碼時不能找回原密碼,而必須重設新密碼?

TAG:計算機 |