軟件工程專業學生,怎麼樣迅速提高自己編程能力?

meng8487


軟件工程專業是最近幾年比較熱門的專業,就業情況也不錯,不少科技公司對軟件工程專業的畢業生也有較好的評價,所以軟件工程專業是一個不錯的選擇。

對於軟件工程專業的學生來說,能夠完成學校安排的課程和實踐環節,通常就能有一個比較完善的學習過程,由於軟件工程專業非常注重學生動手能力的培養,所以軟件工程專業的畢業生往往具有較強的動手能力。

如果想迅速提高自己的編程能力需要從以下幾個方面入手:

第一:選擇一個主攻方向。目前是大數據、雲計算和人工智能的時代,選擇這些比較有代表性的技術作為自己的主攻方向是一個不錯的選擇,有了方向就可以制定一個系統的實踐計劃。比如選擇大數據方向可以學習Scala、Java、Python、R等語言,然後在平臺下進行針對性的功能開發,這對編程能力的提升有重要的幫助。目前Spark平臺在大數據領域使用的比較多,看一個Structured Streaming的小例子,分別採用Scala、Java、Python和R語言實現:

第二:系統的開展實驗。編程能力的提升需要結合算法的學習,比如在大數據領域裡一個非常重要的崗位就是大數據分析,大數據分析需要掌握算法、編程語言和場景應用,對於大學生來說,場景應用可以通過模擬來完成,而算法和編程語言的學習則要有一個系統的過程。目前在數據分析領域裡,Python語言應用的比較廣泛,在Python語言完成數據分析的過程中需要系統的學習Numpy、Matplotlib、Scipy等庫的使用。看一個Numpy庫的小例子:

再看一個Matplotlib和Numpy結合應用的小例子:

第三:善於總結。每完成一個實驗都要對實驗的過程和思路進行總結,然後舉一反三,再動手完成一個類似場景的開發,這是建立編程思想的一個必要過程。

我的主要研究方向是大數據和人工智能,目前也在帶相關方向的研究生,我會陸續在頭條寫一些軟件開發方面的文章,感興趣的同學可以關注我,相信一定會有所收穫。

如果有軟件開發方面的問題,或者是讀研方面的問題,都可以諮詢我,謝謝!


IT人劉俊明


想要提高自己的編程,無外乎就是多看書,多看視頻,多單教程,還有最重要的就是多練習。雖然說是多練習,但是應該怎麼練習呢?怎麼練習其中也是有一定的講究的,並不是盲目的練習。


最開始肯定是選好方向,未來的的就業方向,在校期間就把該方向系統學習一遍,為就業或者以後的考研等做準備。


在學習的過程中,基礎語法掌握之後,每個階段都定一個小目標去實現。比如說,你未來想走Java開發,學完Java基礎,就做個飛機大戰的小項目,在這個過程中,遇到的問題都親自去查閱,去百度,你會發現很多不懂的地方,然後去複習,去查相關的資料,這樣會提升很快,帶著問題去學習,去複習。


把你遇到的邏輯問題轉換成代碼問題,知道從哪裡可以找到相應的答案。這種能力在以後的面試,編程,工作中都是非常重要的。一兩個項目做完之後,再去重新把基礎過一遍,你會發現,以前學習的東西原來還可以這麼寫,這個知識點還可以這麼用。


在選擇項目的時候,可以選一些比較好玩的,那樣做起來也比較有趣。比如說開發個網站什麼的,開發幾個好玩的小遊戲等。


學習編程的時候是利用空餘時間在“如鵬網”上學習的,有網絡的地方就可以學習,可以把空餘時間充分利用起來,每個章節的後面都有相應的練習題和麵試題,需要通過錄音的方式來進行提交,加深對知識點的理解,為面試做準備,有新的課程更新了,也是可以繼續來學習的。


玩著學編程


軟件工程這個專業就是針對以後從事軟件開發而開設的課程,裡面很多課程都是從理論層次建設一個體系,唯一欠缺的是實際編程能力,軟件工程的學生面臨一個很現實的問題,如何在掌握理論的基礎上,提高自己的編程能力,編程能力主要包括兩個方面,基本的代碼編寫能力,編程思想的提升,這兩種能力都很難直接在學校裡面弄得很熟練,畢竟這些都屬於實際的項目實戰才能產生本質的提升。

