菜鳥想學計算機要從哪方面開始入手?
上班族,想學計算機,之前沒有什麼基礎,中專畢業,專業學的是數控編程。想問問作為一個徹頭徹尾的菜鳥想學計算機要從哪方面開始入手?學計算機序言英文和數學基礎嗎?
謝邀。
有兩個問題,
一,計算機有很多方面,我不知道你具體指哪個方面,編程?
二,你想學到什麼深度?僅僅是開拓知識領域?還是找個簡單的計算機工作?還是找個專業的計算機研發崗位?
你問題描述的不清晰,我只能按照我的理解來回答了。然後你是在知乎上提問的,那我就按照知乎的方式認真回答這個問題吧。
首先說英文不好只會影響你學習的上限,達不到閱讀外國書刊的水平就很難研究深層次的領域,但是本科計算機科班的英文水平只需要四級半。數學水平的要求也是看層次,當你研究到了數據領域,那麼統計學在內的數學工具將是中堅力量,反過來說,計算機領域的初級層面,數學要求較低,甚至說低於對英語的要求。
如果只是想學計算機開拓知識領域,那麼這個可以去看網課,他們課程都規劃好了,缺什麼補什麼,看看就行了,沒啥好說的。
如果是找工作用,具體來講就是兩個路線吧
A,計算機服務崗
B,計算機研發崗
A路線基本上是非計算機科班進入計算機領域的典型路線。
1,認真通讀《大學計算機》教材,不用去碰數據結構什麼的,就這一本教材夠了,只是在宏觀層面上做個了解。數制碼制換算啊,計算機網路的層次啊,這些基本的上面都有,要了解。
2,熟練使用windows操作系統,比如讓你進安全模式,設置DNS/IP這些都要了如指掌,網上操作系統學習視頻多的是。這個對於非研發崗的計算機崗位來說很重要,因為你不會研發,使用你總得熟練吧。
3,熟練使用辦公軟體,這個不用說。
4,認識一門編程語言C/Java,認識即可,放心,非研發崗基本用不到你編程,但是你要知道怎麼回事,因為萬一和涉及軟體的同事打交道,啥都不懂很難溝通。
上面這幾條你能做得好,結合你的專業知識,你能做一個坐在電腦前喝茶的小白領。
B路線,研發崗,倘若你覬覦互聯網公司或者傳統軟體公司的高薪軟體工程師的崗位,那麼這條模擬科班的路線要走好。(不要想著去培訓班,出來沒人要)
1,通讀《大學計算機》教材,簡單了解即可,不然《操作系統》《組成原理》之類的分分鐘將你打蒙。
2,從一開始就要接觸一門計算機編程語言,C就可以了,這個只是學習的工具,數據結構要用到,真正研發除了硬體很難用到純C,後面講。
3,接受科班課程的洗禮,科班的基礎課程如下《面向對象程序設計》《計算機組成原理》《數據結構(c描述)》《操作系統》《計算機網路》(後四個是號稱考研工科最難科目408專業技術綜合)
4,到第3步時要接觸一門面向對象的語言,這是以後用來吃飯的,不推薦C++(因為你很有可能因此走向放棄),還是Java吧(沒有說Java簡單的意思,Java可是博大精深,互聯網時代第一語言,只是Java的火坑比較少,相比C++而言),非科班的話也別劍走偏鋒,什麼Python,Ruby就算了吧,你要是想學個Perl陶冶情操也沒人攔你,但是崗位少的可憐。如果準備進互聯網企業可以學一下JS,但是我覺得精力肯定不夠用。
5,上面的你如果學個差不多那就已經和計算機科班的大三學生差不多水平了,下面就要確定學習的方向了,比如
Java+OS+計算機網路→Android方向
C→obj-c+OS+計算機網路→iOS開發
Java→JavaEE方向
OS+計算機網路+C/Python→運維方向
JavaScript+HTML/CSS+計算機網路→前端開發
數據結構與演算法+C/C++→初級演算法工程師
...
很多方向不一一列舉,但是任何一個做的出色,月薪15K很輕鬆,但是,科班的80%也達不到這個水平。
6,假設你學習能力超強,上面已經做得很好了,甚至Python已經掌握,那麼還有各種碩士領域的課程和研究方向等著你。
《高級演算法分析》《編譯工程》《高級軟體工程》《計算機體系結構》《軟體測試分析》《安全工程》以及各種碩士研究方向,
圖像處理
計算機圖形學
體系結構
數據挖掘與倉庫
數據分析
並行計算
機器學習
深度學習
模式識別
自然語言處理
信息安全
軟體測試方向
軟體工程
分散式計算
...
如果是純編程領域,深入研究一種或多種編程語言,會有諸如Scala工程師,高級C++工程師,對於語言運用爐火純青。
以上類,學好一個,月薪25K輕輕鬆鬆。
是不是覺得研發崗的要求比較高。。。沒辦法,這年頭都想往計算機行業擠,但是計算機專業水很深,你趟不過去,就想和月薪幾十K的程序員平起平坐,確實難,你不信可以從BAT開發部門隨便拉出來一個,他們要不就是計算機基礎知識特別紮實的那種技術人員,就是對計算機編程語言充分掌握的大牛。非科班的話,你若有頑強的意志,也可以做到和他們一樣。
多說幾句,不要以為計算機研發崗懂得編程就行了,容易走火入魔,這都什麼年代了,大部分人還是認為,搞計算機的都是搞研發的,懂編程會敲代碼的就是好程序員,見過好多別的專業的學生整天抱著一本Java書看啊看,問問他文件系統是什麼,線程進程的區別,鏈表如何實現啥的也不懂,喜歡用各種IDE編程,只會Run,讓他單步調試不知道點哪裡...,你覺得哪個公司敢要你?
以上就是學習計算機專業知識由淺入深各層次的學習建議。可能對你並沒啥幫助,或許有些人看了之後會有幫助,那我也欣慰了。
-------2017.4.15當日更新-------
有朋友問到找工作的問題,基本上而言校招和社招的差別還是蠻大的,面臨校招的在校生請不要跑偏了方向,無論你是不是科班出身,打算在計算機或軟體行業發展下去,把計算機的專業基礎課學紮實是非常重要的,另外將一門面向對象語言的『基礎』牢牢掌握也是很關鍵的,真沒必要去研究什麼Python爬蟲啊什麼的,或者決心深入研究Java三大框架...真的沒必要,面試你的那些人也夠嗆能掌握這些技術,學有餘力的話可以做做小項目,校招最主要的還是看你的學習能力潛力,技術發展業務上的提升要在實習之後才能算逐漸開始。
系統的學習?如果是的話,那麼先把英語撿回來,然後花一個月的時間自學高中數學,然後學習高等數學和離散數學(可以一起學,兩門課相關性不是特別大),然後是計算機科學導論,然後是數據結構,C語言,其他的編程語言選一種(c++,java),計算機網路和linux如果還有精力的話可以學習下,這些當中英語和數據結構特別重要,怎麼強調都不為過,學完數據結構可以學下演算法(高等數學基礎要過關)。學完這些基本就入門了,在深入的話就是編譯原理,人工智慧什麼的,看自己個人興趣啦。在說一遍數據結構和英語很重要!對學計算機的人來說真的很重要!!
你這個問題就好像再問大家我要用鎚子 誰能教我
從修電腦開始
推薦閱讀:
※足球經理《Football Manager》的比賽模擬原理是什麼?
※如何玩轉github?
※GitHub 上有些什麼好玩的項目?
※C語言中既然" "與空格『 』是不一樣的,那為什麼在字元串問題中,scanf中還不能讀入空格?
※這段python多進程百思不得其解,求大神指點問題何在?