這是電腦科學

2021-06-05 23:05:20 字數 2389 閱讀 7179

演算法對於計算機的發明和發展,真的是...太重要了。我們永遠都不會忘記,是數學家們的不斷努力,才將計算機的構想變為現實。而計算機也是通過數學(邏輯)運算,幫助人們解決現實問題的。所以能把演算法搞到noi和icpc金銀牌的程度,了不起哉~前途光明哉~

但是,也應該看到,電腦科學並不是僅僅有演算法,非演算法的計算機知識也不能簡單被歸為技術。在我不是很清楚「電腦科學」這個詞究竟包含什麼的時候,我就問了一下wikipedia,而且得到了滿意的回答。下面允許我來說明一下,「電腦科學」都研究什麼,也為各位即將到大學進修的同學們(不謙虛的)開一堂導論課。

電腦科學,就是研究計算機的科學。也就是說,計算機可以利用現有科學和技術方法,例如數學、邏輯、物理、化學、電子工程、哲學等,來進行研究。

這其中,最根本的是對計算機理論的研究。主要包含以下幾個方面:

當然,還有計算理論(computation theroy),這裡面就涉及到兩個大家耳熟能詳的課題:複雜度理論可運算能力理論。前者探求計算機解決問題的最高效率(也就是用所學的演算法,從最小運算時間和最小資源占用的角度,來優化解題步驟....),後者探求計算機解決問題的最大能力(有些事情是計算機無法做到的,比如...停機問題,唉!)。

下一格激動人心的模組到來了:演算法!當然,還有資料結構,一般這兩個是難捨難分的。

我知道各位oier和acmer的演算法都搞得很棒。我甚至擔心中國電腦科學人才中演算法人才過飽和了。當然,至於.net,photoshop高階工程師之類的...嗯...也不算在電腦科學的範疇了...

其實,演算法後面的東西同樣精彩。

程式本身也是乙個有**價值的話題。比如某v就試著寫了乙個乙個中文語言的直譯器,蠻不錯~

目前我在用的主要是組合語言...但肯定不能永遠在用。致力於優化高階語言效能,同時減少開發者寫**的長度,是計算機程式語言研究的準則。

然後,到了比較物理的學科——計算機結構。由於現在計算機都是基於電元件的,所以這一部分常常與電子工程聯絡密切,(好像很工科)。其實不然,這裡也熱情歡迎著各位數學好手。

其實,多道處理就衍生出了今天的分布式和「雲計算」。但在此處,我們只關注這些概念的物理層。

下面這個恐怕是新興起來的——數的計算與符號的處理。資料的計算相信大家都能理解。其實,數字僅僅是人類偉大的符號系統中的一部分。為求人與人之間的有效交流和理解,人類自然而然地發明了符號系統。這也是為什麼tag(標籤)在網路中興盛的原因:tag作為一種被人們快速、廣泛接受的符號,可以幫助人們很快找到所需要的檔案,而不用具體檢視檔案的內容。相對於其他方式,tag的優勢在於,可以為檔案不斷地新增tag,使得tags對檔案的描述越來越具體。但是,無論如何,再多的tags也無法完全的描述檔案內容。同樣,我們不能指望人類偉大的符號系統能夠描述自然界億萬事物,這個問題導致我們在人工智慧領域走了很長的彎路。誠然,「道可道,非常道」,這恐怕就是人類乃至生命的侷限吧。但是,在侷限之內,我們一直在努力嘗試優化,而這種優化,將直接為人工智慧帶來推動性的理論依據。這也是為什麼,對「機器對符號的處理」的研究越來越興盛的原因。

再下來,可以說是最後乙個話題,就是 計算機的實際應用了。但它仍然是一門重要的科學,同樣歡迎各位數學好手。

以上都是計算機的科學部分,而並非屬於「工」科的範疇。

計算機不僅僅只有演算法,但其中的每乙個學科,都離不開演算法。僅此希望各位noi和icpc優勝者在大學時代能夠有所成就。

電腦科學

電腦科學就是研究計算 如何表示和處理資訊。解決問題 你將學會各種演算法策略,比如分而治之法 遞迴 探索法 貪婪搜尋和隨機演算法,它們可以幫你分解和解決任何一種問題。邏輯 你開始使用更準確和正式的方式進行思考,比如抽象 布林邏輯 數字理論和集合理論,你因此能夠以一種嚴謹的方式來解決問題。資料 你接觸到...

計算機與電腦科學初識

1.為何要學習計算機與計算科學?這是乙個智慧型化與資料化的時代,計算解決自然社會問題,已經成為這個資料時代的基本需求了。而計算機自動化高效處理大量問題這種機器計算也已成為一種常態,為實現機器更好的自動計算,計算科學這門藝術便誕生了。計算科學從一種思維高度來決定我們對於計算的認知,讓我們更好把握計算的...

電腦科學 web

第七章 在網頁中建立表單 第二節 兩列表和html新增元素,屬性2.formaction屬性 所有提交按鈕都可以使用此屬性,包括submit,imafe影象按鈕 button 按鈕 3.autofocus屬性 乙個頁面中最多有乙個表單元素設定autofocus屬性,否則將失效,建議對第乙個input...