學程式設計和學計算機有什麼不同
這是一個非常好的問題,也是很多同學的困惑之一,我從專業學習、科研和就業這三個方面說說我的看法。
首先,計算機大類專業目前確實更注重大資料和人工智慧相關知識,而機器學習則是一個比較重要的切入點,所以很多同學都會在本科階段重視機器學習、深度學習相關知識的學習。
一方面機器學習是大資料分析的兩種基本方式之一,另一方面機器學習也是人工智慧的六大研究方向之一,而且被稱為是初學者開啟人工智慧大門的鑰匙,因此在當前大資料、人工智慧的時代背景下,學習機器學習可以認為是順應技術發展趨勢的選擇。
其次,學習機器學習與學習軟體開發並不衝突,因為學習機器學習也需要具有一定的程式設計基礎,而且很多機器學習的實踐活動,包括科研實踐和專案實踐活動,都是需要與行業場景相結合的,這就需要一個完整的解決方案,所以在學習機器學習的過程中,同樣能夠提升自己的程式設計能力,未來也可以走軟體開發路線。
實際上,計算機專業有很多研究生同學在讀研期間就是主攻機器學習、深度學習方向的,但是這其中更多的同學還是會拿開發崗的offer。
雖然近兩年隨著演算法崗開始逐漸向業務演算法崗傾斜,拿到演算法崗offer的同學有所增加,但是畢竟演算法崗的整體競爭比較激烈,很多同學為了進大廠也會放棄一些中小廠的演算法崗。
總體上來說,計算機大類專業的同學,不論是本科生還是研究生,我個人的建議是要立足開發來尋求發展,也就是說要重視程式設計能力的提升,如果一味專注於機器學習和演算法而忽略了程式設計能力的提升,未來在發展空間上會受到一定的限制。
對於程式設計感興趣的同學來說,同樣不能忽略機器學習和演算法知識的學習,雖然現在的程式設計已經不能僅僅說是演算法問題了,但是在大資料、人工智慧的時代背景下,給自己奠定一個紮實的演算法基礎還是有必要的,而且當前不少大廠的開發崗面試也會考察演算法知識。
最後,如果有計算機專業的學習和科研等問題,歡迎跟我交流。