導航:首頁 > 編程語言 > 我想上編程課

我想上編程課

發布時間:2022-05-29 05:36:02

Ⅰ 我想學編程,應該學哪一類,求助

原文地址:http://coolshell.cn/articles/4990.html

博文如下:

前言

你是否覺得自己從學校畢業的時候只做過小玩具一樣的程序?走入職場後哪怕沒有什麼經驗也可以把以下這些課外練習走一遍(朋友的抱怨:學校課程總是從理論出發,作業項目都看不出有什麼實際作用,不如從工作中的需求出發)

建議:

不要亂買書,不要亂追新技術新名詞,基礎的東西經過很長時間積累而且還會在未來至少10年通用。

回顧一下歷史,看看歷史上時間線上技術的發展,你才能明白明天會是什麼樣。

一定要動手,例子不管多麼簡單,建議至少自己手敲一遍看看是否理解了里頭的細枝末節。

一定要學會思考,思考為什麼要這樣,而不是那樣。還要舉一反三地思考。

註:你也許會很奇怪為什麼下面的東西很偏Unix/linux,這是因為我覺得Windows下的編程可能會在未來很沒有前途,原因如下:

現在的用戶界面幾乎被兩個東西主宰了,1)Web,2)移動設備iOS或Android。Windows的圖形界面不吃香了。

越來越多的企業在用成本低性能高的Linux和各種開源技術來構架其系統,Windows的成本太高了。

微軟的東西變得太快了,很不持久,他們完全是在玩弄程序員。詳情參見《Windows編程革命史》

所以,我個人認為以後的趨勢是前端是Web+移動,後端是Linux+開源。開發這邊基本上沒Windows什麼事。

啟蒙入門

1、學習一門腳本語言,例如python/Ruby

可以讓你擺脫對底層語言的恐懼感,腳本語言可以讓你很快開發出能用得上的小程序。實踐項目:

處理文本文件,或者csv(關鍵詞pythoncsv,pythonopen,pythonsys)讀一個本地文件,逐行處理(例如wordcount,或者處理log)

遍歷本地文件系統(sys,os,path),例如寫一個程序統計一個目錄下所有文件大小並按各種條件排序並保存結果

跟資料庫打交道(pythonsqlite),寫一個小腳本統計資料庫里條目數量

學會用各種print之類簡單粗暴的方式進行調試

學會用Google(phrase,domain,usereadertofollowtechblogs)

為什麼要學腳本語言,因為他們實在是太方便了,很多時候我們需要寫點小工具或是腳本來幫我們解決問題,你就會發現正規的編程語言太難用了。

2、用熟一種程序員的編輯器(不是IDE)和一些基本工具

Vim/Emacs/Notepad++,學會如何配置代碼補全,外觀,外部命令等。

SourceInsight(或ctag)

使用這些東西不是為了Cool,而是這些編輯器在查看、修改代碼/配置文章/日誌會更快更有效率。

3、熟悉Unix/LinuxShell和常見的命令行

如果你用windows,至少學會用虛擬機里的linux,vmwareplayer是免費的,裝個Ubuntu吧

一定要少用少用圖形界面。

學會使用man來查看幫助

文件系統結構和基本操作ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip…

學會使用一些文本操作命令sed/awk/grep/tail/less/more…

學會使用一些管理命令ps/top/lsof/netstat/kill/tcpmp/iptables/dd…

了解/etc目錄下的各種配置文章,學會查看/var/log下的系統日誌,以及/proc下的系統運行信息

了解正則表達式,使用正則表達式來查找文件。

對於程序員來說Unix/Linux比Windows簡單多了。(參看我四年前CSDN的博文《其實Unix很簡單》)學會使用Unix/Linux你會發現圖形界面在某些時候實在是太難用了,相當地相當地降低工作效率。

4、學習Web基礎(HTML/CSS/JS)+伺服器端技術(LAMP)

未來必然是Web的世界,學習WEB基礎的最佳網站是W3School。

學習HTML基本語法

學習CSS如何選中HTML元素並應用一些基本樣式(關鍵詞:boxmodel)

學會用Firefox+Firebug或chrome查看你覺得很炫的網頁結構,並動態修改。

