近年來關注程序員的數(shù)學的用戶越來越多,小編整理了關于一位出色的程序員的數(shù)學知識應該達到怎樣的程度?,程序員的數(shù)學一定是非常棒的嗎?數(shù)學棒才能學好程序?,程序員的數(shù)學要求高不高?,程序員需要怎樣的數(shù)學基礎???,供您參考
離散數(shù)學對程序員來說非常重要,還有組合數(shù)學、線性代數(shù)、概率論、數(shù)論等等,即使你將來不做研究,這些基礎知識也能極大地提高你的水平。計算機科學對離散數(shù)學的要求很高,建議你先學習前面提到的這些課程,然后學習計算機算法和數(shù)據(jù)結(jié)構(gòu),再配合到網(wǎng)上的在線題庫做題,過程很艱辛,但是對你的幫助會很大。 推薦書目: 《具體數(shù)學》(先學完前面的數(shù)學課程,在水平有一定進步以后再看) 《算法導論》(應該人手一本的好書) 簡單來說,學數(shù)學的目的,一方面是活躍你的思維;另一方面是為了深入學習算法打基礎,設想一下,同樣的問題,普通人的程序要幾十分鐘甚至幾小時幾天才能解決出來,甚至根本無法解決,而你精心設計的程序卻能在1秒內(nèi)解決出來,這就是數(shù)學的魅力、算法的魅力。
應該是這樣的,但學編程其實是一門很抽象的*,除了要有比較好的邏輯思維能力,還有有抽象思維和豐富的想象力,記得有位程序大師說過,"能學好程序的其實并不是數(shù)學家而是藝術家",所以說編程需要培養(yǎng)的是創(chuàng)造力.
一般的程序員都有四年的在專業(yè)領域的學習,需要一個在程序領域的學士學位獲得者,不論是數(shù)學方面的還是工程方面的都是可以的。大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業(yè)性的學?;蛘呔C合*可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經(jīng)常把重點放在應聘者的工作經(jīng)驗上,很多剛從*畢業(yè)的*生雖然有引人注目的學位證書,但是他們找不到工作是因為他們?nèi)狈?jīng)驗。一個程序員雖然有正規(guī)的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經(jīng)驗的話,那么他的機會要比有學歷的應屆畢業(yè)生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業(yè)后你就會發(fā)現(xiàn),多實習讓你有更多的經(jīng)驗,在找工作的時候就有更多的機會。 對于職業(yè)程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業(yè)務技術,你的技術必須一直保持在一個較高的水平,并且要不斷發(fā)展,程序員也要尋找貿(mào)易的機會,要參加研討會,在周刊上發(fā)表文章和接受職業(yè)教育,這些使程序員在自己的領域中分級或者不斷并排前進。 程序員的要求無論如何,作為程序員,以下幾個內(nèi)容必須掌握 C語言,數(shù)據(jù)結(jié)構(gòu),算法,編譯原理(不強求,至少知道詞法分析和語法分析),OS的一些基本原理(進程調(diào)度,內(nèi)存調(diào)度等等),計算機體系結(jié)構(gòu),軟件工程 其他的要求至少英語四級(不然MSDN沒法看),寫過程序,數(shù)學不要太差 如果你掌握了這些內(nèi)容,說明你至少和科班出身站在了同一起跑線上了。下面再根據(jù)你自己愿意從事專業(yè)發(fā)展。發(fā)展大致可以按平臺劃分 1、WINDOWS平臺 2、LINUX/UNIX平臺 3、嵌入式平臺 WINDOW平臺機會最多,待遇也*,LINUX/UNIX次子,嵌入式待遇*。但是學習機會剛好相反,WIN平臺很好學,LINUX/UNIX一般用于大型機,而你自己估計平時也不會用這些東西,至于嵌入式,如果公司不給你機會學習,那你根本就沒法進入這個行業(yè)。 當如,如果你在三個平臺之一能做到精通,那么待遇都會很高。不過我敢說,就算CSDN,真正能透徹了解WINDOWS運行機制,能把API運用的純熟的人都不會太多。 如果你做網(wǎng)絡,網(wǎng)絡也可以分很多。你是準備做布線,管理,架構(gòu)還是研發(fā)?如果研發(fā),又可以分寫一般通訊程序,路由等網(wǎng)絡設備研發(fā)(已經(jīng)偏硬)等。 那么建議你至少熟悉以下內(nèi)容 多平臺的進程調(diào)度多線程和線程同步(TCP/IP協(xié)議在不同平臺通訊很正常) TCP/IP協(xié)議的了解 熟悉C/C++(跨平臺C開發(fā),包括VC,GCC等等) 等等
LZ不要杞人憂天了,那些說數(shù)學重要的,首先數(shù)學你會嗎?數(shù)學包含的范疇太多了,常見的有高等幾何 微積分 線性代數(shù) 概率論 離散數(shù)學 數(shù)論 圖論等等你指的是具體哪一樣呢?就算是前人科學巨匠泰斗牛頓,毆幾里德,愛因斯坦,他也只是擅長自己從事的那領域,要說所有數(shù)學領域都精通我想他們也不敢吹這樣的牛逼。所以對大多數(shù)人來說,在數(shù)學方面都不太可能取得什么很深的造詣。等到你所謂的把數(shù)學學好,那胡子都快白完了,數(shù)學是又深奧又費解學習成本巨大需要耗費大量時間學完不用立馬就忘的*。所以說數(shù)學重要,先問問你自己能不能學會。其次,計算機*跟數(shù)學根本就不是一門*, 包含內(nèi)容極其有限。計算機編程有自己的理論知識體系,很多跟數(shù)學關系不大。學好編程尤其對新手來說最重要的是對你學的編程語言的熟練運用和工具SDK的爛熟于心。每個語言都有自己獨特的設計理念,不存在什么好學的編程語言。所以說,題主, 你想得太遠了。軟件開發(fā)需要用到的知識比數(shù)學重要的太多了。拋開計算機不說,英語比起數(shù)學的重要性就大的多的多。英語不好你看不懂函數(shù)API說明你一切就是白瞎。而數(shù)學對于大多數(shù)人來說是最難學也是最不重要的知識,基本上是學了就忘忘了就扔扔了也沒感覺的那種,很多搞編程的可能一輩子也用不到數(shù)學知識。為什么?理解C++的指針和多態(tài)需要數(shù)學嗎?一個復雜的系統(tǒng)架構(gòu)也不需要半點數(shù)學知識,而你就是看不懂。還有就是程序調(diào)試技術,很多IDE給出的出錯語句非常費解,什么指針為空,數(shù)組越界,內(nèi)存溢出,SDK找不到, 你沒經(jīng)驗時打死你也看不懂你的編程工具提示的是什么。這時你那高大上的數(shù)學真是P用沒有,它能幫你排查錯誤找出程序崩掉的原因嗎?我看不行吧,你還是得到論壇百度去問人家這些基本的問題。在你擔心數(shù)學好不好之前,你更應該關心編程環(huán)境怎么搭建,連IDE都搞不定不知道程序怎么跑起來你還搞什么呀,下一步就是程序基本的語法和SDK庫函數(shù)的掌握,基本SDK都不知道什么意思怎么去用,如字符串函數(shù),文件讀寫和數(shù)據(jù)庫常用操作,這些你都不會你還有學下去的必要嗎?還有更重要的更基本的程序調(diào)試技術,程序老出錯老崩潰怎么辦呀,哪里變量為空了內(nèi)存寫錯了?為什么程序老編不過去呀,誰能幫幫我呀!!!這個時候你發(fā)現(xiàn)那牛逼的數(shù)學知識真是屁用沒有,你還是感嘆自己基本功底不行經(jīng)驗太少,這個時候打死你也不會再關心數(shù)學好不好的問題了。如果說用到數(shù)學的大概只有3D游戲引擎,很智能的人工智能,如格斗游戲的電腦應對玩家的復雜AI,生化危機中僵尸怪物的配合商量運用策略包抄玩家和記憶功能,還有航空航天領域這樣高精尖技術*才會用到復雜一點的數(shù)學知識。而這些都是計算機專家才要掌握的內(nèi)容。所以題主你是想多了,還是先關心下自己程序為什么編不過老是報錯的問題吧
如果以上內(nèi)容沒有幫到您,歡迎電話聯(lián)系我們,或者聯(lián)系在線客服咨詢