學習軟件不要抱著什麼快速提升的這種意識,這種基本不靠譜,哪有什麼快速的通道,現在市面上的書本動不動30天精通什麼編程語言,為了博眼球多賣點書而已,而且真正經典的編程書籍哪有什麼多少天達到什麼標準之類東西,抱著快速的心態這種對待編程只能會摔得很慘,編程是一個需要長時間積累的過程,功到自然成效果,不可能一步到位,沒有一個積累過程想快也不可能。

在校大學生,特別是軟件工程專業的如何提升編程能力?

1.先把學校開設的專業的基礎弄紮實,沒有基礎想著提升編程能力,幾乎就是一句空談,代碼編程能力的學習需要鎖定一門編程語言,選擇自己一個最感興趣的編程語言進行全力出擊學習。把這門語言的具體細節紮紮實實的搞一遍,搞代碼編寫的基礎。基礎的學習過程往往都是枯燥無味,而且以在校學生的理解程度,要想完全的掌握的確還是需要實踐磨練才可以,起碼可以做到概念清晰,所以先問下自己能不能守得住寂寞,安安靜靜讀懂一本基礎編程書,很多在校大學生,學習的C語言基本上就懂點概念,基本的結構體很多人都不懂,更不要說涉及到更加複雜一點的指針,按照這種學習水準遠稱不上達標。

2.要讓在校大學生磨練編程思想,這個有點困難,思想的錘鍊主要依賴項目實戰,因為平時試驗的項目主要還是點到為止,真正的項目需要解決實際的問題,解決不了客戶就會不樂意,所以無論想什麼辦法首先要解決問題,真正的項目實戰,一定要達成某種效果,所以會不停的挖掘潛力,壓力產生動力,把之前可做可不做的事情要達成必須要做到的效果,即戰力自然會提升,一些編程思想模式自然就能漲的快,如果在學校期間對一些問題較真去搞也能一樣達成效果,所以想要近距離磨練編程思想還要藉助開源社區。

3.提升如何找到合適的實戰項目,是每個在校大學生都面臨的問題。最直接辦法就是找個實習的地方從打雜的開始練手開始,但並不是所有的公司都會給畢業生機會。還有一種是在網上找到如何做東西的視頻,跟著去做去學,一步步的去搞,這種需要很重要的一步來變通,跟著弄完之後需要獨立找個項目進行操作,不然只是跟一遍基本上沒戲。

編程一件需要長期積累的技術活,不可能一日之內,也沒什麼快速方法,真要說是方法就是打好基礎,然後多做真正的項目,做完會後做好總結,然後重複反覆的操作。時間長了能力自然就上來了。

希望能幫到你。


大學生編程指南


給親推薦Changelog Media的主編和合夥人Jerod Santo寫的一篇文。這篇文他分享瞭如何能提升編程能力的方法,希望對你有所幫助。

以下為文章全文:

正如每個人都知道的那樣,寫更多的代碼是提高編程能力最顯著方法。但是我所確信的另外一種可以提高編程能力的方法是與寫代碼完全相反的。我將要儘可能清楚的陳述這種方法。

只有大量的閱讀別人的代碼才能顯著的提高你自己的編程能力。

不論你是否相信,但是我覺得你可以試一下,你會覺得自己所花的時間是完全值得的。

在這篇文章裡我將會教你如何選擇閱讀的內容以及教會你如何閱讀。如果你已經知道如何閱讀代碼,或許你已經發現通過你的努力可以獲取更多。如果你還不知道如何很好的閱讀代碼,那麼請一定繼續往下看。

讀什麼

我們很難決定閱讀什麼樣的代碼,也很難給別人建議。我不會簡單的給你指出你應該讀什麼樣的代碼,因為它最終還是取決於你喜歡讀什麼。我會給你提供一些參考,使得你能夠有所側重的去選擇閱讀什麼代碼。

閱讀你信賴的代碼

你已經在使用的插件或者庫會是很好的選擇。

一個你十分喜歡的WordPress plugin

一個你已經發現很有用處的Ruby gem

一個你會經常回顧的jQuery plugin

這些都是極其不錯的可以作為候選的地方。如果你已經對其公開的APIs十分的熟悉,那麼理解其內在的工作原理已經不再是一件困難的事情。另外,作為一個代碼的使用者,你有機會為其添加文件,實現一個新的功能,或者對原來的項目提出修改的建議。

閱讀那些能夠讓你眼前一亮的代碼

我還記得第一次看 280 Slides 的時候就心想這些代碼讓我眼前一亮。隨後我迅速發現這個網站的源代碼是Cappuccino的開源項目。當這一信息在我的大腦深處徘徊的時候我猛然想起另外一個讓我印象深刻的軟件也是運行在Cappuccino上的,這時候我知道了有一個我可以學習到很多東西的項目了。有什麼是讓你最近印象深刻的?它是一個開源項目嗎?如果是的話,那麼它將會是一個值得你去讀的代碼,因為這些代碼會像最終的應用一樣吸引你。