學習使用javascript操縱HTML元件。理解DOM和動態網頁(DynamicHTML:TheDefinitiveReference,3rdEdition-O'ReillyMedia)網上有免費的章節,足夠用了。或參看DOM。

學會用Firefox+Firebug或chrome調試Javascript代碼(設置斷點,查看變數,性能,控制台等)

在一台機器上配置Apache或Nginx

學習php,讓後台PHP和前台HTML進行數據交互,對伺服器相應瀏覽器請求形成初步認識。實現一個表單提交和反顯的功能。

把PHP連接本地或者遠程資料庫MySQL(MySQL和SQL現學現用夠了)

跟完一個名校的網路編程課程(例如:http://www.stanford.e/~ouster/cgi-bin/cs142-fall10/index.php)不要覺得需要多於一學期時間,大學生是全職一學期選3-5門課,你業余時間一定可以跟上

學習一個javascript庫(例如jQuery或ExtJS)+Ajax(非同步讀入一個伺服器端圖片或者資料庫內容)+JSON數據格式。

HTTP:TheDefinitiveGuide讀完前4章你就明白你每天上網用瀏覽器的時候發生的事情了(proxy,gateway,browsers)

做個小網站(例如:一個小的留言板,支持用戶登錄,Cookie/Session,增、刪、改、查,上傳圖片附件,分頁顯示)

買個域名,租個空間,做個自己的網站。

進階加深

1、C語言和操作系統調用

重新學C語言,理解指針和內存模型,用C語言實現一下各種經典的演算法和數據結構。推薦《計算機程序設計藝術》、《演算法導論》和《編程珠璣》。

學習(麻省理工免費課程)計算機科學和編程導論

學習(麻省理工免費課程)C語言內存管理

學習Unix/Linux系統調用(Unix高級環境編程),,了解系統層面的東西。

用這些系統知識操作一下文件系統,用戶(實現一個可以拷貝目錄樹的小程序)

用fork/wait/waitpid寫一個多進程的程序,用pthread寫一個多線程帶同步或互斥的程序。多進程多進程購票的程序。

用signal/kill/raise/alarm/pause/sigprocmask實現一個多進程間的信號量通信的程序。

學會使用gcc和gdb來編程和調試程序(參看我的《用gdb調試程序》)

學會使用makefile來編譯程序。(參看我的《跟我一起寫makefile》)

IPC和Socket的東西可以放到高級中來實踐。

學習WindowsSDK編程(Windows程序設計,MFC程序設計)

寫一個窗口,了解WinMain/WinProcere,以及Windows的消息機制。

寫一些程序來操作WindowsSDK中的資源文件或是各種圖形控制項,以及作圖的編程。

學習如何使用MSDN查看相關的SDK函數,各種WM_消息以及一些常式。

這本書中有很多常式,在實踐中請不要照抄,試著自己寫一個自己的常式。

不用太多於精通這些東西,因為GUI正在被Web取代,主要是了解一下Windows圖形界面的編程。@virushuo說:「我覺得GUI確實不那麼熱門了,但充分理解GUI工作原理是很重要的。包括移動設備開發,如果沒有基礎知識仍然很吃力。或者說移動設備開發必須理解GUI工作,或者在win那邊學,或者在mac/iOS上學」。

2、學習Java

Java的學習主要是看經典的CoreJava《Java核心技術編程》和《Java編程思想》(有兩卷,我僅鏈了第一卷,足夠了,因為Java的圖形界面了解就可以了)

學習JDK,學會查閱JavaAPIDocJavaPlatformSE6

了解一下Java這種虛擬機語言和C和Python語言在編譯和執行上的差別。從C、Java、Python思考一下「跨平台」這種技術。

學會使用IDEEclipse,使用Eclipse編譯,調試和開發Java程序。

建一個Tomcat的網站,嘗試一下JSP/Servlet/JDBC/MySQL的Web開發。把前面所說的那個PHP的小項目試著用JSP和Servlet實現一下。

3、Web的安全與架構


學習HTML5,網上有很多很多教程,以前酷殼也介紹過很多,我在這里就不羅列了。

學習Web開發的安全問題(參考新浪微博被攻擊的這個事,以及Ruby的這篇文章)

學習HTTPServer的rewrite機制,Nginx的反向代理機制,fast-cgi(如:PHP-FPM)

學習Web的靜態頁面緩存技術。

學習Web的非同步工作流處理,數據Cache,數據分區,負載均衡,水平擴展的構架。

實踐任務:

使用HTML5的canvas製作一些Web動畫。

嘗試在前面開發過的那個Web應用中進行SQL注入,JS注入,以及XSS攻擊。

把前面開發過的那個Web應用改成構造在Nginx+PHP-FPM+靜態頁面緩存的網站

4、學習關系型資料庫

你可以安裝MSSQLServer或MySQL來學習資料庫。

學習教科書里資料庫設計的那幾個範式,1NF,2NF,3NF,……

學習資料庫的存過,觸發器,視圖,建索引,游標等。

學習SQL語句,明白表連接的各種概念(參看《SQLJoin的圖示》)

學習如何優化資料庫查詢(參看《MySQL的優化》)

實踐任務:設計一個論壇的資料庫,至少滿足3NF,使用SQL語句查詢本周,本月的最新文章,評論最多的文章,最活躍用戶。

5、一些開發工具

學會使用SVN或Git來管理程序版本。

學會使用JUnit來對Java進行單元測試。

學習C語言和Java語言的codingstandard或codingguideline。(我N年前寫過一篇關C語言非常簡單的文章——《編程修養》,這樣的東西你可以上網查一下,一大堆)。

推薦閱讀《代碼大全》《重構》《代碼整潔之道》

高級深入

1、C++/Java和面向對象

我個人以為學好C++,Java也就是舉手之勞。但是C++的學習曲線相當的陡。不過,我覺得C++是最需要學好的語言了。參看兩篇趣文「C++學習信心圖」和「21天學好C++」

學習(麻省理工免費課程)C++面向對象編程

讀我的「如何學好C++」中所推薦的那些書至少兩遍以上(如果你對C++的理解能夠深入到像我所寫的《C++虛函數表解析》或是《C++對象內存存局(上)(下)》,或是《C/C++返回內部靜態成員的陷阱》那就非常不錯了)

然後反思為什麼C++要干成這樣,Java則不是?你一定要學會對比C++和Java的不同。比如,Java中的初始化,垃圾回收,介面,異常,虛函數,等等。

實踐任務:

用C++實現一個BigInt,支持128位的整形的加減乘除的操作。

用C++封裝一個數據結構的容量,比如hashtable。

用C++封裝並實現一個智能指針(一定要使用模板)。

《設計模式》必需一讀,兩遍以上,思考一下,這23個模式的應用場景。主要是兩點:1)鍾愛組合而不是繼承,2)鍾愛介面而不是實現。(也推薦《深入淺出設計模式》)

