回覆列表
  • 1 # 企業數字化

    首先掌握一門語言,知道計算機語言大概是如何編寫的。

    其次,瞭解計算機的基本原理和作業系統原理,這會讓你從底層掌握計算機執行的過程以及所涉及的各類經典問題。如同步,鎖,執行緒,程序,記憶體,檔案IO等。

    同步的,你可以開始資料結構與演算法的學習,作業系統的知識點中會涉及資料結構和演算法的部分內容,但還需系統學習,掌握不同資料結構的特點和應用場景,演算法層面需要熟悉常見演算法的使用場景,對於cs來說更重要的是演算法的複雜度分析,這會讓你充分了解不同演算法的優劣,以及如何設計出更高效的演算法。

    然後,是網路和資料庫,這兩塊也是重頭,裡面的概念有很多,網路中各層協議規範,資料庫的關係代數理論等。

    如果對語言本身深入瞭解,那編譯原理是必須要學的。

    對cs來說,更多是掌握基礎理論,而不是具體實現工具。當然,編碼能力還是需要很強的。

  • 2 # 小吉小笨雞

    首先你要清楚,計算機科學是一個十分龐大,分支眾多的學科,想要學下去一定要有著十分濃烈的興趣,過於目的化的去學習反而效果不佳,計算機科學寬泛的來講由硬體和軟體兩部分構成,學習的路徑通常我比較建議先學習硬體,對硬體有些大致的瞭解之後,再去學習軟體,因為軟體是基於硬體來實現的。

    【學習階段,過程】而對於硬體的學習,起初你可以培養自己的興趣,可以抓自己的電腦“開刀”,去了解自己的電腦的“內臟”“器官”都是什麼,將這些都搞清楚了,基本上是入門了,因為你自己的電腦就是計算機中裝置的通用模板,隨後你去了解手機,路由器等等的會發現和你的電腦結構有些的相似。

    隨後可以去了解一些軟體的知識,這個沒有什麼捷徑,就是不斷的去百度,不斷的去了解一些概念,才能夠在心裡有個大致的雛形,往後有能力的可以嘗試學習C語言程式設計,這對於程式設計是個很好的入門。

    完成以上對於計算機體系的大致瞭解之後,就可以隨之深入學習了,這裡通常要學習作業系統,系統是計算機的腦子,學了這個你就更加的理解,這些稀奇古怪的硬體都是怎麼被連線組合起來的。

    通常大學的CS課程安排規劃是,大學計算機基礎——C語言程式設計——作業系統——數字邏輯電路,類比電路——資料庫設計等等,以上可能不同學校有先後,但大致都是按照一個逐步深入的過程,其中有了基礎知識之後,便是硬體和軟體穿插著深入學習。

    【學習方法】而學習方法,最重要的就是百度,你可以看一些線上入門教程,書籍之類的,但光憑藉那些事不夠的,一定要邊學邊百度,百度自己不理解的地方。如果是大學專業,那就跟隨著培養計劃好好打好基礎,好好學習就是捷徑。有一定的基礎之後就是實踐了,鼓搗自己電腦的階段了,可以是程式設計,也可以去焊板子(微控制器等)。

    之前有很長一段時間你可能學習了之後很懵懂,感覺不知道在學些什麼,但學到了一定的階段之後,你會發現看的通透了起來,所有的內容都好像連線起來了,之前不理解的地方也自然而然的理解了,相信到時候你就會沉醉於計算機的魅力。

    加油,祝你成功!

  • 3 # 碼農甲

    結合我的個人經歷,提一下建議,供參考。

    1. 選擇一門程式語言,迅速上手。

    如果一開始就看一堆理論知識,很快就會感覺到厭煩,影響對CS的學習興趣。學習一門程式語言,邊學習,邊動手實踐,可以實時看到自己的產出,有助於保持學習積極性。

    我是高中才接觸的程式語言,當時是高中的興趣小組,老師教的是Pascal,一種非常古老的語言。也就是從那時起,覺得計算機如此有意思,原來除了Word和PowerPoint以外,還可以寫程式。

    上大學前,知道自己被錄取的是CS方向的專業,就在暑假買了一本C語言的書自學,算是開始系統學習一門程式語言,有了一定的程式設計技術。當時壓根不知道什麼是CS,只以為程式設計就是CS。到了大學,期末第一門考試是計算機導論,這門課一行程式碼都沒寫過,我只得了七十多分,到現在我還沒弄清楚為什麼只得了這麼點兒分。(還好那個學期通過後面的課程把平均成績還是提到了班級第一。)後來大學課程裡還陸續學習了Java、C++、C#語言,不過應用不多,只是在課程Project裡進行簡單使用。

    到了研究生階段主要是使用C++,在工程專案及科研實驗程式碼中都得到了實踐機會,也瞭解到,程式語言除了基礎的語法外,還有各種高階特性需要學習,有各種庫可以使用,工程配置也有很大的學問。

    這裡還是推薦選一門類似於Python這樣的指令碼語言,便於快速上手。

    2. 選擇一個方向,深入研究。

    CS的方面太多太多,計算機圖形、影象處理、自然語言處理、語音識別、大資料等等等等。在對程式設計有了一定的瞭解後,可以選擇一個自己感興趣的方向或者需要用到的方向,去研究這個方向成熟的第三方庫,去研究這個方向背後的數學、物理等知識。

    這時候,可以根據自己選擇的庫的語言,來切換自己的程式語言。學習了一門程式語言後,再切換到另外一門語言就比較容易了。

    研究生階段,我的研究方向是計算機圖形學,選擇這個方向也是自己的興趣在於此,成果可以透過圖形影象進行直觀展示。研究計算機圖形學,就需要學習OpenGL、OpenCV、CUDA等等庫或者框架,還需要學習三維空間變換等資料知識,學習流體力學等物理知識。

    方向選擇首要還是按需,有工作推著走,前進得總是會快一些。如果沒有工作壓力,可以按照自己的興趣進行選擇,實現什麼功能能滿足自身的成就感,也是學習前進的有效動力。

    3. 查漏補缺,不斷學習

    CS涉及的內容太多,學習一些基礎知識,有助於我們對上層應用有進一步的深入理解和認知。

    查漏補缺的過程,可以去了解一些基礎CS知識。可以參考考研科目學科專業基礎綜合所包含的四個課程:資料結構、作業系統、計算機組成原理、計算機網路。

    演算法,是技術類崗位必考的內容,只能看書、刷題慢慢積累了。

    CS技術更新迭代快,要保持不斷學習,避免被時代淘汰。

    我最近在做

    Code.org

    的少兒程式設計教育影片(

    https://www.ixigua.com/pseries/6803971330308833806_6793624102478283276

    ),在錄製課程的影片中,自己也對什麼是演算法、什麼是程式等知識有了一個重新梳理的過程。我覺得瀏覽一下

    Code.org

    還是有很大幫助的,可以瞭解一下國外的教育是如何進行計算機科學啟蒙的。

    以上就是我的建議,供參考。

  • 4 # 阿澤談說

    計算機科學與技術專業都有什麼課程?

    專業主幹課:(1)、高等數學(2)、線性代數(3)、機率統計(4)、計算機基礎(5)、電路與電子技術(6)、離散數學(7)、數字邏輯(8)、高階語言程式設計(C語言)(9)、組合語言程式設計(10)、資料結構(11)、計算機組成原理 e5a48de588b67a686964616f31333365636562 (12)、作業系統(13)、資料庫原理(14)、計算機通訊與網路

    其他相關課程:

    微型機系統與介面技術、ARM嵌入式系統開發、嵌入式作業系統(Linux系統,Windows CE等等)、自動控制原理、演算法設計與分析

    Oracle資料庫、SQL資料庫、資訊儲存及檢索、演算法設計與分析;

    網路作業系統、網路遊戲程式設計、JSP、網路佈線與實踐、面向物件程式設計(如:Java、VC++等)、演算法設計與分析

    網站建設與維護、網頁設計教程、Photoshop教程、flash教程、FrontPage教程、面向物件程式設計(如:Java、VC++等);

    軟體測試理論、軟體質量、軟體測試方法、軟體測試工具、Linux作業系統、SQL Server、軟體工程、演算法設計與分析等等;

    資料探勘概念與技術、資訊儲存及檢索、管理資訊系統、模糊數學、粗糙集理論、演算法設計與分析;

    當然,這些副課不可能全上,往往根據相關專業細分再確定

  • 中秋節和大豐收的關聯?
  • 如何評價狐妖小紅娘白月初這個角色?