讀那些你認為是大牛所寫的代碼

如果你已經用開源項目的軟件編程了一段時間,

那麼肯定有發現其他能夠讓你印象深刻的程序員。

我的腦海中有那麼幾個能夠寫出讓我十分羨慕的代碼的程序員。

如果你的印象裡還沒有這樣的開發者,只要你願意的話是很容易找到一個的。他/她或許在過去已經寫了屬於以下2個類型中的代碼。(一種是你所依賴的,另一種是令你印象深刻的)

讀那些你可以意會的代碼

如果你勇於冒險的話,那麼有可能會考慮深入研究類似Ruby on Rails, Drupal, 或者 jQuery的大項目。我建議你現在最好不要接觸類似的項目,除非你在閱讀代碼方面已經很有經驗了。

大的項目有很多可以移動的模塊,你可能會糾結於很多概念而無法及時學到很多知識。疑惑會令人洩氣,在閱讀大的項目的過程中更加容易產生疑惑和洩氣的負面情緒。從一個小的項目入手的好處在於整個程序的完整邏輯可以在腦海中浮現。剩下的就是去探索其細節並從中學習。

如何閱讀代碼

既然你已經選擇了一些要讀的代碼,那麼什麼是最好的閱讀方式呢?我在過去閱讀了許多的代碼,因此可以給你推薦一些可以最大化投資回報率的方法。

下面請看這張大圖

假設你已經在閱讀代碼方面達到了一個突出的水平了。如果沒有,那麼建議你去查看項目的網站、使用說明書、文件或是任何除了代碼外幫助你理解的內容。

那麼,我首先建議的是使自己的腦海裡有這個項目清晰的框架。其工作量是基於你所選取的代碼庫的大小。但是隻要是大於一個文件的項目都會消耗一定的時間。

首先對文件的結構加以註釋。如果一個編者的文件具有像TextMate一樣的可視化視圖結構將會極大的幫助這一步驟的完成。譬如這裡有一個Twitter Ruby gem的完美概要。

這一步驟的目標是為了讓你更加的熟悉代碼。找出那些文件包含/需要/加載其他的文件,以及代碼主題的位置,是否用過命名空間,或是其他諸如此類的東西。如果你已經瞭解了大的架構,那麼你就可以深入去關注其細節了。

記錄下你所發現的東西

閱讀代碼應該是一個主動的行為。我鼓勵你根據自己的想法增加一些評論,當你理解程序的流程的時候記錄下你的假設以及自己的結論。那麼剛開始的時候你的評論可能是這樣的:

當你的理解不斷的進步的時候你會減少那些碎片化的評論並且能夠增加一些更加有意義或權威的評論,這些評論或許能夠對完善原來的項目有所幫助。

使用測試,Luke

但願你選擇的項目有測試的套件,如果沒有的話你可以完全跳過這一部分(或者重新選擇一個有的項目)。

測試是一個很好的地方能夠讓你隨時閱


熱情的大神


首先 要有積累 對常用算法的代碼心裡要有數 總結一些模板 另外儘量嘗試著自己寫點兒代碼 要比看別人已經寫出來的東西印象更深刻 另外告訴你個好消息就是工作中幾乎不會要求你從零開始寫起 大多是在原來版本的基礎上修改修改 因為為了保證產品質量都要求利用率在百分之七八十以上 新規的東西太多就意味著測試的工數會花更多 並且更容易出bug 純軟件的開發還好些 如果涉及到硬件修改起來相對比較麻煩


polaris03


興趣是最好的老師,興趣會驅使你去學各種能力,不會什麼你會去想盡辦法去找答案


林雨意


實踐出真知:

多寫代碼,多搞程序。多自己設計一些程序提高自己的能力!

多考證書,如果是沒畢業的話,考取專業相關證書,比你的畢業證更有用!


太極寄宿考研


一方面要打好基礎,然後最重要的就是實踐,實踐,實踐,作為一門實踐性較強的學科,只有不斷實踐不斷寫程序,不要簡單的複製粘貼,碰到問題多去谷歌百度,從根本上解決問題才能不斷提升自己


魚對水的訴說


最簡單的方法也是最有效的方法,找一個非常嚴格而又優秀的老師。


黃鑫徽


寫軟件是提高編程能力的最好手段,根據自己的需要為自己寫個軟件。


分享到:


相關文章: