A. 新手如何學習編程
熟悉以下關鍵東西,可以邊學邊做,定期訓練,經常思考,長期積累:
1、語法。
2、基礎理論(數學、數據結構、演算法等)。
3、設計方法(編程原則、設計模式、框架設計等)。
4、庫(核心、基礎、UI、擴展、游戲引擎等)。
5、計算機相關(操作系統、網路、圖形學等)。
6、領域知識(游戲設計、網站設計等)。
7、開發工具(編輯器、IDE、自動部署等)。
8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。
最普遍也是最重要的能力:創造力。努力分析並理解好做什麼以及怎麼做。要知道上面那些東西一開始都是不存在的。
具體方法包括:
1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如我學java讀的《Java編程思想》,練習題做過一點,然後學ActionScript就沒讀過書,只讀過Adobe官方文檔《ActionScript 3.0編程》。
2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才注意到,這時候最好做個筆記,雖然我從沒看過我的筆記。
3、做一個自己感興趣或熟悉的小項目,比如我就以黑白棋游戲作為多個語言的試水項目,一樣的邏輯,便於把關注點放在語言特點上。
4、自己動手豐衣足食。廚師有菜譜,程序員可沒菜譜。比如我做游戲,最關鍵的游戲編程知識全部是動手學出來的,很少有專門針對某個業務領域(如游戲)的編程書籍,要麼是入門書,要麼是模式書(如演算法)、理論書(圖形學),很少有書籍教你如何開發一個45度角地圖系統加編輯器的,全靠自己思考,以及看前人的代碼,需要時找些網路資料。關鍵是,可以培養最重要的創造力。
對於演算法和設計模式,可以研讀下,但是關鍵還是靠平時如何使用了。新手勉強不來的。
項目管理方面的,就得靠工作經驗了,多思考多提意見不要只走流程。
B. 北京一位程序員自製700集免費教程獲獎,這位程序員為何這么做
根據新聞的報道可以發現,有一位80後程序員自製了700多集免費的教程,並且獲得了獎項,那麼在這種情況之下也引起了不少人的關注,並且也引發了很多人的好奇,這一位程序員為什麼會做出這樣的事情?為什麼會把自己的經驗免費地分享給大家呢?相信有不少朋友對於這個問題也是非常的感興趣。
只有每一個人在做事情的時候,都為其他人著想才能夠讓我們的社會變得更加和諧,更加美好,而在這一個過程中也能夠讓我們看到人性的光輝,讓我們對於整個社會變得更加有信心,所以我們也希望作為程序員的精神能夠感染更多的人,讓越來越多的人在生活之中,願意對其他人提供幫助。
C. 程序員入門應該怎麼學
如果是想通過自學的方式、而不是上外面的各種培訓班的方式來學習編寫程序的話(在這里以 C 語言為例),那麼最、最簡單易行的方法就是:在自己的 WINDOWS XP 系統下面,安裝一個 Microsoft Visual Studio C++ V6.0 編程環境。然後再購買一本難度適合自己的 C 語言教材,按照教材上面的每一章例題、以及每一章後面的練習題,親自把書上的每一個源程序輸入到電腦中,親自上機編譯、體會、調試通過、並運行每一個源程序。只有這樣,你的編程水平才能夠在一個較短的時間內,有一個較大的提高。
但是在這里有一個問題必須要注意的就是:任何一種高級語言(C、C++、Python、JAVA等)都只不過是一種編程工具而已,如果將來希望能夠勝任大型軟體開發工作,那麼還必須要學習計算機軟體專業的相關課程,例如:計算機操作系統、數據結構(各種排序演算法、以及查找演算法)、計算機演算法及其復雜性分析、各種數學知識(主要用於在大型的軟體項目中進行數學建模)等。否則的話,即使掌握了高級語言的編程,那也只能夠編寫一些小程序,絕對無法勝任大型軟體的開發工作。
D. 跪求計算機軟考程序員的免費視頻教程,謝謝!
http://video..com/v?ct=301989888&rn=20&pn=0&db=0&s=8&word=%C8%ED%BF%BC%B3%CC%D0%F2%D4%B1%B5%C4%20%20%20%20%CA%D3%C6%B5%BD%CC%B3%CC&fr=ala0
E. 程序員入門:如何自學編程
1、選定方向
編程的世界是多元紛繁的,大的方向就分前端開發、後端開發、移動開發、雲計算、數據處理、智能硬體、物聯網、虛擬現實等等,光編程語言都幾十種。如果沒有做過功課,貿然進入只會分分鍾懵逼。所以最好是根據自己的興趣愛好再結合市場前景,先選定一個方向,再選擇一門語言,然後頭也不回的深深扎進去。
2、優化學習方式
做好筆記,記錄經驗,我們大多數人並沒有過目不忘的神技,很多時候我們學了也不一定馬上掌握,需要過後花時間慢慢領悟,而且還有忘掉的風險,所以對於重要的知識點都要做好筆記。
3、多看官方文檔,外文資料
互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
4、動手做項目
我們學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查, 現在互聯網這么發達,獲取資源也及其方便。
F. 求計算機軟考《程序員教程》電子版
《程序員教程》電子版這個的下載地址:http://blog.xunlei.com/web/category.html?uin=88649429&category_id=86&cid=
http://db.k167.com/dn/200701/2005%C4%EA%B3%CC%D0%F2%D4%B1%BD%CC%B3%CC.rar
第一個體積小,第二個清晰些但大
歷年程序員考試題電子版 這個到處都有了 ,你自己去網路下吧
G. 程序員如何學習
沒有捷徑,只有靠多寫代碼
但是要寫有用的代碼,不能老是寫一樣的,所以重構項目是一種很提升水平的經歷,每隔一兩年最好能參與一次這種優化代碼的機會。
還有就是多讀書,經典代碼讀物比如《代碼大全》,這本書適合5年以內程序員看
H. 自學程序員的步驟
1、自學演算法。因為編程語言實現了它們自己的排序和搜索,所以自學成才的程序員總是傾向於學習如何使用它們,而不是去了解它們的工作原理。
2、自學計算理論。這是關於計算機如何解決問題,以及編程語言如何構建的一門科學。從有限狀態機到 Λ 演算,在這一類中,有一大堆重量級的主題。
3、自學純數學。傳統的計算機科學涉及范圍廣泛的重要數學主題,包括線性代數、微積分、概率論和統計學。
4、自學大〇符號法(Big O notation)。這個改編自數學領域的工具,讓開發人員能夠描述並比較不同演算法的整體性能。
很多新手都是初生牛犢不怕虎,因為不了解編程領域,便不假思索地定了一些很高的目標,比如想進大廠,想做有復雜度的項目,想短時間學習一門語言並找到工作。
理想非常充實,而現實卻很骨感。可能低估了進入該行業的難度。不是您可以僅憑意圖快速完成學習過程的。
一定要先易後難,一步一來,例如,首先了解語法,嘗試編寫一個demo,接著了解高級特效,實現高級特性,然後自己脫離教程寫一些代碼,最後做項目,大概是這樣的一個邏輯。
實際上,對於新來者來說,完成這些步驟並不容易。別看學習基本語法並不難,但是如果想入門,可能會遇到很多問題,例如環境配置在安裝和使用IDE之後,代碼語法錯誤,編譯錯誤和執行 錯誤對於新手來說很難解決。如果不藉助外力,基本上是無從下手的。
I. 程序員101:如何自學編程
你也許曾經想過要學習如何開發軟體或只是想臨時的寫出一個腳本但不知道如何入手。 幸運的是,現在的互聯網上到處都有豐富的學習資源讓你能在短時間里成為一個程序員。因為互聯網的出現,使程序員們可以通過它討論軟體開發技術,發布學習指導,以及共享代碼實例讓其他人可以在線學習。 如果你感興趣如何才能成為一個程序員,從網上這些大量的優秀的培訓資料、學習向導入手將會是個不錯的開始。首要之首:不要急於選擇一種語言新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門 手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。桌面腳本想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。Web開發除了把自己約束在特定的編程語言和特定的操作系統上,你還可以在瀏覽器里開發你的殺手鐧程序,讓它在互聯網上運行,這就是webapp。 歡迎來到奇妙的web編程世界。HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。)Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript).Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。命令行腳本如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。插件(Add-ons)如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。開發桌面上的Web應用程序學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。移動應用開發能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要代理才能看這個視頻)。耐心,刻苦,嘗試,失敗好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。這篇文章里的內容就是對那些想通過自我研究達到學會編程目的的新手們的一些重要建議。 編程老手們:我有什麼遺漏嗎? 不論你的水平如何,請留下你的想法。
J. 程序員入門教程在哪裡可以免費看
程序員入門???你是半路轉的對嗎?我給出我的一點小參考:
一.你時間充裕的條件下:
我們一般是從C語言開始的,選好一本教材,在b站有一些用戶自己上傳的視頻,b站那裡沒有廣告,可以免費看,即滿足你的要求,你也可以在網易雲課堂那裡看看,也可以找到一些免費的視頻(只是一些,這得看你自己看了),這個時候你就開始急了,大哥,我是想看java、Python之類,嗯,也好說,你自己找的話,這上面也有。
二.你時間不充裕的條件下:
建議可以利用假期,報一個培訓班,嗯,只要不太坑,見效還是挺快的!
以上