實踐任務:

使用工廠模式實現一個內存池。

使用策略模式製做一個類其可以把文本文件進行左對齊,右對齊和中對齊。

使用命令模式實現一個命令行計算器,並支持undo和redo。

使用修飾模式實現一個酒店的房間價格訂價策略——旺季,服務,VIP、旅行團、等影響價格的因素。

學習STL的用法和其設計概念-容器,演算法,迭代器,函數子。如果可能,請讀一下其源碼

實踐任務:嘗試使用面向對象、STL,設計模式、和WindowsSDK圖形編程的各種技能

做一個貪吃蛇或是俄羅斯方塊的游戲。支持不同的級別和難度。

做一個文件瀏覽器,可以瀏覽目錄下的文件,並可以對不同的文件有不同的操作,文本文件可以打開編輯,執行文件則執行之,mp3或avi文件可以播放,圖片文件可以展示圖片。

學習C++的一些類庫的設計,如:MFC(看看候捷老師的《深入淺出MFC》),Boost,ACE,CPPUnit,STL(STL可能會太難了,但是如果你能了解其中的設計模式和設計那就太好了,如果你能深入到我寫的《STLstring類的寫時拷貝技術》那就非常不錯了,ACE需要很強在的系統知識,參見後面的「加強對系統的了解」)

Java是真正的面向對象的語言,Java的設計模式多得不能再多,也是用來學習面向對象的設計模式的最佳語言了(參看Java中的設計模式)。

推薦閱讀《EffectiveJava》and《Java解惑》

學習Java的框架,Java的框架也是多,如Spring,Hibernate,Struts等等,主要是學習Java的設計,如IoC等。

Java的技術也是爛多,重點學習J2EE架構以及JMS,RMI,等消息傳遞和遠程調用的技術。

學習使用Java做WebService(官方教程在這里)

實踐任務:嘗試在Spring或Hibernate框架下構建一個有網路的WebService的遠程調用程序,並可以在兩個Service中通過JMS傳遞消息。

C++和Java都不是能在短時間內能學好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學習經歷是:

深究C++(我深究C/C++了十來年了)

學習Java的各種設計模式。

2、加強系統了解

重要閱讀下面的幾本書:

《Unix編程藝術》了解Unix系統領域中的設計和開發哲學、思想文化體系、原則與經驗。你一定會有一種醍醐灌頂的感覺。

《Unix網路編程卷1,套接字》這是一本看完你就明白網路編程的書。重要注意TCP、UDP,以及多路復用的系統調用select/poll/epoll的差別。

《TCP/IP詳解卷1:協議》-這是一本看完後你就可以當網路黑客的書。了解乙太網的的運作原理,了解TCP/IP的協議,運作原理以及如何TCP的調優。

實踐任務:

理解什麼是阻塞(同步IO),非阻塞(非同步IO),多路復用(select,poll,epoll)的IO技術。

寫一個網路聊天程序,有聊天伺服器和多個聊天客戶端(服務端用UDP對部分或所有的的聊天客戶端進Multicast或Broadcast)。

寫一個簡易的HTTP伺服器。

《Unix網路編程卷2,進程間通信》信號量,管道,共享內存,消息等各種IPC……這些技術好像有點老掉牙了,不過還是值得了解。

實踐任務:

主要實踐各種IPC進程序通信的方法。

嘗試寫一個管道程序,父子進程通過管道交換數據。

嘗試寫一個共享內存的程序,兩個進程通過共享內存交換一個C的結構體數組。

學習《Windows核心編程》一書。把CreateProcess,Windows線程、線程調度、線程同步(Event,信號量,互斥量)、非同步I/O,內存管理,DLL,這幾大塊搞精通。

實踐任務:使用CreateProcess啟動一個記事本或IE,並監控該程序的運行。把前面寫過的那個簡易的HTTP服務用線程池實現一下。寫一個DLL的鉤子程序監控指定窗口的關閉事件,或是記錄某個窗口的按鍵。

有了多線程、多進程通信,TCP/IP,套接字,C++和設計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP伺服器(帶線程池)

實踐任務:通過以上的所有知識,嘗試

寫一個服務端給客戶端傳大文件,要求把100M的帶寬用到80%以上。(注意,磁碟I/O和網路I/O可能會很有問題,想一想怎麼解決,另外,請注意網路傳輸最大單元MTU)

