呵。
要看你想往哪方面的程序方向發(fā)展了?,F(xiàn)在程序員也分很多種的啊。
有WEB程序員,嵌入式程序員,有C/S程序員。我就給你一份.net程序員的規(guī)劃吧!呵。
希望對你有幫助!一份.Net的學(xué)習(xí)規(guī)劃 一、研究方向 智能信息處理實驗室.Net小組的主要研究方向是“.Net平臺下軟件開發(fā)技術(shù)及相關(guān)應(yīng)用”,其研究內(nèi)容包括.Net框架、.Net語言、面向?qū)ο蟮脑O(shè)計、軟件工程學(xué)方法以及以上理論在實際中的應(yīng)用。小組將以.Net為開發(fā)平臺,著眼于軟件體系結(jié)構(gòu),特別是面向?qū)ο蟮能浖O(shè)計方法,學(xué)習(xí)軟件模塊化、系統(tǒng)解耦合和設(shè)計模式等相關(guān)的理論知識,并結(jié)合實驗室“Web語義”、“工作流”等已有的課題點,討論以上技術(shù)在實際生產(chǎn)中的應(yīng)用。
在更高層次上,小組將系統(tǒng)的學(xué)習(xí)目前較為常見的軟件工程學(xué)方法,包括瀑布模式、螺旋模式和敏捷模式等。并在項目中嘗試采用這些方法,分析這些模式的特點和適用范圍,使小組成員掌握基本的軟件項目管理能力。
二、研究階段 對于.Net下軟件的開發(fā)的研究分為以下四個階段:第一階段:.Net開發(fā)環(huán)境的掌握和相關(guān)開發(fā)技術(shù)的學(xué)習(xí)。這一階段主要是掌握一門.Net語言(推薦C#);掌握.Net開發(fā)的基本技能,包括熟悉.Net框架中的核心類、用于數(shù)據(jù)訪問的ADO.Net和用于Web應(yīng)用的Asp.Net等;掌握Web開發(fā)的相關(guān)技術(shù),包括數(shù)據(jù)庫、HTML、JavaScript、CSS和服務(wù)器的配置等;熟悉Visual Studio .Net、Visual Source Safe等開發(fā)工具。
該階段完成后小組成員將有能力閱讀.Net系統(tǒng)的代碼,并在已有的基礎(chǔ)上進(jìn)行改善的能力。第二階段:掌握基本的面向?qū)ο笤O(shè)計。
在這一階段,小組成將繼續(xù)學(xué)習(xí).Net框架的相關(guān)知識,了解包括反射、XML、ORM和Ajax等較為深入的內(nèi)容。同時,應(yīng)該注重對相關(guān)原理的理解,包括IL語言、Asp.Net運行時和Http協(xié)議等。
在軟件結(jié)構(gòu)體系方面,小組成員開始學(xué)習(xí)使用面向?qū)ο蟮姆椒ㄟM(jìn)行思考,使用繼承、引用和多態(tài)等面向?qū)ο蟮乃悸穪砻枋鱿到y(tǒng)的設(shè)計,掌握UML等系統(tǒng)設(shè)計工具。這一階段將加大實踐的比例,使小組通過開發(fā)實際項目,掌握相關(guān)的技術(shù)和面向?qū)ο笤O(shè)計能力。
在這一階段,隨著項目實踐的展開,小組成員開始接觸軟件工程學(xué)方法,了解不同的開發(fā)模式,掌握團(tuán)隊協(xié)作能力和相關(guān)協(xié)作工具的使用。第三個階段:掌握初步系統(tǒng)架構(gòu)設(shè)計。
在這一階段,系統(tǒng)地實現(xiàn)已經(jīng)不是重點,而該是如何設(shè)計出一個良好的系統(tǒng)結(jié)構(gòu)。這要求深入的理解面向?qū)ο蟮乃枷?,并且具有一定的開發(fā)經(jīng)驗。
在這一階段,小組將學(xué)習(xí)軟件構(gòu)架的相關(guān)知識,包括系統(tǒng)的模塊化、模塊間解耦合、面向?qū)ο蟮脑O(shè)計原則、設(shè)計模式、測試和重構(gòu)等,并且學(xué)習(xí)使用這些知識對不同的系統(tǒng)進(jìn)行設(shè)計,掌握各種模式的特點和使用范圍,從而對于給定的系統(tǒng)要求能夠設(shè)計出較為完善的架構(gòu)。第四階段:掌握完善系統(tǒng)架構(gòu)設(shè)計。
這一階段著眼于如何對系統(tǒng)的需求進(jìn)行深入的理解,以及此基礎(chǔ)上,設(shè)計出完善的系統(tǒng)架構(gòu)。完善的系統(tǒng)架構(gòu)應(yīng)該重視并準(zhǔn)確的反映系統(tǒng)的業(yè)務(wù)邏輯,并考慮需求變化的應(yīng)對,兼顧系統(tǒng)的靈活性、健壯性、復(fù)雜度、開發(fā)效率和運行效率等諸多方面。
小組成員在這一階段將學(xué)習(xí)大量現(xiàn)有的優(yōu)秀系統(tǒng)設(shè)計,并結(jié)合實驗室相關(guān)項目,充分理解不同系統(tǒng)所應(yīng)該采用的構(gòu)架模式,并盡量能夠擁有自己獨到的設(shè)計見解和設(shè)計風(fēng)格。附:參考書目1,第一階段:a) 《C#高級編程》b) 《Asp.Net高級編程》c) 《HTML&XHTML權(quán)威指南》d) 《JavaScript權(quán)威指南》e) 《數(shù)據(jù)系統(tǒng)概論》2,第二階段:a) 《.Net Framework高級編程》b) 《Asp.Net 技術(shù)內(nèi)幕》c) 《C# XML高級編程》d) 《JavaScript高級編程》e) 《Ajax基礎(chǔ)教程》f) 《代碼大全2》g) 《面向?qū)ο箝_發(fā)實踐之路——C#版》h) UML書籍一本3,第三階段:a) 《重構(gòu)——改善既有代碼的設(shè)計》b) 《敏捷軟件開發(fā)——原則、模式及實踐》c) 《Head First Design Patterns》d) 《設(shè)計模式——可復(fù)用的面向?qū)ο笤O(shè)計》4,第四階段:a) 《企業(yè)應(yīng)用構(gòu)架模式》b) 《測試驅(qū)動開發(fā)》c) 《程序員修煉之道》。
感覺樓上說的都不是要點。
我是靠自學(xué)過來的,我不會騙你英語:只要你能過英語二級就行,本人連三級都過不了數(shù)學(xué):必須好,說白了就是邏輯能力要好,空間想像力要好,并且要有耐心自學(xué)編程,要給自己成功的感覺,否則一個程序你學(xué)了半天還是做不出一個小東西,這樣你自己都會沒信心;個人推薦學(xué)習(xí)vb或者asp動態(tài)網(wǎng)頁編程,最推薦的是asp動態(tài)網(wǎng)頁編程,這兩個都很簡單,學(xué)不到多久(半天就行),只要你認(rèn)真在學(xué)了,就可以做出一個小東西。但如果你開始做小東西(例如計算器)了,肯定會有兩個問題,第一個,計算器的界面問題,這就需要你的想像力,根據(jù)腦中對計算器的認(rèn)識,把計算器的樣子構(gòu)建出來(如何構(gòu)建?暫時先不說);第二個,樣子出來了,但功能呢?這就需要寫程序了,寫程序避免不了的問題,就是程序錯誤,程序錯誤分邏輯錯誤和語法錯誤,語法錯誤好說,系統(tǒng)會自動提示你哪兒錯了,但邏輯錯誤的話系統(tǒng)就不會提示了,這就需要你去找了,從而需要耐心和邏輯性了。
學(xué)程序最需要的是耐心和信心,有信心你沒耐心,來個程序錯誤就能把你煩死了。就寫這么多了,要學(xué)的話可以聯(lián)系我QQ一一零一三八五三九一。
根據(jù)軟考程序員職稱的考試內(nèi)容,我們可以得出,程序員需要具備以下的知識。
但這些只是基礎(chǔ),還要不斷擴(kuò)展。計算機硬件基礎(chǔ)知識。
1. 計算機科學(xué)基礎(chǔ)。1.1數(shù)制及其轉(zhuǎn)換。
二進(jìn)制、十進(jìn)制和十六進(jìn)制等常用數(shù)制及其相互轉(zhuǎn)換。1.2數(shù)據(jù)的表示。
數(shù)的表示(原碼、反碼、補碼表示,整數(shù)和實數(shù)的機內(nèi)表示方法,精度和溢出)。校驗方法和校驗碼(奇偶校驗碼、海明校驗碼)。
1.3算術(shù)運算和邏輯運算。計算機中二進(jìn)制數(shù)的運算方法。
邏輯代數(shù)的基本運算和邏輯表達(dá)式的化簡。1.5常用數(shù)據(jù)結(jié)構(gòu)。
數(shù)組(表態(tài)數(shù)組、動態(tài)數(shù)組)、線性表、鏈表(單向鏈表、雙向鏈表、循環(huán)鏈表)、隊列、棧、樹(二叉樹、查找樹)、圖的定義、存儲和操作1.6 常用算法。算法與數(shù)據(jù)結(jié)構(gòu)的關(guān)系,算法效率,算法設(shè)計,算法描述(流程圖、偽代碼、決策表)2. 計算機系統(tǒng)基礎(chǔ)知識。
2.1計算機基礎(chǔ)知識。2.1.1計算機系統(tǒng)的組成,硬件系統(tǒng)、軟件系統(tǒng)及層次結(jié)構(gòu)。
2.1.3 中央處理器CPU。運算器和控制器的組成,常用的寄存器、指令系統(tǒng)、尋址方式、指令執(zhí)行控 處理機性能。
2.1.4 主存和輔存。存儲器系統(tǒng)。
存儲介質(zhì)(半導(dǎo)體、硬盤、光盤、閃存、軟盤、磁帶等)。主存儲器的組成、性能及基本原理。
Cache的概念、虛擬存儲的概念。輔存設(shè)備的類型、特性、性能和容量計算。
2.1.5 I/O接口、I/O設(shè)備和通信設(shè)備。I/O接口(總線、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)。
I/O設(shè)備的類型和特性(鍵盤、鼠標(biāo)、顯示器、打印機、掃描儀、攝像頭,以及各種輔存設(shè)備)。I/O設(shè)備控制方式(中斷控制、DMA)。
通信設(shè)備的類型和特性(Modem、集線器、交換機、中繼器、路由器、網(wǎng)橋、網(wǎng)關(guān))及其連接方法和連接介質(zhì)(串行連接、并行連接,傳輸介質(zhì)的類型和特性)。2.2 軟件基礎(chǔ)知識。
2.2.1 操作系統(tǒng)基礎(chǔ)知識。操作系統(tǒng)的類型和功能。
操作系統(tǒng)的內(nèi)核(中斷控制)和進(jìn)程概念。處理機管理、存儲管理、設(shè)備管理、文件管理、作業(yè)管理、漢字處理。
2.2.2 程序設(shè)計語言和語言處理程序基礎(chǔ)知識。匯編、編譯、解釋系統(tǒng)的基礎(chǔ)知識。
過程(函數(shù))調(diào)用。2.3 網(wǎng)絡(luò)基礎(chǔ)知識。
網(wǎng)絡(luò)的功能、分類、組成和拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)體系結(jié)構(gòu)與協(xié)議(OSI/RM,TCP/IP)。
2.4 數(shù)據(jù)庫基礎(chǔ)知識。數(shù)據(jù)模型,ER圖。
數(shù)據(jù)操作(關(guān)系運算)。數(shù)據(jù)庫語言(SQL)。
2.5 多媒體基礎(chǔ)知識。多媒體基礎(chǔ)概念,常用多媒體設(shè)備性能特征,常用多媒體文件格式類型。
3.軟件開發(fā)和運行維護(hù)基礎(chǔ)知識。3.2 軟件需求分析、需求定義及軟件基礎(chǔ)知識。
結(jié)構(gòu)化分析概念(數(shù)據(jù)流圖(DFD)、實體關(guān)系圖(ER))。面向?qū)ο笤O(shè)計、結(jié)構(gòu)化設(shè)計基礎(chǔ)知識。
模擬設(shè)計、代碼設(shè)計、人機界面設(shè)計要點。3.3 程序設(shè)計基礎(chǔ)知識。
結(jié)構(gòu)設(shè)計程序設(shè)計,程序流程圖,NS圖,PAD圖。程序設(shè)計風(fēng)格。
面向?qū)ο笤O(shè)計基礎(chǔ)知識、可視化程序設(shè)計基礎(chǔ)知識。3.4 程序測試基礎(chǔ)知識。
黑盒測試、白盒測試、灰盒測試基礎(chǔ)知識。4. 安全性基礎(chǔ)知識。
安全性基本概念。加密與解密基礎(chǔ)知識。
5. 標(biāo)準(zhǔn)化基礎(chǔ)知識 標(biāo)準(zhǔn)化基本概念6. 信息化基本知識。有關(guān)的法律、法規(guī)要點。
7. 計算機專業(yè)英語。考試科目2:程序設(shè)計。
1. 內(nèi)部設(shè)計1.1 理解外部設(shè)計。1.3 物理數(shù)據(jù)設(shè)計。
確定數(shù)據(jù)組織方式、存儲介質(zhì),設(shè)計記錄格式和處理方式。2. 程序設(shè)計。
2.1 模擬劃分(原則、方法、標(biāo)準(zhǔn))。3. 程序?qū)崿F(xiàn)。
3.1 編程。編程方法和標(biāo)準(zhǔn)。
程序設(shè)計語言的使用。4.程序設(shè)計語言(C語言為必選,其他語言可以任選一種)。
4.1 C程序設(shè)計語言(ANSI C標(biāo)準(zhǔn))。程序結(jié)構(gòu),語法,數(shù)據(jù)類型說明,可執(zhí)行語句,函數(shù)調(diào)用,標(biāo)準(zhǔn)庫函數(shù),指針。
4.2 C++程序設(shè)計語言(ANSI C++標(biāo)準(zhǔn))。C++和面向?qū)ο蟪绦蛟O(shè)計,語法和程序結(jié)構(gòu),類、成員、構(gòu)造函數(shù)、析構(gòu)函數(shù)、模板、繼承、多態(tài)。
4.3 Java程序設(shè)計(Java 2)。語言機制(程序結(jié)構(gòu)和語法,類、成員、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承、接口)。
4.4 Visual Basic程序設(shè)計(Visual Basic 6.0)。
基本的東西要看你學(xué)的是什么了?。?!
C的話,就是要基本上掌握數(shù)組,指針,結(jié)構(gòu)體等,然后學(xué)會數(shù)據(jù)結(jié)構(gòu),我認(rèn)為這就是基本的了,不同的場合用的都不同,但這些基本上是都會用的,比如有的時候開發(fā)桌面型應(yīng)用時,IO等用的很多,但是一般在做驅(qū)動這塊的時候,很少會用到IO,應(yīng)為一旦涉及IO,就肯定影響速度的?。?/p>
C++的話,在C的基礎(chǔ)上要掌握類,類可以說是C到C++的一個最大的特點,當(dāng)然學(xué)習(xí)C++又會遇到不少問題,就單單拿類來說,基本上學(xué)會了類的基本原理之后可能會接觸一些非標(biāo)準(zhǔn)性的東西,比如可能你會去接觸VC++,去接觸QT,就拿VC++為例,一般做VC++的人,肯定會MFC的,這里面的很多東西都是標(biāo)準(zhǔn)C++中沒有的,而且也不可以移植到其他的平臺上的,另外很多東西都是基于平臺實現(xiàn)的,也要看你選擇的IDE平臺,比如,開始使用的是VC++6.0,之后升級到2003,突然會發(fā)現(xiàn)很多程序在6.0下面可以用,在2003下就不能用了,因為庫文件是有所變動的,不過還好,這種變動比較小的?;旧闲薷牧勘容^小的。C++個人感覺不是太好學(xué)。
至于JAVA,基本的東西就是J2SE,這個很好學(xué),真的很好學(xué),一般有點C++基礎(chǔ)的人,去學(xué)java一個星期就能夠掌握J(rèn)2SE,也就是java的基礎(chǔ)部分,可以說java的基礎(chǔ)部分 基本上也還就是 類,接口等等,當(dāng)然還有一些典型的SUN發(fā)布的JDK 中的封裝好的類都是要掌握的,接著把IO,線程等等掌握了,就基本上可以說掌握了JAVA的基礎(chǔ)了,之后的就是看你自己的選擇了,如果是走移動方向,就選J2ME,如果走WEB方向,走企業(yè)級應(yīng)用方向就選擇J2EE,如果只是單純的桌面應(yīng)用,那么就是J2SE,這時就有必要把SWING,JDBC,等等東西學(xué)學(xué)了,當(dāng)然這些就可以說有點算高級的了。
以上所講到的基本上都是編程語言方面的,還有很多東西是編程人員需要掌握的,比如如果是web方面,那么HTML,JS等等都是必須的,當(dāng)然數(shù)據(jù)庫的基本原理和使用也是需要的,如果是選擇的移動開發(fā),選擇對應(yīng)于小型的硬件型使用開發(fā),類似于手機游戲,手機軟件等等,那么就有必要知道如何寫程序才可保證程序運行而又對硬件的要求不高,等等。。
關(guān)于編程,要學(xué)的很多很多,不是一兩句話能講的完的??!
送你一個很好的學(xué)習(xí)網(wǎng)址: / 對于廣大編程初學(xué)者來說,存在著這樣普遍的認(rèn)識:學(xué)習(xí)程序設(shè)計選擇編程語言 很重要,開口閉口就是VisualBasic、Visual C++、Delphi、Power Builder等一些現(xiàn)在比較流行的開發(fā)工具。
經(jīng)??匆娪谐鯇W(xué)者問:我學(xué)C/C++,究竟是學(xué) VisualC++好,還是學(xué)Borland C++ Builder好呢?或者就是要求在Visual Basic和Delphi之間作出選擇。學(xué)習(xí)程序設(shè)計和學(xué)習(xí)程序設(shè)計語言究竟是怎么一個關(guān)系?初學(xué)者究竟應(yīng)該如何取舍呢?就此我們打個簡單的比方:學(xué)習(xí)程序設(shè)計就好比學(xué)習(xí)射擊,而程序設(shè)計語言就對應(yīng)射擊中的氣槍、手槍、步槍等各種槍械。
學(xué)習(xí)射擊必須要選擇一種槍械,不可能沒有槍還能學(xué)好射擊的,也不可能同時學(xué)會使用所有的槍械。但是,如果掌握一種槍械的射擊,再學(xué)別的也就觸類旁通了。
因為在熟悉一種槍械的同時,也學(xué)習(xí)了射擊技術(shù)本身。再學(xué)其他的,自然事半功倍。
學(xué)習(xí)程序設(shè)計也是一樣,必然要從學(xué)習(xí)一門程序設(shè)計語言開始入手。同時在學(xué)習(xí)的過程中? 建議:學(xué)習(xí)程序設(shè)計不必苛求一定要從某一種語言入手,可以在Visual Basic、Delphi、Borland C++ Builder或者DOS下的Pascal、Turbo C(或Borland C)中間選擇自己比較容易接受的一種進(jìn)行學(xué)習(xí)。
從中主要學(xué)習(xí)的是編程本身的思想,學(xué)習(xí)的是用程序設(shè)計的眼光來看待問題。或許,學(xué)習(xí)的效果不能馬上看到,但是可以學(xué)到扎實的基本功,而這對于將來的進(jìn)一步發(fā)展是有很大好處的。
這些基本功包括: 一、強化邏輯分析和建立數(shù)學(xué)模型的能力 編程的目的是什么?是要解決現(xiàn)實中的問題。而現(xiàn)實中的問題是用自然語言描述的,目前的計算機對其無法理解。
我們要做的就是必須用計算機能理解的方式將問題“告訴”計算機。也就需要我們對現(xiàn)實問題進(jìn)行邏輯分析,建立合理的數(shù)學(xué)模型,然后以程序和數(shù)據(jù)的形式輸入計算機,R、G、B三色份量來各表示一種顏色,對于顏色的處理被轉(zhuǎn)化為對R、G、B三個整數(shù)的處理。
我們只要改變這三個整數(shù),就可以將其改變成另外一種顏色。對于其它的現(xiàn)實問題,我們也要像 這樣使其可以被計 二、數(shù)據(jù)結(jié)構(gòu)和算法知識 程序設(shè)計發(fā)展到現(xiàn)在,已經(jīng)有了一套比較普遍、完整的數(shù)學(xué)模型(我們稱之為 數(shù)據(jù)結(jié)構(gòu))和對應(yīng)這些數(shù)學(xué)模型的處理方法(也就是算法)。
目前的程序就是以 此為基礎(chǔ)的。在程序員中間流傳著一句經(jīng)驗之談:“好的數(shù)據(jù)結(jié)構(gòu)是程序的一 半?!?/p>
其重要性可見一斑。作為一個程序員 三、豐富的實踐經(jīng)驗 程序設(shè)計本身就是一門實踐性很強的學(xué)科。
一個只存在于紙上的程序如同沒 有翅膀的鳥永遠(yuǎn)不能飛翔在現(xiàn)實的天空。任由代碼寫得再巧妙,風(fēng)格再優(yōu)美,也 只是一張紙上的一連串字符而已。
就好比是一份作文練習(xí),或許寫得很好,但是 不交給老師去批閱,和一張白紙又有什么區(qū)別呢?!最后,作為一個程序員還有一點小要求:那就是身體素質(zhì)要好,能熬夜才行。 Top of Form 1 選其器與善其事——縱談編程工具的選擇選其器相同主題的文章 “工欲善其事,必先利其器”——《論語》。
很多人在學(xué)習(xí)軟件編程時,都希望 選擇一款優(yōu)秀的編程工具。到書店逛逛,可以看到各種琳瑯滿目的編程書籍,可 是你還沒有想好選擇學(xué)習(xí)什么編程語言,也就無所適從,不知道該買什么書看。
要想學(xué)好編程,必須認(rèn)真了解各種語言的特點,找準(zhǔn)自己的學(xué)習(xí)方向。那么你首 先必須明確你想要做什么,你所感興趣的是什么?進(jìn)一步說就是:你現(xiàn)在想要完 成哪一方面的程序設(shè)計,你的程序主要完成的功能是什么?由此在眾多軟件中, 選擇出適合自己的開發(fā)工具。
一、基礎(chǔ)語言開發(fā)工具 諸如Delphi、VC++、VB等語言都是一種面向?qū)ο蟮某绦蛟O(shè)計語言,雖然每種語言在對面向?qū)ο蟮闹С植槐M相同,但它們始終貫穿整個程序設(shè)計的思維方式的主線。因此,要學(xué)好這些語言最開始不應(yīng)該將重點放在某種語言的具體語法格式上,而應(yīng)該注重學(xué)習(xí)面向?qū)ο蟮幕纠碚?最容易的入門語言——Visual Basic 在掌握面向?qū)ο缶幊痰幕靖拍畹幕A(chǔ)上,相對來講,VB是比較容易入門的 一門語言。
在學(xué)習(xí)VB時,應(yīng)該注意抓住對象的精髓,避免凌亂和繁雜,注意掌握 對象和控件的屬性和事件以及它們的功能和用法、主要函。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:4.627秒