計科學習計算機基礎課程如何用最少的書儘可能學全?

大學計科新生一枚,專業課中學習計算機基礎,沒有參考用書。去圖書館看過國內一部分計基的教材,感覺沒有一本能涵蓋所有基礎知識(主流)。個人想趁著大一還有空閑的時間儘可能了解計算機的各個方面,希望各路大牛能在書籍上有所推薦。

要求:

1.儘可能涵蓋的範圍廣,能用最少的書學到更多的基礎知識。

2.好書(個人偏愛機械工業出版社和電子工業出版社)

3.深不深入暫時不重要,主要是大概的了解CS的基礎知識,知識點要全

4.個人英語基礎較差,最好優先考慮中文書籍。當然英文的也可,收藏了慢慢看。。

5.包含但不僅限於以下列出知識點

計算機發展簡史,應用

數制,編碼

微機系統基礎(系統層次,組成,硬體軟體)

操作系統(要有Linux)

(office)

計算機網路基礎

演算法和程序設計

數據結構基礎

軟體工程和軟體開發基礎

資料庫技術基礎

多媒體技術基礎

信息檢索

網路與信息安全

(網頁設計)

5.數學類的和編程思想類的也希望能有一些推薦

暫時收集到的好書

編碼 (豆瓣)

計算機科學概論 (豆瓣)

數學之美 (第二版) (豆瓣)

離散數學及其應用(原書第5版) (豆瓣)

類似問題

有哪些比較基礎的計算機書籍? - 計算機網路


謝邀。。。。

大一你就想把這些東西都搞明白是絕不可能的。。。除非你是天才但如果你真是天才你也不會問這個問題。。。

我只能說,我大學四年非常勉強的才把你寫的這些東西大部分入了門。最主要的原因是這個列表裡的大多數東西講的都是不同的思維方式,所以不是你單純死記硬背就可以的。必須要看懂,實踐,理解,最終改變你的思維方式,然後才能算是入門。入門後還要在行業內積累經驗才談得上提升。。。

首先建議的是你把大學四年的課程全部好好學

其次是大量寫代碼實踐你學到的概念。特別是要多造輪子。比如你學OS和編譯器時候如果不自己寫一個微型OS和微型編譯器那你幾乎不可能真的掌握那些知識。

等你能做完那些事情之後,這個問題你自己大概就能回答了。。。


個人認為深入理解計算機系統和計算機程序的構造和解釋比數據結構和演算法、操作系統等更加基礎,更能培養思維能力。


計算機的分支多的去了,一個IT不可能掌握所有的IT技術分支。所以基礎課程學全就是偽命題。建議先跟著學校的課程一步步學一些基礎課程。了解一下組基本的概念。雖然很多中國大學的計算機課程不與時俱進,但是一些最底層的基礎課程基本還是齊備的。

樓主在學習大學的計算機的課程時,自己不時的需要接觸一下外面的行業環境。不需要很精通,但至少知道一些皮毛,然後根據自己的興趣和個性特點,計劃一下自己的發展方向。開發VS管理,技術VS業務解決方案......。很多東西可能已經超出了計算機基礎課程的範疇,但是對課程的選擇是至關重要的。不要指望你什麼都懂,能懂幾個方面你就很不錯了。

下面給樓主幾點建議,不管你將來走技術,開發,管理還是業務解決方案路線都很重要。

1.至少學會一門面向對象的編程語言C/C++, C#, JAVA......

不需要會編寫出非常出色的代碼,但是基本的代碼和程序架構必須要懂。不會編程的IT就像不會高數的理工科學生一樣。大家懂得。

推薦:

  • C++大學教程(買最新版)

  • Java編程思想(經典書,就是起步有點高對於初學者可能會有點晦澀難懂,需要慢慢啃。想來想去還是推薦這本,其他書怕誤人子弟。有些面向對象編程的概念性的東西還是走正統比較好。買最新版)

2.懂數據結構和演算法。

這裡的數據結構和演算法不單單指的是編程用的數據結構和演算法。它是一切數據建模和問題分解以及方法效率預測的基礎。說穿了是個方法論。這個比編程能力更重要。但是學習它需要你有基本的編程的概念。

