想自學硬體的軟體工程專業學生

來源:互聯網
上載者:User

標籤:

【來信】
  不知道老師是否還記得我,剛上大二那時,我因為感到前途迷茫而給您寫過兩封信。經過大二一年的學習,我找到了方向和自信。由當初的迷茫變成了當前的少許疑惑,因此再次寫下了這封信。
  我是某大學軟體外包專業的學生,今年開學上大三了。剛上大二時,我並不瞭解本專業的培養計劃,現在我已經完全知曉我們大學四年來安排下的所有課程以及教學方案。大概的說,我們專業偏重於開設開發類課程,從大一大二的sql,javaSE基礎,以及Android 開發,再到HTML+CSS+JS&Dom+JQuery 前端開發,還有大三即將要學的javaEE 包括 servlet jsp 和ssh架構。總體來說,是一個側重於java方向的培養方案。(當然還有軟體工程)而專業基礎課開設的極少,相對於一本專業,我們取消了數電,電腦群組成,體繫結構等一系列硬體課程。基礎課只開設: 資料結構 作業系統 電腦網路 離散數學。確切一點就只有這四門。其實就算是這幾門課,我也覺得只學到了些皮毛。令我最不滿的是,學校取消了包括作業系統實驗課在內的很多實驗課程。這種純理論應試化的學習,我仍然認為很沒有意義可言,大多學生唯一的學習來源就是考前的那一張考綱和重點。
  剛上大二時,我確信自己找到了一些方向。不僅專業課學的很認真,其他基礎類課程也要求上進。相比於我的其他同學,我在學習理工科方面的邏輯思維漸漸展現出了優勢,對於大多數同學都很頭疼的工程數學如線代、機率論之類的課程,我甚至具備了考到滿分的能力。我逐步發現自己是一個邏輯思維和數學思維都比較強的學生,對我來說學習某樣東西很少存在學不會的問題,阻礙大多來自堅持與否,以及教學資源是否限制。
  和許多同學一樣,我也十分注重專業的開發類課程。老師說過的學習到實踐,然後再學習再實踐的過程我一直牢記在心。大二這一年總體來說,我付出的學習時間並不少。編程能力有了不小的提高,並且打下了比較牢固的java基礎,(具體是從物件導向 IO 多線程 Swing 一直到 網路、反射機制等)再學習完HTML等前端知識之後,這個假期我也開始提前學習javaEE的相關技術並且每天保證3個小時的代碼量,為日後的學習做準備。雖然只接觸了為數不多的項目,但我知道開發經驗並不是一蹴而就的,我對學技術始終保持著很耐心的態度。於是成為一個軟體架構師就成了我這一生最大的目標,儘管這個目標對我目前來說是一件遙不可及的事情,但我發誓我會用終身學習和長時間的努力來爭取這一切。(最好是向我的班主任那樣,先專攻Web方向,到後面再轉到大資料方向上來)
  那天我在聽麻省理工大學的網上電腦公開課時,我發現對許多電腦硬體底層的原理都不清楚,甚至可以說是聞所未聞。經過網上查詢,我漸漸瞭解到,原來想要在軟體方向上走的更遠,硬體知識是必備的。於是我想到了一條新的學習路線,想要從基礎學起,重新系統化的學習硬體知識,與我正在學習的課程同時進行。而由於學校開設的課程限制,我並沒有機會走進學校的硬體實驗室,而我認為學習硬體原理,仍然要以實踐為基礎,這無疑給我在學習過程中造成了障礙。我想問一下老師:
  我聽說,一個優秀的軟體高手一定需要掌握底層的知識,從而更加清楚地瞭解作業系統,這樣才能做好軟體工作。這樣的說法是否有道理?一個優秀的軟體工程師所掌握的知識到底要對底層或者說其他基礎知識有怎樣深度的瞭解?如果我現在學習硬體或底層知識,老師想推薦哪幾門課程?或者是一個正確的先後順序?最重要的是學習這些課程,總體需要用怎樣的方法去學習?
  我認為我的能力完全可以駕馭更多的課程知識,其實這一年來我最大的變化主要是以理想信念為主的學習動力轉變為了以興趣為主的學習動力。下半年我打算火力全開,重點加強專業和英語的學習力度。等到過了年底,再將我的主戰場轉到考研任務上來。很希望老師對我的現狀再理順一下學習方向,對此我感激不盡,謝謝!

【回信】
  很欣慰你的進步!大學階段的自主把握很關鍵,大學就是給願改變,能自主的人準備的。
  對於你們專業取消硬體基礎類的課程,我知道學校背後的隱情,不多說接受吧。而作為你,還想再多瞭解一些,仍然還是可以藉助於自主安排,其實,這更是學習中的常態,是個人化的體現。
  近幾年來,有一種觀點是,電腦類專業的學生,應該能夠從整個系統的角度看待電腦,而不是將其割裂開來看待,清晰地分開來學習。所以,既然你有心,適當雲探一探,好事一件。
  具體的學習資源,可以到網易雲課堂的“電腦專業課程體系”中看一看,那兒有一門電腦群組成原理課可以參考。另外,要看書,可以選經典的《深入理解電腦系統》。你的目標是軟體架構師,從軟體開發人員的角度理解系統,不見得一定要從很底層的電路實驗做起,我們的學習也要講究成本,相關的實驗,可以採用軟體形態的方式進行,在程式設計中,能夠體現針對硬體特點做同的安排,使電腦能夠“很舒服”地執行,或者在有些地方,想當然對的,或者有潛在危險的,由於對底層原理的熟悉,一眼就能看出,或對你不成問題。完全可以用程式設計的實驗,體現對底層原理的“做中學”。
  我沒有在電腦系統方面做過工作,這點意見僅供參考。你可以再通過其他途徑,瞭解一些硬體類知識的自學途徑。
  相信你可以做得更好!

想自學硬體的軟體工程專業學生

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.