-
1 # GeCoder
-
2 # 升本教育
1.英語
英語是萬金油,學習計算機的你,無論以後打算考研還是工作,英語的好處不言而喻。
從而更加清晰行業發展的動態是什麼,透過進一步觀察和思考,提前規劃好未來的發展方向。
其次,如果你想要考研的話,英語也是必須要攻克的難題。
與其等到考研的時候再一邊慌忙補英語短板,一邊學習專業課,不如早一些開始,為以後的學習做一些必要的鋪墊,提早養成學習英語的好習慣。
2.數學過硬的數學功底使得你能看到一些新技術的出現而不茫然,看到的舊的技術能快速的跟進上手。
這就是所謂“知識”和“技能”的關係,將工具運用到純熟的地步,你會發現別人遇到的很多問題在你這裡都不是問題了,看起論文來也得心應手啦,這就是潛移默化和下意識的作用。
3.計算機組成原理不管是寫程式做軟體還是搞科研發論文,不對底層有一個清晰的認識,你的整個前進道路都是模糊不清的。
而只對體系結構的瞭解是遠遠不夠的,深挖才是歸途,如果不做底層的分析,就無法精準的定位問題,也就自然寫不出切合真實計算邏輯的簡單而又高效的優秀程式碼。
4.計算機作業系統無論你學習什麼程式語言,和都避免不了和作業系統打交道,比如你學習 Java,用到多執行緒技術,實際上作業系統才是負責管理程序和執行緒的;比如你學習到記憶體分配的知識,c++ 裡可以直接分配一段記憶體,此時實際上是呼叫作業系統提供的 API 進行記憶體分配。
如果不懂作業系統,你在未來學習程式語言的高階特效,涉及到執行緒程序排程,記憶體分配,或者是學習 Linux 相關的知識時,都會一頭霧水,所以,只有學會了作業系統,我麼才能夠更好地學習其他語言和技術。
基於此,計算機作業系統的知識點 頻繁出現在筆試環節。
5.資料結構與演算法相信無論是已經畢業的同學還是正在學校學習的同學,都或多或少地被資料結構與演算法這門課給折磨過。資料結構與演算法這門課開篇就講了一個非常重要的概念:程式 = 資料結構 + 演算法,對於初學者可能還不能完全地理解這句話,不過對於已經工作兩三年的同學相信對這句話是深信不疑的。
對於資料結構與演算法的學習,我個人認為應該分層三個步驟:首先先大致瞭解什麼是演算法,可以透過一些科普讀物來入門,這個過程我稱之為入門階段;接著可以嘗試實現一些比較容易的資料結構和演算法,這樣可以更加深對資料結構和演算法的瞭解,這個過程我稱之為實踐階段;最後去了解資料結構與演算法背後的相關數學原理等,這個過程我稱之為原理階段。
不管你認為資料結構與演算法重要與否,你都必須有所瞭解,因為在面試環節肯定會問的!
-
3 # 張之一
英語、數學的重要性不用多說了吧?下面著重說一下彙編、C語言和軟體工程。
組合語言
組合語言最接近機器語言,代替後者直接描述計算機可程式設計部件(暫存器和儲存單元)的功能。只有學習組合語言才能瞭解計算機的功能和行為方式。學習彙編的主要目的是從程式設計師到角度深入瞭解計算機原理。
C語言
C語言是生命週期最長,久踞程式語言排行榜前列甚至榜首。關鍵字少,原始碼簡潔緊湊,易於掌握,實用性強,非常適合初學程式設計入門。能C語言解決實際問題之後,掌握其他程式設計工具就容易很多了。
軟體工程
軟體工程可簡單理解為就“程式設計方法”,涉及“需求分析”、“總體設計”、“詳細設計”、“任務分配”、“質量和進度控制”等。是程式設計工作的專案管理。
-
4 # 一水無塵
1、C語言
一般剛上大一那年就會開設這門課程,因為它是面向過程的,能讓人對程式設計有非常直觀的瞭解,學完C的相關基礎知識,再學習其他語言的基礎知識就非常簡單了。
2、英語
大家都知道,程式設計用的都是英語,所以學好英語還是挺重要的,主要是寫程式碼時心裡對英語不排斥,且出現bug時能快速知道報的是什麼錯誤,再者就是很多技術的官方文件都是用英文寫的,所以學好英語準沒錯。
3、資料庫設計
不管你搞什麼開發,學什麼語言,都會涉及到資料的儲存和讀取,所以學好資料庫相關的也挺重要。
4、計算機網路
很多大型專案都是各個公司之間相互協作開發運轉的,這其中最重要的就是通訊了,像http ,https這種常用的,它的通訊原理是怎樣的,都非常有必要了解和掌握。
5、資料結構與演算法
資料結構與演算法可以說是面試中的必考題了,很多公司招聘時都會要求手寫演算法什麼的,也是衡量一個程式設計師水平怎樣的標準之下。
-
5 # 心有琳熙844
公共課就不說了。首先專業課要學好《資料結構》,這是考研必備的。所有計算機類的考試,這個都是要考的。其次還要學好《資料庫原理》,看薩師瑄的版本。《作業系統》也是考試經常要考的。《計算機網路》也要學好,入職大公司必備。《計算機組成原理》也要學,要學好裡面的理論,不要以為會組裝電腦就認為這門課很簡單,完全不是的。另外,想考研也得學學《編譯原理》,個人覺得這是計算機專業課裡最難的一門課,不好好學,很多人都聽不懂。最後,《軟體工程》是你萬萬不可以忽略的,進軟體公司的敲門磚。
-
6 # 文如其人說
我是一名從教18年的大學計算機老師,我也來回答這個問題供參考。我的答案是有6門,而不止5門。
先說說計算機專業的內涵是什麼?其實計算機是一大類專業的統稱,包含有很多專業(或方向):計算機科學與技術、軟體工程、物聯網技術、資料科學與大資料技術、人工智慧、網路空間安全等。大方向可分為:硬體方向、軟體方向。
很多朋友都說到了《英語》《數學》這兩門,我贊同,因為《英語》是所有專業都要學習的,對於計算機專業來說更是重要,因為計算機學科起源於國外,很多新技術、新理論的提出都是以英文發表,而且程式語言就是以英文為根基的。計算機專業要學的《數學》其實涵蓋了高等數學、線性代數、離散數學、機率統計等,這些知識在演算法、資料科學、人工智慧、資訊保安等領域都是強基礎的內容。
接下來我想談的是除了英語、數學之外,計算機專業的學生最應該學習的課程是哪6門?Top.1 《計算機組成原理》
該課程學習的是計算機的各硬體子系統(包括運算器、儲存器、控制器、外部裝置和輸入輸出子系統等)的基本組成原理、設計方法、相互關係以及各子系統互相連線構成整機系統的技術。透過該課程的學習,瞭解掌握計算機的基本組成原理和內部工作機制。對於偏硬體方向的學生,這門課更要重點學習,這是基礎中的基礎,將來你做嵌入式板開發、物聯網感測器設計,都會大量用到這些知識。
Top.2 《作業系統原理》
對於計算機而言,作業系統是其最基本也是最為重要的基礎性系統軟體,該課程學習的是計算機的底層軟體實現執行原理,包括:程序管理、儲存管理、裝置管理、檔案管理、作業管理。其中一些概念對後續的課程有很大的幫助,比如:堆疊、輪詢、互斥、併發、同步、程序、執行緒、分散式等。對於軟體、硬體方向的學生,這門課都要重點學習,思想、思維對後續的課程啟發很大。
Top.3 《資料通訊與網路》
計算機系統的3個底層核心是:硬體組成+作業系統+網路通訊,資料通訊與網路是負責計算機世界互聯互通的關鍵技術。這門課對於軟硬體方向的學生都很重要,軟體方向的學生,在程式設計過程可能比較少用到,但在除錯階段的各類網路協議的資料抓包問題上就有所用;硬體方向的學生,特別是做物聯網、嵌入式、網路安全領域,尤為重要。
Top.4 《程式設計基礎》
既然是計算機專業學生,不論是硬體方向、軟體方向,或多或少都會牽涉到程式設計,所以這門課是計算機專業所有方向的學生都應該學且學好的課程。早期,高校一般都是學習C語言,後來慢慢的改為C++或Java,主要是學習程式設計思維及面向物件,為後續的其他程式設計課程奠定基礎。偏硬體的學生,一定要學好C語言或C++,因為嵌入式、物聯網中會用到C進行底層硬體驅動、通訊開發;偏軟體的學生,後續還要學好Java、Python、Javascript、PHP等應用開發型語言。
Top.5 《資料結構與演算法》
想要從事程式設計師(寫程式碼、編軟體)的學生,這是一門必學課程,這是軟體方向的基礎也是硬核,學習的是資料表示、交換、處理。從我的從業經歷來看,雖然在大部分應用型軟體開發中,比較少用到這些知識,偶爾會用到排序等應用場景,但在大型軟體的效能最佳化、資源競爭、複雜問題的演算法實現、人工智慧等場景,就體現你的水平了,所以,學習資料結構與演算法會讓您成為一名更出色(薪資高)的程式設計師。
Top.6 資料庫原理與應用
資料是新的石油,該門課學習的是資料如何在計算機中持久儲存的問題。對於軟體開發方向的學生來說,這是一門必學課程,核心是SQL語言原理及資料庫工具的使用,除此之外,學習資料庫的安全性與完整性控制、事務管理與併發控制、備份和恢復、讀寫分離、分庫分表等高階應用,對於開發大型高效能、安全的軟體專案有很大幫助。有了這個基礎,為將來繼續學習資料科學與大資料技術方向奠定堅實的基礎。
【總結】
以上這6門課程,相當於計算機類專業的6本武功秘籍,修煉的都是內功,也就是所謂的專業基礎核心課程。修好這些內功,在你的細分專業方向領域,再學習的課程屬於具體的某門功夫了,有了好的內功,學好具體功夫就相對容易了。
-
7 # 閒仙浪語
我覺得第一要學計算機組成原理、數制轉換、CPU和指令集;第二要學組合語言,第三要學C語言,第四要學演算法歸納、提煉、設計的理論,第五要學好外圍的數學和AI課程,如數論、線性代數、集合論等。當然人的精力智力總歸有限,也不必太為難自己,樣樣都要知其然和所以然。
-
8 # 草獅子
計算機專業太寬泛了。
計算機實際上已經成為現代社會、科技的工具,從事不同的工作,不同的專業範圍,學習就會有不同的重點。
題主問題沒有區分公共課程和專業課程,姑且理解為專業課程。
所謂應該學習的5門課程,因為必要的專業課學習後要能夠基本形成今後所從事專業工作的知識結構的基礎,5門課程遠遠不夠。
英語是基礎課程,可以不在此列出,對計算機專業的重要性不必再重複。
本人1982年畢業的計算機應用專業,說說相關學習內容的看法。
1、計算機硬體架構體系相關的專業
(這是計算機基礎研究領域相關專業,國內就業機會少之又少)
(1)計算機組織結構和原理
(2)機器指令和組合語言
(3)作業系統原理
(4)數字和邏輯電路
(5)計算機外部介面
2、機電一體化與自動化控制
(工業自動化多采用PLC,物聯網相關的前端資料採集和處理多用各種嵌入式系統)
(1)根據控制模組分類
PLC、微控制器/單板機、ARM等選學相關的計算機語言。
(2)工程數學和演算法
(3)各種工業控制匯流排技術
(4)計算機網路
(5)介面和協議(含tcp/ip)
3、軟體方向
(1)計算機語言,結合實際發展方向,選java、C、人工智慧相關語言、手機端相關開發語言等。
(2)軟體/系統相關架構體系
(3)資料庫(結構化、非結構化、實時)
(4)運籌學相關的計算方法
(5)計算機網路
-
9 # IT麥旋風
計算機專業學生必讀的幾本經典書籍,提前都看一下,將來也是要鑽研的。
PART 1
《JAVA》
《資料結構與演算法》
《編譯原理》
《C++ Primer》
《程式設計師的自我修養》
PART 2
《莫生氣》
《佛經》
《老子》
《思想政治》
《論持久戰》
PART 3
《頸椎病康復指南》
《腰間盤突出日常護理》
《心臟病的預防與防治》
《高血壓降壓寶典》
《強迫症的自我恢復》
PART 4
《迷戀》
《自私與貪婪》
《走向奴役的路》
PART 5
《活著》
回覆列表
作為計算機專業的學生,個人認為應該至少掌握計算機原理,數學及英語。
首先,既然是學計算機專業的,計算機的原理都搞不明白那就等於白學了,這個是基礎,是必須要掌握的,不為別的,就為避免知道你是學計算機的朋友問你一句計算機是怎麼工作的你回答不上來的那種尷尬也要學好最基礎的東西。
其次是數學,不管你是走硬體方向還是軟體方向,數學都還是基礎,特別是軟體方向,越往上走,需要用到數學/高數的地方就越多。
再就是英語,為什麼英語重要?你去看看那種開發文件,操作手冊就知道了,特別是軟體開發,目前大部分是英文的,不會英文不行啊。
最後看你將來畢業打算走什麼方向,硬體方面要學習硬體方面的課程,軟體方向也有不同的開發語音,程式設計思想等等著你去學習。好好學習,天天向上!