計(jì)算機(jī)電子書 推薦免費(fèi)計(jì)算機(jī)電子書網(wǎng)站
很多人想學(xué)習(xí)計(jì)算機(jī)類的書籍,但是不好找,具體哪里有呢?
按照題主的問題編號(hào)逐個(gè)回答
1)編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言,此書從信息的編碼,數(shù)字的不同進(jìn)制表示,到計(jì)算機(jī)采用的二進(jìn)制機(jī)器級(jí)表示開始,到用電路構(gòu)建一個(gè)簡單的加法器,觸發(fā)器,計(jì)數(shù)器,存儲(chǔ)器,甚至一個(gè)具有控制器,運(yùn)算器,存儲(chǔ)器的簡易CPU,娓娓道來,真是醍醐灌頂。最后還談到了圖形界面的原理。此書作者更是被傳為圣經(jīng)的《Windows程序設(shè)計(jì)》的作者Charles Petzold。讀完此書可對(duì)計(jì)算機(jī)硬件的原理與設(shè)計(jì)有一全面深入之認(rèn)識(shí),猶如身處群山之巔,一覽無余。
2)深入理解計(jì)算機(jī)系統(tǒng) 上一本《編碼》通俗易懂,即使沒有計(jì)算機(jī)相關(guān)知識(shí)也能懂,但缺乏一些計(jì)算機(jī)機(jī)制的介紹。此書是國外著名的介紹計(jì)算機(jī)系統(tǒng)方面的書,從程序員的角度帶你暢游計(jì)算機(jī)系統(tǒng)架構(gòu)。涉及程序的機(jī)器級(jí)表示(機(jī)器碼,匯編),處理器體系結(jié)構(gòu),存儲(chǔ)器結(jié)構(gòu),系統(tǒng)IO,網(wǎng)絡(luò)編程,并發(fā)編程,以及程序性能的優(yōu)化。讀完此書可對(duì)計(jì)算機(jī)系統(tǒng),程序設(shè)計(jì)有一深層次了解。
3,4)就C語言而言,K&R的 C程序設(shè)計(jì)語言 的無疑是最好的參考書,不過對(duì)初學(xué)者來說還是有一定難度,輔以諸如 C和指針 ,C陷阱與缺陷 會(huì)有更好的效果。當(dāng)然多寫程序才是王道,多寫才能發(fā)現(xiàn)問題,加深認(rèn)識(shí)。
5)Debug Hacks 此書介紹GDB調(diào)試工具及調(diào)試技巧,本人現(xiàn)在主要就是使用gcc gdb啦。此書助你更好的找出臭蟲。
6)數(shù)據(jù)結(jié)構(gòu)與算法分析 介紹算法和數(shù)據(jù)結(jié)構(gòu)的書籍很多,但本人就是用這本書學(xué)習(xí)的,所以推薦。此書的前3章和第7章就介紹了題主要求的一些數(shù)據(jù)結(jié)構(gòu)和算法,后面幾張介紹樹,排序,圖論算法,及一些高級(jí)數(shù)據(jù)結(jié)構(gòu)。讀完此書將助你設(shè)計(jì)更優(yōu)美的程序。
以上書籍都是本人讀過的一些書,感覺非常好,但并非按照像上面的順序這樣死板的讀,況且一些書只有在一定基礎(chǔ)后才能理解,所以要常常瞻前顧后,左右參考,這樣才更加融會(huì)貫通。
P.S.
上面推薦的書籍都是國外的,如果題主對(duì)計(jì)算機(jī)系統(tǒng)非常感興趣,那么我推薦一本國內(nèi)的: Linux內(nèi)核完全剖析,此書完全剖析0.12版Linux內(nèi)核(代碼量不多),將帶你完全從零構(gòu)建一個(gè)計(jì)算機(jī)系統(tǒng),當(dāng)然前提是要懂匯編,C,和一些操作系統(tǒng)的概念。真正讓你透徹?zé)o死角了解計(jì)算機(jī)系統(tǒng)。
作為一只野生的菜鳥,一年前我看過這個(gè)問題,按照答主們的推薦還有自己私下尋找了不少書。時(shí)至今日寫下我認(rèn)為對(duì)我有很大幫助的書籍。
1、《編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言》 ,這本書真的淺顯易懂,從與非門到寄存器,再組成RAM,主要幫助你理解電信號(hào)如何轉(zhuǎn)換成二進(jìn)制!你看完加運(yùn)算的進(jìn)位電路設(shè)計(jì)就會(huì)明白“溢出”是怎么一回事了。
2、王爽的《匯編語言》,這本書很精簡,沒有龐大的概念。一直是邊做實(shí)驗(yàn)邊學(xué),帶你用指令操作寄存器,并且跟蹤結(jié)果,你能清楚觀察到內(nèi)存中每個(gè)字節(jié)的變化!做完實(shí)驗(yàn)?zāi)憔陀畜w會(huì),數(shù)據(jù)類型確實(shí)挺重要的,因?yàn)闆]準(zhǔn)你會(huì)覆蓋別的數(shù)據(jù)!這里面直接操作地址,想學(xué)好指針的千萬別錯(cuò)過!
3、為了深入理解匯編與電路之間的關(guān)系,推薦第三本書《Digital Computer Electronics》,是一本解構(gòu)4位CPU電路的書(剛回去翻,發(fā)現(xiàn)找不到了,很可惜,這本書對(duì)我的幫助很大?。?。反正我記得最清楚的是,一條匯編指令mov ax,cs 存儲(chǔ)在內(nèi)存中,后半部分其實(shí)存的是兩個(gè)寄存器ax,cs 對(duì)應(yīng)的地址,前半部分存的是mov 對(duì)應(yīng)的二進(jìn)制。前半部分進(jìn)入解碼器進(jìn)行解碼,接著通過控制矩陣找到這兩個(gè)地址,再進(jìn)行操作。
4、讀完以上三本估計(jì)你就能很好理解大部分計(jì)算機(jī)概念了,現(xiàn)在推薦《C程序設(shè)計(jì)語言》和《C primer plus》,《征服C指針》,這三本介紹了很多C語言特性,注意必須采用《老碼識(shí)途》中的方法邊寫邊調(diào)試,對(duì)比不同的寫法在寄存器,內(nèi)存中每個(gè)字節(jié)的變化,如此你才算是真正懂的了,光看書是沒用的,很快就忘記了!
5、數(shù)據(jù)結(jié)構(gòu)推薦程杰《大話數(shù)據(jù)結(jié)構(gòu)》,代碼很少,直接用插圖形式描繪數(shù)據(jù)結(jié)構(gòu)執(zhí)行過程。我看完這本書,再去找c語言算法代碼來調(diào)試,簡直太容易理解了。
6、語言層面差不多了,下面的就要進(jìn)入操作系統(tǒng)了,推薦hurlex同學(xué)的《一個(gè)基于x86架構(gòu)的簡單內(nèi)核實(shí)現(xiàn)》和《xv6-book》,另推薦網(wǎng)易公開課李志軍老師的《操作系統(tǒng)》課程
7、數(shù)據(jù)庫方面推薦《mysql 必知必會(huì)》,入門書!不是原理書,教你數(shù)據(jù)庫語句。
8、編譯原理方面推薦網(wǎng)易公開課華保建老師《編譯原理》!然后推薦目錄 | TIPI: 深入理解PHP內(nèi)核,因?yàn)榍懊娼榻B了C語言嘛。懂JAVA的可以看看《兩周自制腳本語言》,是從零開始的。
9、網(wǎng)絡(luò)方面太深?yuàn)W了,推薦一本新書《網(wǎng)絡(luò)是怎樣連接的》,從你打開瀏覽器訪問頁面說起。知乎還有類似的問題呢!
用戶用瀏覽器訪問一個(gè)網(wǎng)站的時(shí)候背后的過程與步驟是怎樣的? - 互聯(lián)網(wǎng) - 知乎
10、瀏覽器方面推薦《how browsers work 》中文 版,也就幾十頁,看一看有好處的!
11、選擇一門高級(jí)語言!人生苦短,作為一個(gè)新手,入門是最重要的!聽說C ++ 很牛逼,要不要學(xué)C ++ 呢 ?然而到最后我也沒碰過幾次C ++ ,又想學(xué)JAVA ,被JAVA 虛擬機(jī)給難住了。最后我放棄了!反正好久沒碰,一次偶然機(jī)會(huì)獲得一份開源PHP WEB程序(可以賺錢的),又不想讓別人覺得我這是抄襲的!嘿嘿,我就想起給它換個(gè)樣子!果然學(xué)HTML,CSS,JavaScript就有勁了!
綜上所述,建立迅速反饋機(jī)制,激發(fā)興趣才是王道!如果一直陷入原理中不能自拔,容易越學(xué)越放棄。
謝邀,正好今年夏天的時(shí)候,在畢業(yè)生賣書的地?cái)偵险业揭槐緯?,還挺好的,叫做《Computer Science Illuminated》(計(jì)算機(jī)科學(xué)概論,點(diǎn)亮你的計(jì)算機(jī)世界),作者是Nell Dale和John Lewis。
http://www.amazon.cn/Computer-Science-Illuminated-Student-Study-Guide-Dale-Nell-B/dp/0763726265/ref=sr_1_7?ie=UTF8&qid=1356683364&sr=8-7
這是第二版的,英文版的比較貴,卓越上有一本第三版的中文譯本。http://www.amazon.cn/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E6%A6%82%E8%AE%BA-%E6%88%B4%E5%B0%94/dp/product-description/B001TDM10Y/ref=dp_proddesc_0?ie=UTF8&s=books
這本書的內(nèi)容比較豐富,但是對(duì)于任何一個(gè)話題都沒有具體的展開詳述,畢竟只有600多頁的篇幅,而其中任何一個(gè)章節(jié)的內(nèi)容拿出來進(jìn)行系統(tǒng)敘述都可以變成一本600頁以上的書。這本書只能讓你有一個(gè)概要性的、宏觀上的理解,如果要求深入,請另外選擇書籍。
以下是一些簡要的章節(jié):
Laying the Groundwork(基礎(chǔ)知識(shí))
- Chapter 1 The Big Picture(全景圖),本書的層次,計(jì)算機(jī)和軟件的歷史。
The Information Layer(信息層面)
- Chapter 2 Binary Values and Number Systems(二進(jìn)制值和計(jì)數(shù)系統(tǒng)),二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制的計(jì)算和轉(zhuǎn)換。
- Chapter 3 Data Representation(數(shù)據(jù)表示),模擬量和數(shù)字量,如何表示數(shù)據(jù),數(shù)怎么表示,文字、聲音、圖像、視頻怎么表示。
The Hardware Layer(硬件層面)
- Chapter 4 Gates and Circuits(邏輯門和電路),門電路、晶體管、加法器、存儲(chǔ)器的簡單原理。
- Chapter 5 Computing Components(計(jì)算部件),馮式結(jié)構(gòu)、CPU指令周期、外存結(jié)構(gòu)和非馮式結(jié)構(gòu)。
The Programming Layer(編程層面)
- Chapter 6 Problem Solving and Algorithm Design(問題解決和算法設(shè)計(jì)),設(shè)計(jì)簡單算法、自頂向下、測試和面向?qū)ο蟆?/li>
- Chapter 7 Low-Level Programming Languages(低級(jí)編程語言),機(jī)器語言和匯編。
- Chapter 8 High-Level Programming Languages(高級(jí)編程語言),編譯器和解釋器、編程范式、函數(shù)式編程、常用的程序結(jié)構(gòu)(IO、選擇、循環(huán)、子程序、遞歸等)、類型系統(tǒng)。
- Chapter 9 Abstract Data Types and Algorithms(抽象數(shù)據(jù)類型和算法),數(shù)組和鏈表、排序、二分查找、棧和隊(duì)列、樹。
The Operating System Layer(操作系統(tǒng)層面)
- Chapter 10 Operating Systems (操作系統(tǒng)),操作系統(tǒng)的功能、內(nèi)存管理、進(jìn)程管理、CPU調(diào)度。
- Chapter 11 File Systems and Directories(文件系統(tǒng)和目錄),文件操作、目錄樹、磁盤結(jié)構(gòu)。
The Application Layer(應(yīng)用程序?qū)用妫?/p>
- Chapter 12 Information Systems(信息系統(tǒng)),電子表格和數(shù)據(jù)庫系統(tǒng)。
- Chapter 13 Artificial Intelligence(人工智能),思考機(jī)器、知識(shí)表示、專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、自然語言處理和機(jī)器人。
- Chapter 14 Simulation and Other Application(模擬器和其他應(yīng)用),模擬系統(tǒng)、CAD和嵌入式系統(tǒng)。
The Communication Layer(通信層面)
- Chapter 15 Networks(網(wǎng)絡(luò)),網(wǎng)絡(luò)的結(jié)構(gòu)和模式、網(wǎng)絡(luò)協(xié)議和地址。
- Chapter 16 The World Wide Web(萬維網(wǎng)),使用網(wǎng)絡(luò)(搜索引擎、即時(shí)通信等),HTML、交互式頁面和XML。
In Conclusion(結(jié)論)
- Chapter 17 Limitations of Computing(計(jì)算的局限)
非計(jì)算機(jī)專業(yè)出身,因?yàn)榕d趣轉(zhuǎn)行,一個(gè)月前正式成為一名碼農(nóng)。以個(gè)人自學(xué)經(jīng)歷,給題主做個(gè)參考。
因?yàn)槟悴鸥叨阅切└叽笊系挠?jì)算機(jī)書籍暫時(shí)就不推薦了。因?yàn)樾畔⒚芏雀撸碚撔詮?qiáng),學(xué)習(xí)起來比較枯燥又容易挫傷信心。你現(xiàn)在主要需要的是:培養(yǎng)自學(xué)能力、獨(dú)立思考能力,習(xí)慣去搜索資料、解答疑惑,多動(dòng)手,邊學(xué)邊實(shí)踐。對(duì)了還有,一定要學(xué)好英語!!要不然一定會(huì)后悔的!唉……說多了都是淚啊!
我入門時(shí)看的第一本書的確是譚浩強(qiáng)的《c程序設(shè)計(jì)》,我覺得拿來入門是可以的,因?yàn)槿腴T之后還有很多其他的書要讀,讀的多了,很多坑都會(huì)被填上的,你不要擔(dān)心。但是我建議你讀c語言書籍之前,先讀這本書:計(jì)算機(jī)科學(xué)導(dǎo)論 (豆瓣),這是當(dāng)時(shí)
推薦的書,墻裂推薦,參考:學(xué)習(xí)C語言基本思路與參考書籍 - 林建入的軟件設(shè)計(jì)之路 - 知乎專欄。看完之后你就有了一個(gè)計(jì)算機(jī)科學(xué)體系的框架,專欄內(nèi)其他的書也墻裂推薦看。我看的第二本c語言書是:C語言大全 (豆瓣)。這本書里有c語音基礎(chǔ)部分,c標(biāo)準(zhǔn)庫的函數(shù)及用法。最關(guān)鍵的是從這本書里我第一次接觸到了基本的數(shù)據(jù)結(jié)構(gòu)和算法,講的很簡單,也容易理解。但書的最后一部分那個(gè)”c語言解釋程序“當(dāng)時(shí)對(duì)我來說,太有難度了,就略過去了沒看,至今也沒把這坑補(bǔ)上。
然后就接觸到了C和指針 (豆瓣)、C陷阱與缺陷 (豆瓣)、你必須知道的495個(gè)C語言問題 (豆瓣),才知道:"-/|\\"[i] 這尼瑪原來是在用數(shù)組指針訪問元素。原來程序里莫名奇妙的錯(cuò)誤,書里面都有,相見恨晚啊有木有!
終于有一天我厭煩了控制臺(tái)的黑白屏幕,做出來的東西只有一個(gè)黑黑的方框,這不是我想要的生活。于是我找到了Windows程序設(shè)計(jì) (豆瓣)這本奇書,開始了我Windows平臺(tái)的挖坑之路。從Windows的消息機(jī)制,到窗口的創(chuàng)建,控件的添加,事件的響應(yīng)處理,窗口繪圖,線程,多媒體,網(wǎng)絡(luò)。期間也制作了一些小程序,比如:記事本、貪吃蛇、俄羅斯方塊等等。不要臉的我要貼代碼了:songbaoming/Tetris · GitHub,大牛慎點(diǎn)!雖然每一步我一個(gè)人都走的很艱難,但最終我學(xué)會(huì)了,滿滿的成就感,我離走上人生巔峰又近了一步呢!
就先寫到這兒吧,估計(jì)這些入門已經(jīng)夠你看上一陣子了。如果你選擇了走IT路,后面的算法啦、數(shù)據(jù)結(jié)構(gòu)啦、離散數(shù)學(xué)啊、數(shù)據(jù)庫啊、編譯原理啊、計(jì)算機(jī)系統(tǒng)啦等等等等,等到你考上大學(xué)相關(guān)專業(yè),自然都是你的菜,慢慢消化吧。
對(duì)了,還有個(gè)專欄文章墻裂推薦:
|編程入門指南 v1.3 - 蕭井陌的專欄 - 知乎專欄。最后強(qiáng)調(diào):一定要多動(dòng)手!還有學(xué)好英語?。?/b>
后面的故事如果想看,我再陸續(xù)更(不要臉的毛病又發(fā)作了……)……
白天手機(jī)比較倉促,現(xiàn)在再寫一遍,也是對(duì)自己的一點(diǎn)總結(jié)。匿了。
你才高二,而且只是為了編程。你那本電路與模擬電子技術(shù)碰都別碰。計(jì)算機(jī)方向要學(xué)也是數(shù)字電子技術(shù),知道個(gè)門電路和布爾代數(shù)基礎(chǔ)就完了,沒有幾個(gè)程序員還知道施密特觸發(fā)器的結(jié)構(gòu)。我會(huì)告訴你我大學(xué)學(xué)了一年數(shù)電模電都不知道是啥玩意么。
而且你說最近才想開始學(xué)編程,又是高中生,那你學(xué)一門語言就完全夠了。鑒于C/C++很可能會(huì)打擊你的積極性。憑興趣的初學(xué)者最重要就是能得到良好的反饋了,又不是靠這個(gè)混飯吃的人,硬著頭皮也得上。推薦從Python入手,我覺得《Programming in Python》不錯(cuò),有中譯本,可以順帶學(xué)到一點(diǎn)數(shù)據(jù)庫知識(shí)。很快你就可以學(xué)會(huì)寫個(gè)爬蟲什么的,形成正反饋,你覺得有意思了,再學(xué)深入的才能耐得住性子。
編程語言有很多種。你可能會(huì)聽說各種程序員笑話里他們會(huì)永不休止地爭論哪種語言更優(yōu)秀。這些你都不用理。
你要理解的是,編程就是寫論文回答某些問題。學(xué)會(huì)一門編程語言,比如C,相當(dāng)于你上了中國語文課,但如果你需要用中文寫一篇討論中國歷史的論文,那么你必須再上歷史課。當(dāng)然,語文課畢竟以各種文本材料為基礎(chǔ),所以你在上語文課時(shí)或多或少會(huì)接觸到歷史政治之類的課文,但這些并不能代替政治課和歷史課。所以學(xué)了C++之后,比如如果你想搞數(shù)據(jù)挖掘,你就得學(xué)數(shù)據(jù)挖掘。(廢話)。
理論上,所有高級(jí)語言都是等價(jià)的。正如你可以用中文英文德文寫哲學(xué)論文,都可以。
但是不同的編程語言可能適用場景不一樣。比如很多哲學(xué)詞匯是從德語來的,所以搞哲學(xué)的人可能得學(xué)德語。社會(huì)學(xué)在美國最為昌盛,搞社會(huì)學(xué)就一定得會(huì)英語。做中國古代史就一定要學(xué)古代漢語,學(xué)醫(yī)一定要學(xué)拉丁語。
再比如,中文在表達(dá)哲學(xué)概念時(shí)并不夠精確,時(shí)態(tài)也比較模糊,用德文就精確一些。法文是當(dāng)下還活著的語言里文法很精準(zhǔn)的,歧義少,所以很多國際法文本都用法文寫。
所以后臺(tái)多用PHP,寫3D游戲多用C++,想進(jìn)阿里最好學(xué)JAVA,大概就這樣。未完待續(xù)。
11月9日中午,計(jì)算機(jī)科學(xué)技術(shù)學(xué)院召開學(xué)生黨支部書記聯(lián)席會(huì)議,專題傳達(dá)、部署十九大精神學(xué)習(xí)宣傳工作。計(jì)算機(jī)學(xué)院黨委副書記厲家鼎、學(xué)院學(xué)生黨總支成員、學(xué)生黨支部書記和各班級(jí)輔導(dǎo)員參加了此次會(huì)議。
學(xué)生黨總支副書記付雁傳達(dá)學(xué)校學(xué)習(xí)貫徹黨的十九大精神各項(xiàng)要求。結(jié)合學(xué)校黨委書記焦揚(yáng)在學(xué)校大會(huì)上的報(bào)告,付雁從深刻領(lǐng)會(huì)黨的十九大精神實(shí)質(zhì)、認(rèn)真做好十九大精神專題學(xué)習(xí)、扎實(shí)推進(jìn)十九大精神貫徹落實(shí)等幾方面做了介紹。隨后,付雁帶領(lǐng)全體成員認(rèn)真學(xué)習(xí)了學(xué)校下發(fā)的《復(fù)旦大學(xué)學(xué)生學(xué)習(xí)宣傳黨的十九大精神工作方案》,了解總體要求,明晰內(nèi)容安排。結(jié)合《復(fù)旦大學(xué)計(jì)算機(jī)學(xué)院學(xué)習(xí)宣傳和貫徹落實(shí)黨的十九大精神工作實(shí)施方案》,付雁從學(xué)習(xí)目標(biāo)、學(xué)習(xí)內(nèi)容、學(xué)習(xí)安排和學(xué)習(xí)要求幾方面作了具體介紹和部署要求。
厲家鼎就在全院學(xué)生中廣泛、深入地開展學(xué)習(xí)宣傳貫徹黨的十九大精神活動(dòng)提出了“四個(gè)一”的要求,舉行一次專題組織生活學(xué)習(xí)會(huì);采訪一位學(xué)院的優(yōu)秀師生典型;開展一次紅色教育基地的參觀考察活動(dòng);撰寫一篇學(xué)習(xí)領(lǐng)會(huì)十九大精神的專題思想?yún)R報(bào)。
會(huì)前,學(xué)生黨總支為每位與會(huì)人員下發(fā)了《十九大報(bào)告輔導(dǎo)百問》《十九大黨章修正案學(xué)習(xí)問答》學(xué)習(xí)輔導(dǎo)讀物,希望黨支部書記、學(xué)生黨總支成員和班級(jí)輔導(dǎo)員能夠原原本本學(xué)習(xí),認(rèn)真研讀十九大報(bào)告和新黨章原文,逐行逐段、逐字逐句地深刻體會(huì)核心要義和精神主旨。在真正學(xué)懂弄通的基礎(chǔ)上,聯(lián)系工作學(xué)習(xí)實(shí)際,學(xué)用結(jié)合,學(xué)以促用,在做實(shí)上下功夫。
0 Comments.