了解BT下載的工作原理,用多進程的方式模擬BT下載的原理。

3、系統架構

負載均衡。HASH式的,純動態式的。(可以到Google學術里搜一些關於負載均衡的文章讀讀)

多層分布式系統–客戶端服務結點層、計算結點層、數據cache層,數據層。J2EE是經典的多層結構。

CDN系統–就近訪問,內容邊緣化。

P2P式系統,研究一下BT和電驢的演算法。比如:DHT演算法。

伺服器備份,雙機備份系統(Live-Standby和Live-Live系統),兩台機器如何通過心跳監測對方?集群主結點備份。

虛擬化技術,使用這個技術,可以把操作系統當應用程序一下切換或重新配置和部署。

學習Thrift,二進制的高性能的通訊中間件,支持數據(對象)序列化和多種類型的RPC服務。

學習Hadoop。

Hadoop框架中最核心的設計就是:MapRece和HDFS。MapRece的思想是由Google的一篇論文所提及而被廣為流傳的,簡單的

一句話解釋MapRece就是「任務的分解與結果的匯總」。HDFS是Hadoop分布式文件系統(HadoopDistributedFile

System)的縮寫,為分布式計算存儲提供了底層支持。

了解NoSQL資料庫(有人說可能是一個過渡炒作的技術),

不過因為超大規模以及高並發的純動態型網站日漸成為主流,而SNS類網站在數據存取過程中有著實時性等剛性需求,這使得目前NoSQL資料庫慢慢成了人們

所關注的焦點,並大有成為取代關系型資料庫而成為未來主流數據存儲模式的趨勢。當前NoSQL資料庫很多,大部分都是開源的,其中比較知名的

有:MemcacheDB、Redis、TokyoCabinet(升級版為Kyoto

Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。

寫了那麼多,回顧一下,覺得自己相當的有成就感。希望大家不要嚇著,我自己這十來年也在不斷地學習,今天我也在學習中,人生本來就是一個不斷學習和練級的過程。不過,一定有漏的,也有不對的,還希望大家補充和更正。(我會根據大家的反饋隨時更新此文)歡迎大家通過我的微博(@左耳朵耗子)和twitter(@haoel)和我交流。

—–更新2011/07/19—–

1)有朋友奇怪為什麼我在這篇文章開頭說了web+移動,卻沒有在後面提到iOS/Android的前端開發。因為我心裡有一種感覺,移動設備上的UI最終也會被Javascript取代。大家可以用iPhone或Android看看google+,你就會明白了。

2)

有朋友說我這里的東西太多了,不能為了學習而學習,我非常同意。我在文章的前面也說了要思考。另外,千萬不要以為我說的這些東西是一些新的技術,這份攻略

里95%以上的全是基礎。而且都是久經考驗的基礎技術。即是可以讓你一通百通的技術,也是可以讓你找到一份不錯工作的技術。

3)有朋友說學

這些東西學完都40了,還不如想想怎麼去掙錢。我想告訴大家,一是我今年還沒有40歲,二是學無止境啊,三是我不覺得掙錢有多難,難的是怎麼讓你值那麼多

錢?無論是打工還是創業,是什麼東西讓你自己的價值,讓你公司的價值更值錢?別的地方我不敢說,對於互聯網或IT公司來說,技術實力絕對是其中之一。

4)有朋友說技術都是工具,不應該如此痴迷這句話沒有錯,有時候我們需要更多的是抬起頭來看看技術以外的事情,或者是說我們在作技術的時候不去思考為什麼會有這個技術,為什麼不是別的,問題不在於技術,問題在於我們死讀書,讀死書,成了技術的書獃子。

5)對於NoSQL,最近比較火,但我對其有點保守,所以,我只是說了解就可以。對於Hadoop,我覺得其在分布式系統上有巨大的潛力,所以需要學習。對於關系型資料庫,的確是很重要的東西,這點是我的疏忽,在原文里補充。

Ⅱ 想學習編程可以去哪些培訓機構比較好啊

1、是否是面授課程。老師面對面授課就會少許多師生互動環節、也不能很好的調起學員的學習興趣。所以去試聽是首先要注意這個培訓機構是否真的是講師面對面授課。
2、上課內容技術自己能否聽懂,是不是當下需求最多最流行的。老師上課講的內容是不是當下正流行的一些技術這點很重要,因為如果講的是過時內容,那就說明這家培訓機構的課程沒能跟上市場需求。點擊咨詢
3、有沒有實戰階段。IT行業很看重求職者有沒有項目經驗,所以培訓機構如果沒有實操環節,就需要學員自己找項目做。所以在試學期間也要關注課程有沒有實戰項目環節。
學習編程課推薦到達內了解一下,高薪聘請總監級名師全職授課,術業有專攻,名師出高徒。實施「因材施教,分級培優」教學方案,讓每一位學員都成才,讓強者更強。三大戰略:多元化:IT職業培訓到職業培訓,少兒IT培訓到少兒培訓。網路化:線下到線上,TTS到TMOOC;職業培訓到技能培訓。國際化:內陸到港台;港台到歐美。

Ⅲ 編程怎麼學。

如何學習編程,主要有自學和報班兩種途徑,至於需不需要報班,可以結合自己的實際情況來進行判斷,這里簡單介紹下。

學編程的注意點:

1、要確定好自己一定能學下去,不能是三分鍾的熱度,只是學個熱鬧,這樣永遠沒有辦法學的會。

2、一定要打好基礎,剛開始學習編程的時候可能會很慢,感覺自己沒學會啥,這可能是因為正處於打基礎的階段,只有把基礎打好,未來才可以學得更好。

3、要注意實踐操作,理論知識學得再多,如果不能實際的運用,還是等於0的。

自學還是報班:

1、如果你可以規劃好自己的學習過程,堅持一步步向前走,那麼自學當然是很好的。

2、如果你沒人監督就學不進去,也沒有自己的學習規劃,那麼還是建議你報班,可以少走冤枉路。

不管是自學還是報班,學編程的要注意的點是相差不大的,希望我的回答對你有幫助!

Ⅳ 我想學習編程,要從哪開始學起

學習編程可以從c語言開始學,方法如下。

零基礎自學編程入門指南:

一:確定一個方向,編程語言太多了:java、C++、python、PHP、C等,需要確定方向,從基礎學起,建議零基礎學編程的小夥伴從C語言開始學起,C語言入門比較簡單,會提升自信心。

二:自學編程入門一定要階段性的看到成果,這個「成果」並不是在「黑匣子」裡面實現,要在用戶展現界面呈現,很容易提升信心。

其次,多學多練,計算機編程只有多打代碼,才能從中找到規律。期初的時候可以不明白只要跟著老師一起打代碼一起多練習,慢慢就會由記住理解,如果是想從事編程的同學,可以把寫過的代碼存到自己的文本文檔里,這也就能知道我們的代碼量,為以後找工作做准備。

學編程入門很關鍵,如果你找到一個好方法入門學習很輕松,如果方法錯了,很容易半途而廢,C語言編程學會後,完全可以在學習python、java等新的編程語言也無所謂,它們有很多相通之處,可以相互借鑒,互相拿來應用。

Ⅳ 上編程課有什麼好處

1、抓住成長黃金期,讓孩子更聰明

編程的本質,是一套理解問題、解決問題的方法。

3、打好基礎,無縫銜接小學教育

前央視主持人張泉靈,曾在一個活動上感慨:

「在未來,不懂編程的孩子,就像不會英語的孩子一樣讓人焦慮。」

隨著國家政策的推動,編程會越來越普及。

孩子現在開始學,時間比較充裕,上小學之後比同齡人更有優勢。

功利一點來看,學習編程還能為萌娃經歷增加亮點,幼升小時可以在千篇一律的簡歷中脫穎而出。

Ⅵ 我想學習編程,但不知道從哪入手,基礎也為零,求大神給點建議,推薦基本書籍方法

別人寫的一篇關於初學電腦的心得文章,可以給你一些參考。

零基礎如何學習編程
心得筆記

