-
1 # IT人劉俊明
-
2 # 玩著學程式設計
一般的需要達到中等水平的話,基礎語法,一些高階的技術,資料庫,web前端開發(html,css,JavaScript等),web程式設計,然後再熟悉相應的框架,最好再獨立做過一兩個專案。
最好的就是去招聘網站上去搜一下相應的崗位的任職要求,這樣更瞭解企業的用人標準和用人需求。
就拿目前比較火的Python來說吧,隨著人工智慧,大資料等的發展,Python的熱度越來越高,大資料,雲計算,物聯網,人工智慧等領域Python的應用無處不在。而且Python的語法比較簡單明瞭,入門簡單,容易上手。
瞭解過“如鵬網”的Python的課程體系,可以作為學習的參考。(1)、Python基礎
(2)、資料庫開發
(3)、web前端
(4)、Python web開發
(5)、Python web專案
(6)、Linux
(7)、NoSQL
(8)、資料視覺化
(9)、爬蟲技術
(10)、人工智慧
詳細的可以到“如鵬網”上了解一下,有網路的地方就可以學習,每個章節的後面都有相應的練習題和麵試口才題,需要以錄音的方式進行提交,實時把控學習質量,有新的課程更新了,也是可以繼續來學習的,口碑不錯,基本上都是慕名而去的。
(1)、
-
3 # 子子叔
首先程式設計水平就是一個很難的定義。一般來說,我個人經過長期的自身學習和別人的交流總結出了兩種自學的路線,可供參考。
以目標為導向的實幹型(針對非科班的同學)從某種角度講,程式設計是一種實踐。所謂的實踐,就是你去做一個事情,並且把它完成。那麼如何去完成這件事呢?首先來說,你需要定義一個明確的目標,比如做一個個人網站,或者做一個小遊戲。然後定義這個事情要做到多少才算完,比如個人網站需要做頁面展示,註冊;遊戲的話,需要做一個比如橫板過關等等。
把上面的事情想清楚以後,就是選擇一門程式語言,你可以百度一下需要完成你目標的最佳語言,一般比如個人網站比較常用PHP,小遊戲會用LUA等等。之後就是進行程式語言的學習,可以先進行基礎語法學習,學完以後,想辦法找一些例子或者專案,想盡一切辦法把他們跑起來,然後嘗試修改,這一切都是以實踐/完成目的為導向,中間如果遇到不懂再進行學習。
從無到有會是一個非常痛苦的過程,這個過程,需要一個人有極強的動手實踐能力和分析問題的能力,邊學邊做邊做邊學。一般來說,這個過程需要3個月全身心的投入去做,中間可能碰無數次釘子,踩無數坑,等過了這些釘子和坑,差不多就能具備簡單的動手能力。
以上的這套方法論,是總結不少我認識的非科班出身的程式設計師的經歷,他們沒正兒八經學過計算機科學,全憑個人興趣和極強的實踐能力去做事,最後的結果也非常不錯,因為程式設計是注重結果的,有了產品沒人在乎你是否是科班出身。
以理論為基礎的古典型程式設計雖然是一種實踐,但是它對理論的依賴又是極強的。你書中學到的任何知識,都有可能在實戰中碰到。對於想在程式設計領域長期耕耘,或者想把寫程式當成是一種一生愛好,或者想完成某些大型的較高難度的程式的同學,這種路線是我極力推薦的,但是也是收效最慢的。很多計算機專業的科班同學,也在這個漫長的學習過程中放棄了,從而轉去做了一些程式設計不相干事情。所以在選擇這個路線之前,最好想想自己能不能長期去啃計算機著作,去做很多數學題,程式設計題。下面我細說下這個路線。
首先,需要學習計算機科學的基礎課,先學習《計算機組成原理》,一般推薦看《深入理解計算機系統》
同時,在學習理論的過程中,學習C語言,注意C語言是計算機非常底層語言,即便以後工作用不到也對培養計算機程式設計思維有很大的幫助。注意C語言不止是學習,在學習過程中,需要配合上機,不然學成書呆子也沒用。
在理論,實踐的同時,還需要培養離散數學思維,那麼推薦《離散數學及其應用》在看的同時完成課後練習。
一般來說,完成上面三本書的細緻學習,需要6-12個月,學完之後可以進入後期進階的學習,《資料結構》,《作業系統》,《編譯原理》,《網路基礎》,這些書籍大概也需要6-12個月看完,等這些書吃透了,基礎就非常夯實了。
基礎夯實以後,就需要學習目前業界流行的工具,比如 java php ,web程式設計相關,前端js,後端資料庫等技術,當你上面基礎打好以後,學習這些就會感覺比較輕鬆。
後記其實學程式設計,和學樂器是有相似的,第一種方式是速成式的,快速學會一首曲子,彈出來獲得滿足感和動力。後一種是透過長期的基礎訓練,成為能快速上手任何曲子的人。至於要選擇哪種,我覺得還是根據自身情況決定。
回覆列表
程式設計師這個職業需要有較強的自學能力,有不少程式設計師都是透過自學完成程式語言的學習,由於程式開發領域變化比較快,通常在工作過程中也要不斷學習新的內容。
自學程式設計需要有一個比較合理的學習計劃,而且在學習到一定階段之後要透過實際專案來提升自己的程式設計能力,畢竟學習和應用還是有一定的差距,往往學習過程中的實驗都比較簡單,而真正開發專案則要複雜的多,需要考慮的內容也比較多。
自學程式設計多久能達到獨立完成功能元件開發的程度呢?這個因人而異,這裡以Java語言為例進行一個詳細的分析。
基礎語法這部分的學習往往是比較困難的,程式語言大部分都是先難後易,在理解了基本語法之後,剩下的內容大部分透過實驗都能夠理解。
Java的基礎部分學習第一步是面向物件概念的理解,包括類、物件、屬性和方法,理解面向物件的程式設計過程:類的設計、物件的建立、方法的呼叫。以及在此基礎上進一步理解封裝、繼承以及多型的概念。
另外在基礎部分還要學習異常處理、IO流、集合、圖形介面、多執行緒以及網路程式設計基礎,這些內容也需要一定的時間才能消化掌握,多執行緒是一個重點和難點。
通常來說掌握這部分內容需要1至3個月的時間,主要取決於每天的學習時間以及理解能力。
這部分的學習如果有人指導一下會有很大幫助,畢竟很多問題在理解上還是有一定難度。
資料庫開發資料庫開發是Java學習的一個重要組成部分。這部分內容包含資料庫和Java操作資料庫兩個部分,一個是學習資料庫管理系統怎麼使用,另一個內容就是如何透過Java程式碼來操作資料庫,也就是JDBC。
通常先選擇一個數據庫產品作為學習的入口,推薦學習MySql資料庫,使用方便功能強大,目前很多網際網路產品都使用MySql資料庫,而且MySql資料庫與Java同屬Oracle公司。這部分的學習包括資料庫的建庫、建表、增刪改查、儲存過程編寫等重要內容,這部分內容的學習通常要2到4周的時間。
在掌握資料庫的使用之後,下一步要學習如何使用JDBC。JDBC是Java操作資料庫的一個標準API,基本步驟包括:驅動程式載入、連線物件建立、容器建立、執行Sql語句、返回結果、關閉資源。
資料庫開發還涉及到一系列的最佳化,比如透過使用PreparedStatement來預處理sql語句,透過ConnectionPool來池化Connection物件,透過CallableStatement來完成儲存過程的呼叫等等。
通常這部分內容的學習需要2到4周能掌握。
Web開發學習Java通常都是要進行Web開發,所以學習Web開發是學習Java的重要環節。
這部分內容有三個大部分:前端學習、後端學習、框架學習。
前端內容包括HTML、CSS以及JavaScript,這部分內容雖然不需要深入掌握,但是作為Java Web開發的程式設計師也是應該掌握的,因為前端後端本身並不分家,只是在開發過程中我們有時候會按照角色進行任務劃分。這部分內容雖然並不複雜,但是內容非常多,需要做大量的實驗,通常需要4到8周的時間。
後端學習有三個大內容:Servlet、JSP和JavaBean,以及如何使用MVC框架進行Web開發。關於這部的內容細節可以看一下我之前寫的文章,裡面詳細描述了各個技術的規範。這部分內容的學習通常需要2到4周的學習時間。
框架部分的學習也是比較重要的,使用框架能快速完成專案開發。目前使用比較多的是Spring框架,這個框架還是很有必要學習的,其他框架可以在開發期間邊用邊學。
這部分的學習通常需要2到4周的時間。
在掌握以上內容之後,下一步就需要進行專案開發實習了,這個階段最好要參加到一個軟體團隊中,現在的軟體開發已經不是一個人單打獨鬥的時代了,現在的軟體專案開發都需要一個成熟的開發團隊來保證進度和質量。而且在團隊開發過程中能透過交流不斷提高,這就是團隊開發能保持高效的一個基本原因。實習時間通常在3到6個月左右,至少要參與完成一個完整專案的開發過程。
最後一點建議,個人承接各種外包還是有一定風險的,由於沒有團隊,在質量把控上還是有較大的漏洞,用咱們老話說就是:沒有金剛鑽別攬瓷器活。
如果有關於軟體開發方面的問題,或者是Java、Python、人工智慧、大資料方面的問題可以諮詢我。