-
1 # Huoyo
-
2 # 飛哥說技術
參加專案,參加專案,參加專案。
最好是去請求你們的老師,特別是計算機老師(計算機老師一般都有很多專案),讓他們介紹參加其中一個。當然啦是以實習的名義,並且你不要錢。
進入專案組後,你的工作一般由專案經理分配,這時候你一般都是打雜、給人打下手,給老版本找bug,改bug之類。
這時候要沉住氣,空閒多看文件多看程式碼,最重要的是多問人。問人有講究,不要在別人工作時打擾,特別是在思考時。問過的問題要記錄下來,不要重複提問,下來要仔細思考問題,翻書查文件看程式碼。
把自己看作專案組的一員,即使是給飲水機換水桶也要主動做。還有整理文件之類的更要做。
那麼,這其中你要學那些東西呢?如下:
業務流程,知道專案做什麼的怎麼做的;程式碼結構,弄懂業務在具體程式碼是怎麼實現的;專案用到的技術、框架,你會發現專案中很多東西不是自己寫的,是直接採用已有的,但你要學會怎麼使用,甚至要了解它們的大概實現和優缺點等。軟體開發流程,這時候你才發現軟體工程之類課程的用途,雖然實際工作只是用到其中一些流程,並且有所變化。做完兩三個專案之後,建議你再重新把計算機的課程重新學一般,語言,計算機原理,作業系統原理,網路原理,演算法,編譯原理,資料庫原理,英語。這些理論類的知識可能不會直接應用到專案,但專案採用的開源模組往往都包含這些原理。
當然,專案中涉及的技術、框架,你也可以深入研究,甚至分析它的原始碼。(如果它是開源專案,而你比較感興趣並且研究得比較透的話,那就加入進去做該專案的開源開發者。)
如此經過專案學習、專案技術學習、理論學習,如果你有足夠的耐心和堅持重複幾輪下來,你的計算機水平會相當不錯。最後提一句,理論知識最後在學校裡學紮實,工作之後你未必有這個時間、心情、精力去學習。
-
3 # IT人劉俊明
要想提升程式設計能力一定要重視實踐,能夠為自己提供實踐場景的機會,都應該爭取和把握,尤其是對於大一、大二的同學來說,更是如此。
能提供實踐場景的機會包括科研實踐、專案實踐、專業競賽等,除了可以申請本校老師的課題組,還可以藉助網際網路申請其他學校老師的課題組。
目前很多老師的實驗室會向其他學校的同學開放,比如我就招募了不少兄弟院校的同學,而且很多實踐活動都是在線上開展的,目前也取得了一些成績,相信後續會越來越成熟。
對於很多強校的導師來說,往往存在一個問題,那就是課題任務多但是學生少,所以招募其他學校的同學參與科研也是解決問題的重要方式之一。
實際上,很多導師之間的合作目前已經有了很多成熟的模式可以參考,但是對於本科生來說,由於有課程任務,所以線下的科研實踐確實存在難度,所以線上開展科研實踐是比較現實的選擇。
基於我的經驗來看,本科生可以在平時採用線上參與實踐活動,在假期時可以線下參加老師的實驗室,這種線上線下結合的方式,效果還是不錯的。
我會持續招募一些有科研、專案實踐想法的本科生同學進組,一方面可以為本科生提供科研場景,另一方面也可以加強我的科研力量,可以說是多贏的事情。
我給計劃進組的同學三點建議,其一是要有一定的程式設計基礎,比如Java、Python、C++等語言,至少要熟悉其中的一門。
其二是要重視演算法知識的學習,這對於開展科研實踐,尤其是大資料、人工智慧方向的實踐,會有很大幫助。
其三是要選擇一個自己感興趣的方向,要結合自己的發展規劃來制定科研實踐計劃。
回覆列表
分享一下個人的經驗,程式設計最忌諱的就是隻看不動手,遇到好多同學,把知識看得滾瓜爛熟,每次考試都是優秀,然而都沒有真正動過手去實戰功能,那麼最終也只是紙上談兵,還是什麼都不會!個人建議在紮實基礎的時候,多看看大神的程式碼,向大神學習!