自學編程2年來,加過n多群,泡過n多論壇,接觸過心懷激情的編程新人,遇到過沉著冷靜的技術大牛……編程,吸引了一批又一批的熱血青年,或許是為了理想,或許是心中的愛好,不斷有新人的加入,也不斷有人從編程中退出。編程的入場入口只有一個,出場的出口卻很多。自學編程的新人,有很大一部分卡在了入門上,對此,我想寫下對編程入門的一些拙見,權當拋磚引玉,或對或錯,還望同學們自己鑒定。
1.零基礎,打算自學編程,應具備哪些的知識?
答:
對於入門階段,對知識水平的要求並不算高,或者說很低,大家都應該聽說過xxx小學生編程如何如何這般這般怎麼樣之類的話題,這里,我們不談長期發展,只談如何入門。首先,我覺得你應該具備計算機的基本操作能力,如果說你連新建一個文件夾或者說從網上下載資料都不會,那麼你應該先買本《windows xx從入門到提高》看,然後再考慮編程這件事,如果你覺得對計算機的基本操作已經熟練後,請繼續向下看。
2.學編程應具備哪些條件?
答:
第一:硬體保證,首先你應該具備一台電腦,不管是筆記本還是台式,也不管性能高低,性能對前期學習編程幾乎無任何影響,就入門來看,操作系統還是首選windwos。
第二:有xx語言的入門本書,紙做的,具體xx語言是哪種語言,後面我們再討論這個問題。雖說現在鋪天蓋地的都是電子書了(保留這句話的確定性),到處是掃描版,還高清呢,但我還是推薦看紙做的書,好處有兩點,其一是便於攜帶,可以隨時翻閱;其二是避免眼疲勞,我不信你一直晚盯著顯示器看電子書眼睛不會酸;還有一點,尊重圖書作者的版權。
第三:時間保證,如果你每天都有一大堆事等著你去處理,先去處理那些事吧,處理完後把剩餘時間劃出一整塊的給編程,進行隨時可能被打斷的學習,在編程這塊,我不認為這是在用功學習,零碎時間去背單詞?應該是個不錯的選擇。
3.你確定要學編程?
答:
這個問題看起來有點多餘,但為什麼要提出這個問題?要知道,編程不是一朝一夕的事,如果你只是一時的沖動,或者僅僅是要完成心目中的某個小工具,並沒有長期寫程序的打算,這樣的話,編程不學也罷,畢竟編程從入門到能獨立寫軟體會有很長的一段路要走,中途一旦放棄就前功盡棄,並且已經浪費了你大把的寶貴時間,實在是得不償失。不過,你盡管吐槽說是這是你的業余愛好,有個愛好也挺好,那麼,繼續往下看吧。
4.如何才能入門?
答:
到底怎樣才能入門?其實,只要你有毅力,慢慢折騰個一年半載,肯定能入門,但寫這篇文章的目的就是為了把這個周期縮短些,不是嗎?所以,下面我就以個人的觀點來談談怎麼才能更快的入門,這里先籠統的介紹下,對於每點,後面單獨介紹。
–1>.去了解計算機的基本組成,計算機的發展史和編程的發展史,看起來和編程沒什麼關系,潛在的影響還是十分大的;
–2>.選擇一門簡單的語言作為入門語嚴;
–3>.學會使用搜索引擎;
–4>.知道如何看書;
–5>.要」像」個高手;
–6.>應具備的學習態度;
4.1:了解這些歷史的意義:
了解一些編程的實質遠比知道如何編程更有意義,不要在編程是怎麼回事的情況下就去學習編程,這樣對你的學習是十分不利的,作為一個編程愛好者,知道計算機的工作原理,這應該是一件再正常不過的事,你難道不想去知道嗎?
4.2>.選擇入門語言:
這個問題在入門階段一直是爭議十分大的問題,n多語言,n多推薦,到最後搞到新手一會聽說這種語言適合新手,於是學習這種語言,一會又有人說xx語言是垃圾、弱爆了,學了也沒用,之類的話,開始推薦你xxx語言,於是新手們又開始學習這種語言,搞到最後,什麼語言都沒搞懂,時間大把大把的流失,熱情消耗殆盡。要解決這個問題,首先要明白一個根本問題,怎樣挑選適合入門的編程語言?我推薦從難度這個角度來考慮,這門語言必須簡單易學,有趣,而且要有一定的熱度,有熱度才能有更多的人一起交流討論,翻開編程語言列表,發現有100多種編程語言,而且這個數還是在不斷增加的,這里我們一起來看下2012年5月份的編程語言排行榜,能進排行榜前20的,首先在熱度上都已經差不多了,現在要做的就是從排行榜里找到一門簡單有趣的語言。
2012年5月編程語言排行
對於上述的語言,這里不可能一個個詳細介紹,篇幅有限,最主要的是,這些語言的介紹只需要你打開搜索引擎(網路?谷歌?還是其他?隨便你嘍。),輸入這項語言的名字,搜索一下,就能看到他的詳細介紹了,如果你說你不會搜索,那麼,請返回第一個問題,一般來說,如果你去論壇提問什麼語言適合入門,得到最多的結果應該是C語言,沒錯,就是上述排行榜排行第一的那個,強烈推薦C語言入門的同學如果看到這篇文章可能會很想吐槽,因為這里筆者要推薦的不是C語言,筆者認為,Python語言對於零基礎更適合入門,很多人推薦C語言原因我猜測可能有兩個,一是全國大部分的高校的編程課C語言是都有開設的,也可以說是學習過C語言的用戶基數大,第二是C語言自身的強大,可謂是口碑好。基數大+口碑好,足以讓你得到的結果是C語言居多。
筆者是Python語言入門,接觸編程時完全是零基礎,現在接觸了C、接觸了C++、JAVA,Visual Basic 6,回味了下,如果讓我再次選擇一門入門語言,我絕對不會後悔選擇Python,建議每位同學去網路搜索下Python,看下是否真的簡單易學,並且強大,如果你想快速寫GUI(圖形用戶界面 )的軟體,Python有一大把圖形庫供你選擇,不像C語言,半年下來,還是停留在黑框框里,大大打擊了初學者對軟體開發的信心,對於寫游戲,Python也是絕對不會讓你失望的,pygame模塊為你提供簡單快速的游戲開發,Pygame是 跨平台 Python模塊,專為電子游戲設計。 包含圖像、聲音。 雖說沒法和Direct X相比,但對於新手來說,獨立寫個2D游戲不也是一件很愉快的事嗎?
對於Python,筆者就不再詳細介紹了,只是推薦,具體選擇什麼語言,決定權還是在你手裡,無論是C語言也好,Python語言也罷,下面所介紹的學習方法都是適用的。
4.3>.學會使用搜索引擎:
之所以推薦使用搜索引擎的目的是培養更好的獨立解決問題的能力,通常來說,剛學編程時,可能我們有時候連使用什麼軟體作為編程環境都不知,或者下載安裝了編程環境卻不知如何使用,這時搜索就派上大用場了,跑到搜索引擎里輸入」xxx 使用教程」,結果就出來了,簡直太方便了。
而且,新人都喜歡加很多xx語言的編程群,而且大都是挑人多的加,一旦編程中出現了一點小錯誤,就立馬到群里提問,這是一個很不好的習慣,假如說群里有人在線,為你解決了這個問題,那麼你獨立解決問題的能力就降低了一分,假如沒人在線,你就可能面臨著等待,或者把問題放這,不去管它,這樣積累的後果你是知道的,最好的方式就是動用搜索引擎,不需要等待,還可以鍛煉獨立解決問題的能力,何樂而不為?還有一點,許多新人反應說許多知識搜索不到,我很負責任的說,不是搜索不到,是你不會使用搜索引擎,至少我現在在編程上還沒有遇到過搜索不到某個知識點的情況,對於搜索的使用技巧,如果你還不知道,去搜索吧。
總之,有問題,就要去搜索。
順便說句,加很多群不是一個好習慣,群里並不能讓你學到太多知識,他的功能在於能找到一群有共同話題的朋友,真實的情況是大多時間都在時一起閑扯一些與編程無關的話題。
4.4>.知道如何看書:
無論是電子書還是紙做的書,都會有頁碼(txt?當我什麼都沒說過),要做好學習的計劃,每天看多少頁?這倒不是,不要忽略目錄這個好東西,先認真看下一本書的前言和目錄,了解本書的知識點的分布,這樣有利於更快的融入這本書,然後按章節作學習計劃,按頁來你就不怕把一個知識點切成兩半?筆者看書時第一遍喜歡瀏覽,也就是走馬觀花的看,花一上午或一下午從頭把書悠閑的翻一遍,不求記住知識點,只求記住幾個名詞,知道書裡面有這些東西,給大腦一個模糊的印象。
從第二遍開始認真看,不放過任何一句話,碰到不明白的名詞,沒關系,搜索解決。看書要及時復習,推薦「看五退三」(筆者自造的詞)式看書,也就是說一次看五頁,下次看書式再向後退回三頁,這樣可以起到很好的復習效果,遇到確實看不懂的地方,也不要停留太長時間,很有可能當你繼續向下看,再返回這個問題時,發現你已經可以理解了,這種情況很常見。
代碼是一定要親手調試一遍的,要親手輸入一個字元一個字元的輸入,不是機械的復制粘貼,復制粘貼的後果就是你自己感覺學的差不多都理解了,然後到你上機親手寫代碼時,要麼寫不出來,要麼一運行報錯一堆。所以,書上的每段代碼都要親自調試(再次強調:學編程,就必須得要親手實踐,不要想著走捷徑,捷徑在哪?有捷徑我早走了。)
對於代碼報錯,作為新手,正常的不能再正常的一件事,這里說兩點,注意單詞的拼寫錯誤和符號是不是在英文狀態下輸入的;還有就是堅持自己找出代碼錯誤,堅持,代碼報錯不求人,自己解決。
4.5>.要」像」個高手:
在寫這幾個字的時候我還是在擔心等等這句話會不會造成誤解,像個高手,並不是讓你打腫臉充胖子,而是一種激勵自己學習的一種方法,具體就是,要多幫助其他新人,幫助別人可以提高自己的話就不說了,在論壇或群,你可能遇到新人們各種各樣的問題,要麼代碼報錯自己檢查不出錯誤,或者想解決某個問題卻找不到方法等等,諸如此類的問題,如果你能解決,一定要記得解答一下,不斷這樣下去,你在你的圈子裡說話就會越來越有分量,別人也就更信任你的能力,正式由於這種信任,也漸漸使你背負上了一種高手的責任感,別人請教問題我能不會?即使出於虛榮心,我們也得不斷學習,維護我們在別人心中高手的形象,這樣也就達到了刺激自己不斷學習的目的。
但是需要記住幾點;
一:不要誤導其他新人,自己不確定的知識不要回答;
二:對於那些弱爆了的問題,你已經回答過很多遍了,如果別人沒指明讓你回答,那麼就把這個機會讓給別人吧,確實沒必要再在這些弱爆了的問題上浪費時間;
三:每天冒泡回答問題的時間不要過長,否則會影響到你的正常學習進度;
四:發現自己錯了就要勇敢承認,等高手出來吐槽時只會讓你更難堪,不要以為新手好忽悠,當新手有天成為高手時,他會記得當初是誰在挖坑讓他跳;
(悄悄告訴你:假如有人問題你確實不知道的知識,而你覺得這個問題你能解決的時候怎麼辦?咳咳、有點事,離開一下,一會再回答你。這時候,不用說了,抓緊時間去翻書、上網搜索,高手的形象不能丟哇!)
4.6>.需要具備的態度:
–①:恆心?專注?相信自己?每當看到有人告訴新人學習方法講要有恆心,要學會堅持不懈之類的我就想吐槽,做什麼事不需要這樣的態度?編程,要有激情,要有想像力,不局限於書本上的知識點,大膽實驗,嘗試把已經學習的話知識點組合成新的知識點,就拿C語言的鏈表來說,幾乎所有的C語言入門書都把鏈表作為單獨的一個知識點,如果說所有的書都取消鏈表這個知識點,當你學完指針、結構體、再告訴你malloc函數的用法,你能想到可以組合成鏈表這有趣的知識點么?
–②:學會穩定自己的情緒,當在論壇或群意見不合,或者有人無理取鬧時,不要動怒,立即潛水,因為沒必要動怒,誰對誰非,旁觀者自然能看到,有個詞,叫冷暴力。
人往高出走,盡量和高手混在一起,盡管在高手眼裡你可能會僅僅是個菜鳥,但這樣做確實有利於你提高自己,有壓力才有動力。需要叮囑一點:永遠不要指望技術大牛經常出現在xx群,高手在哪裡?高手多半都在寫程序,會有時間泡群?
筆者的閱歷,暫時只能提出這么多建議了,不管建議是好是歹,也算是表達出了心中一直想對新同學們想說的話,所有準備踏入編程這片天空的同學,祝你們學習愉快,早日實現心中的那份夢想。
最後,引用《黑客防線》上的一句話,作為本篇文章的結束語,這句話我一直記在心中:程序員是值得尊敬的,程序員的雙手是魔術師的雙手,他們把枯燥無味的代碼變成了豐富多彩的軟體。
Mr.Wid
2012.6.1