推薦書:

  • 自動機理論、語言和計算導論(這個雖然不算數據結構演算法類的,但是也算是計算機專業的必修課,躲不掉的。好好啃這門課吧)

  • 數據結構與演算法分析:Java語言描述/數據結構演算法與應用-C++語言描述(二選一吧,看你學拿著那個語言)

3.網路技術/網路安全 方面的基本知識

這個就不細說了,現在不懂網路的IT和廢人一樣。要學多深取決於你走的方向。

推薦:

  • 計算機網路:自頂向下方法(一直在出新版,所以建議買最新的版本)

  • 網路信息安全的真相

4.項目管理相關技術

除非你一輩子想當個碼農,單個底層的藍領,否則學點沒壞處的。不要等領導想提拔你的時候才發現你只能做事不能管事。這個還是從大學就開始學著點吧。

慚愧,這部分知識我是工作的時候慢慢學的。書就真的沒辦法推薦了。

5.溝通能力

IT人士最大的問題就是和業務人員都說這對方都聽不懂的話。縱使你牛逼牛到天上去,你的牛逼不能被非IT人士所接納和理解,那你還是個P。這就是為什麼有時那些只會吹牛放炮的反而身居高位,深的領導的賞識。其實領導不懂IT,他只是聽不懂你說的,聽得懂那些吹的。因此對於IT人士來說,學會利用人民群眾喜聞樂見的表達方式把人都聽不懂鬼都搞不懂的高深技術說的白痴都能明白是一個非常重要的技能。別人吹的是牛,你吹的是牛逼。你懂的。

這方面沒書可看,多和非IT專業的人多交流,哪怕是吃喝玩樂也好。不管你走哪條路,這個能力必須要儘早提升。

OK 就先寫到這裡。希望知乎這次能發布成功。


謝邀……

你這個問題太可怕了,要用最少的書,還要學全。計算機涵蓋面這麼廣,發展這麼快,想學全那是太難了,還要用最少的書。你是怕書多了裝書包沉嗎?還是書多了太貴買不起?

如果你需要一個獲取絕大部分基礎知識的途徑,那麼推薦Wikipedia的英文版,免費。

如果只是想知道好書的話,看英文原版教材就好,強烈不建議看國內翻譯版,那些書會誤人子弟。CS的各類readling list網上很多,隨便搜搜就有了,不少都是來源牛校推薦,例如:

MIT公開課里的資源(如Readings | Introduction to Computer Science and Programming)

Computer Science reading list

http://casual-effects.blogspot.sg/2014/05/a-computer-science-book-reading-list.html

Computer Science Reading List


少年,你跟我當年一樣想太多。。。。。。

計算機科學體系就是辣么博大精深,想一本通,哼哼,拿衣服圖樣圖森破。

但我跟你相反,是儘可能在專業課學校教材之餘又參考了其他教材看,考試是沒有問題的。

重點來了,僅僅這樣然無卵用!我依然沒有學好程序開發,現在工作依然偏嚮應用領域,雖然我是北理工軟碩。

why?

因為我一直沒有try doing something。

共勉之。

在學校好好踏踏實實照體系學,嫌學校理論教得不夠好去看公開課、網易雲課堂等。

關鍵是多實踐,樓上說的重複造輪子。

不要像我當年幾個同學畢了業又掏錢學ACCP哦。


人民郵電出版社

機械工業出版社

圖靈出版社

圖靈叢書

華章叢書

拉黑清華大學出版社計算機相關書籍......

拉黑學校教材


再全的知識點你也記不了全部。除了多媒體是公選課,其它基本專業課。想提前學習,可以申請和上界一起上課,提前一年畢業;想刷分的話好好刷教材?精力過剩可以提前看公開課碼代碼?


理論的東西真的很重要,寫代碼的時候,尤其是用C操作內存的時候,就會想起來計算機組成原理MAR,MDR的知識,感覺很棒。


書是死的,多和老師交流。


推薦閱讀:

OpenStack 和 Hadoop 的區別是什麼?
為什麼阿里巴巴的持久層採用iBatis框架,而不使用hibernate框架呢?感覺hibernate更厲害的樣子?
本科國貿想讀計算機軟體與理論專業研究生?
未來你會選擇微軟的 Surface 平板電腦嗎?
想學習計算機圖像處理方面從哪入手,怎麼個學習順序,體系?

TAG:計算機 | 計算機科學 | 計算機基礎 | 專業書籍推薦 | 計算機書籍 |