Ⅶ 最近想在線上給孩子報個編程課學習,請問有什麼平台比較好的,好課測評這個平台如何

是最近很火的教育平台哦,很多寶媽都報課了,像英語,語文,數獨,編程等等都有授課的。

編程算是是未來就業的大趨勢,而少兒編程教育是通過編程游戲啟蒙、可視化圖形編程等課程,培養學生的計算思維和創新解難能力的課程。

簡而言之,少兒編程就是培養孩子「解決問題」的能力。一般6歲開始學,小學階段就是編程學習的黃金期。

在【好課測評】讓孩子從簡到難來學習,兒童編程教學內容可以大致分為兩類:一類是Scratch或是仿Scratch的圖形化編程教學,以培養興趣、鍛煉思維為主,趣味性較強。在這里可以創造屬於自己的動畫,故事,音樂和游戲,這個過程就像搭積木一樣簡單。另一類是基於Python、C++等高級編程語言的計算機編程教學,這一類不屬於大部分兒童編程教育涉及的范疇,暫且不表。

總之,我對這平台還是挺有好感度的

Ⅷ 想上少兒編程的課程,在哪裡報名

現在少兒編程課程很多,分為線上線下學習,也有線上線下結合學習的,線上學習多多對比,選擇一家少兒編程平台報名咨詢就可以了,線下需要實地考察,多了解一些情況再報名,最主要孩子喜歡才最好。

Ⅸ 我想學編程!

怎樣學編程

1.明確學習目的

學習編程對大多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能 鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。

2.打好基礎

學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
(3)選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。

3. 注意理解一些重要概念

一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。

4.掌握編程思想

學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道 VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。

5.多實踐、多交流

掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。

6.養成良好的編程習慣

編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。

7.上網學編程

在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載。

8.加強計算機理論知識的再學習

學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。

Ⅹ 少兒編程教育未來前景如何我想加入少兒編程這行。

市場概況:

從2019年3月,教育部發布了《2019年教育信息化和網路安全工作要點》,要求中小學逐步推廣編程教育。掛鉤自國務院,教育部將變成納入課堂教學及大學考試後,全國主要省市已經陸續完成落地,深圳部分省市還將變成和升學掛鉤。

浙江省將信息技術學科,含編程納入高中生的必學科目,納入高考的考試科目;
江蘇明確在小學階段開設信息技術課程,南京甚至將編程列入中考特招生的范疇,
天津政府招生辦發布的《2018年天津科技特長生招生計劃》中,將信息學奧賽,信息技術,人工智慧等納入了招生范疇。
重慶,山東,北京等省市陸續把編程納入小學及高中課程;
隨著人工智慧技術在生產、生活、娛樂等領域的廣泛應用,可以預見,我們已經踏入一個由計算機與機器人主導的人工智慧的時代。
任何人工智慧的實現都離不開編程,編程將成為人工智慧時代中一種基礎的、核心的技能。編程不僅受到國家的重視,還逐漸與升學掛鉤,更是人工智慧時代的必備技能,孩子早學早受益。
學習編程,選擇好的編程課程很重要!

閱讀全文

與我想上編程課相關的資料

熱點內容
app內頁面的網址怎麼提取 瀏覽:286
安卓升級包pkg文件如何打開 瀏覽:77
id3演算法原理 瀏覽:602
騎手通app怎麼輸入不了保單號 瀏覽:988
82一56的筒便演算法 瀏覽:404
數控機床fanuc編程 瀏覽:607
天刀mode不是內部或外部命令 瀏覽:854
長城c30壓縮機價格 瀏覽:1000
java打開圖片文件 瀏覽:409
跟程序員聊天聊到半夜 瀏覽:411
自己怎麼做app代碼 瀏覽:915
win7旗艦版進不去帶命令符 瀏覽:799
單片機溫度檢測電路 瀏覽:802
拼圖軟體不壓縮 瀏覽:656
紅袖添香小說源碼 瀏覽:624
erp加密工具在哪裡買 瀏覽:516
怎麼給qq群里的文件加密 瀏覽:762
androidsetbitmap 瀏覽:597
mt4反向編譯 瀏覽:201
sun伺服器命令 瀏覽:827