컴퓨터 科學

위키百科, 우리 모두의 百科事典.

컴퓨터 科學 ( 英語 : computer science , 컴퓨터 사이언스) 또는 電算學 (電算學)은 計算 (computation), 情報 (information) 그리고 自動化 (automation)에 對한 學問이다.

컴퓨터 科學은 알고리즘, 計算 및 情報에 對한 理論的 硏究에서부터 하드웨어와 소프트웨어의 計算 시스템 具現에 對한 實質的인 問題에 이르기까지 다양한 主題에 걸쳐 있다.

電算 理論 및 시스템 設計를 다루는 專門家를 컴퓨터 科學者 또는 電算學者 라 부른다.

外國에서는 컴퓨터 工學 ( 英語 : computer engineering )을 컴퓨터科學 ( 英語 : computer science , 컴퓨터 사이언스) 分野 中에서 하드웨어를 다루는 細部 領域의 名稱으로 使用하는데 大韓民國에서는 컴퓨터科學 과 같은 뜻으로 자리 잡았다. Stanford의 境遇 Computer Science專攻에서 Computer Engineering트랙을 提供한다. [1]

Computer Science and Engineering (CSE)이라는 이름으로 敎育 프로그램을 運營하는 大學도 存在한다.

컴퓨터 科學의 分野는 ( 알고리즘 , 計算 理論 , 情報 理論 같은 )理論的인 分野와 (하드웨어와 소프트웨어 設計 및 具現을 包含한 )實用的인 分野로 나눌 수 있다. 例를 들어, 컴퓨터 그래픽스 計算 幾何學 은 보다 具體的인 應用을 强調하는 反面, 計算 理論 은 抽象的인 計算 모델과 그것들을 使用하여 解決할 수 있는 一般的인 種類의 問題에 關한 것이다. 알고리즘 데이터 構造 는 컴퓨터 科學의 心臟이라고 불려왔다. 프로그래밍 言語論 은 計算 프로세스의 說明에 對한 接近 方式을 考慮하는 反面, 컴퓨터 프로그래밍은 複雜한 시스템을 만들기 위해 그것들을 使用하는 것을 包含한다. 컴퓨터 構造 는 컴퓨터 構成要素와 컴퓨터 作動原理를 說明한다. 人工知能 은 人間과 動物에게서 發見되는 問題 解決, 意思決定, 環境 適應, 計劃, 學習과 같은 目標 志向的인 過程을 綜合하는 것을 目標로 한다. 디지털 컴퓨터는 다양한 情報 過程을 시뮬레이션할 수 있다. 컴퓨터 科學의 根本的인 關心事는 自動化할 수 있는 것과 없는 것을 決定하는 것이다. 컴퓨터 科學者들은 普通 學術 硏究에 集中한다. 튜링上 은 一般的으로 컴퓨터 科學에서 가장 뛰어난 賞으로 認定받고 있다.

large capital lambda Plot of a quicksort algorithm
Utah teapot representing computer graphics Microsoft Tastenmaus mouse representing human-computer interaction
컴퓨터 科學은 情報 및 電算의 理論的 基礎와 그것의 具現 및 應用을 위한 實用的인 技術을 다룬다.

컴퓨터의 利用 [ 編輯 ]

1960年 前만 하더라도 컴퓨터는 이 世上에 存在하지 않았고 몇몇 先覺者의 想像 속에서만 자리하고 있었다. 1946年 最初의 컴퓨터인 ENIAC이 出現한 以來 EDSAC·UNIVAC·MARK 等의 進步를 거쳐 昨今에 이르러서는 情報化 社會·情報産業의 時代가 到來하였다. 暴發的인 需要擴大로 超高速成長·進步를 거듭한 컴퓨터는 이용범位도 擴大되어 産業社會의 다양한 分野에서 利用됨은 勿論 一般 家庭에서도 利用되고 있다. 第2次 大戰 後 처음으로 産業에 利用되기 始作한 컴퓨터는 單純한 計算代替機能(計算代替機能)에서, 意思決定機能(意思決定機能)에 參與할 可能性을 보여주는 飛躍的인 發展을 보였고, 經營行動(經營行動)의 本質조차도 바꾸고 있다. 이러한 事實은 經營情報시스템(MIS) 志向(志向)의 많은 例에서 볼 수 있듯이, 企業에 있어서 컴퓨터 利用의 最終 目標로서의 戰略的 意思決定으로의 效果的 利用을 다할 수 있는 可能性을 增大시키고 있음을 알 수 있다. 卽 커뮤니케이션 技術의 竝行的 開發·利用의 進展과 더불어 컴퓨터는 直接 라인 業務의 一部로 되어 있고, 더욱이 數値制御(數値制御:numerical control) 等에서 實證되는 바와 같이 프로세스 制御의 活用分野를 擴大하고 있다. 工程自動化, 事務自動化, 革命으로 指稱되는 經營構造의 改善은 퍼스털 컴퓨터의 普及擴大로 나타난 家庭의 情報化와 連結되어 公共·金融·流通 서비스가 一體化된 社會·情報通信시스템을 構築하게 되어 原材料의 購買에서 販賣時點에 이르는 總體的 管理와 EFTS(電子式 同時決濟시스템)의 構築이 可能해진다. 이것은 프로그래밍의 開發의 加速化(加速化) 또는 問題 解決 技術의 進步로 컴퓨터가 企業經營에의 定着을 確固히 했다는 反證이다. 그러나 亦是 計算器 開發上에서 隘路가 되는 것은 소프트웨어(software)의 問題이며, 이와 같은 소프트웨어(software)·하드웨어(hardware) 또는 여러 人者間의 發展에 있어서 갭을 어떻게 메우느냐 하는 問題가 惹起되어 結局 計算器를 獨立的인 學問으로 硏究·開發시키려는 計算器 科學이라는 새로운 學問이 태동되는 것이다. [2]

用語 [ 編輯 ]

이 말은 새크먼(H. Sackman)에 依하면 '컴퓨터 科學이란 數學·論理學·言語分析·프로그래밍·컴퓨터디자인·情報시스템·시스템스 엔지니어링 等의 貢獻과 컴퓨터 開發과 이것의 應用에 關한 理論的·應用的인 訓鍊敎育(訓練敎育)을 中心으로 廣範圍하게 걸친 硏究分野이다'라고 定義한다. 그는 第2次 世界大戰 後의 컴퓨터에 相關되는 모든 活動은 '컴퓨터 科學'이라고 하는 學制間硏究(interdisciplinary) 領域을 形成하고, 急速한 發展을 가져온 것이라 하고, 1964年에 애치슨(W. H. Atchison) 및 햄블렌(G.W. Hamblen) 等이 開發한 上官領域도(相關領域圖)를 紹介하였다. 컴퓨터 科學이라는 하나의 體系의 學問的 認定은 別問題로 하고 그것이 나날이 旣成科學에의 參劃(參劃), 貢獻을 擴大하여 인터디스플里너리한 特質을 急速히 변화시키고 있는 것은 明白하다. 애치슨 및 햄블렌은 '컴퓨터 科學'에 對해서 美國·캐나다·멕시코의 93個 大學을 對象으로 해서 앙케트 調査를 하였다. 그 結果로서 거의 모든 大學이 '情報科學'이나 '시스템 엔지니어링'보다 '컴퓨터 科學'이라는 用語를 더 選好하는 것으로 나타났다. 또 1965年 美國의 컴퓨팅機器協會(Association of Computer Machinery)는 이 協會가 組織한 컴퓨터 科學에 關한 커리큘렴(curriculum) 委員會의 勸告書(勸告書)를 公開하고 컴퓨터 科學이 但只 컴퓨팅 디바이스나 數値計算의 技術(art)李 아니고, 物理學이 에너지에 關聯되는 것과 같은 意義 以上으로 情報問題를 보다 廣義(廣義)로 다루는 科學體系임을 論證하고 있다. 이에 關해서 1965年 9月에 캐나다의 서(西)온트리오 大學이 主催한 '시스템과 컴퓨터 科學 콘퍼런스'가 열렸다. 여기서 캐나다의 모든 大學에서의 컴퓨터 科學敎育의 方向을 設定하는 討論이 있었고, 새로운 科學의 定義를 비롯해서 境界領域·敎授方法 等의 硏究·開發結果가 發表되었다. 그 成果의 一端으로서 컴퓨터 科學이 數値分析·應用統計·OR·데이터 處理 等의 여러 領域에 있어서 純粹硏究보다는 오히려 應用科學으로서의 프레임워크制에 서서의 設定을 目標로 하는 것이 明白해졌다. 또 이러한 前提에서 情報科學(information science)과 컴퓨터 科學의 相關性(相關性)에 關한 理論的 分析, 또는 컴퓨터 硏究에 있어서의 理論과 應用間의 不均衡 問題가 論究되었다. 이 콘퍼런스는 世界的으로 最初의 試圖인 것으로 생각되는데 캐나다의 大學敎育에서 '컴퓨터 科學'의 커리큘럼에의 編入은 다른 나라에 앞서는 것으로 보인다. [3]

컴퓨터 科學의 正義의 問題點 [ 編輯 ]

컴퓨터가 美國의 産業 社會에서도 不可缺한 存在로서 實際로 많이 쓰이고 있는 것은 否定할 수 없는 事實이지만, '컴퓨터 科學'의 本質에 關한 學界의 論爭은 아직도 活潑하다. 이러한 論爭과는 別途로 '컴퓨터 科學'에 關한 出版物은 그 定義(定義) 確立 以前에 많이 나와 있고, 이 現象은 MIS의 境遇와 많은 類似點을 지닌다고 하겠다. 맥그로 힐(McGraw-Hill Book Co.)의 '컴퓨터 科學 文獻 안내'를 비롯해서 各 出版社가 컴퓨터 科學圖書의 宣傳에 힘을 기울이고 있는 것도 事實이다. 그러면 '컴퓨터 科學'이라는 學問體系가 果然 存在하는가, 存在한다면 그 本質은 어떠한 것인가에 對한 問題點이 擧論된다. [4]

컴퓨터 科學의 本質 [ 編輯 ]

1967年 사이먼 (H. A. Simon) 敎授는 이와 같은 基本的 疑問에 對해서 뉴웰(A. Newell)·펠리스(A.G. Pelris)와의 延命으로 『사이언스』誌의 公開狀(公開狀)에서 다음과 같이 말했다. 그 內容을 要約하면, 現象(現象)이 있는 곳에는 이 現象을 記述하는 科學이 存在한다. 예컨대 植物學이 植物硏究의 科學이고, 또 天文學이 별 硏究를 目的으로 하는 科學인 것처럼 모든 科學은 現象에 依해서 創造된다. 따라서 컴퓨터가 있는 限, 컴퓨터를 硏究하는 科學으로서의 '컴퓨터 科學'이 있어야 할 것이다. 컴퓨터를 둘러싼 環境,現象이 여러 갈래고 複雜하며 問題點이 多數 存在하는 오늘날, 그런 것의 科學的인 追求의 重要性은 다른 모든 科學의 그것에 비해 다름이 없음을 明白히 하고, 懷疑論者 (懷疑論者)에 依해서 提起된 反論(反論)에 對해서, 論理的인 6가지 點을 列擧하여 科學으로서의 正當性을 主張하고 있다. 于先, 自然現象만이 科學을 創造하며, 컴퓨터는 人爲(人爲) 人工的인 데다 그에 對한 不變의 法則이 없다. 따라서 科學的인 論據가 不備하다는 反論에 對해서는, 컴퓨터나 컴퓨터 프로그램은 나날이 發展하고 있고, 또한 컴퓨터의 定義(定義)는 明確하지 않으며, 그 뜻이 새로운 開發에 依해서 變化한다고 해도 科學의 現象, 領域은 모두 恒常 變化하는 것이며, 컴퓨터 科學만이 그러한 것은 아니라고 하였다. 天文學 도 當初에는 天體 사이의 가스 는 그 領域 밖에 있었고, 物理學 에도 放射線 이 包含되지 않았으며, 心理學徒 動物行動의 硏究를 範圍 外로 하였던 時代가 있었음을 指摘하고, 또 數學이 지난날에는 ' 數量의 科學 '이라고 定義되었던 事實을 例證(例證)하고 있다. '컴퓨터 科學'은 어디까지나 컴퓨터를 둘러싼 現象의 硏究를 하려는 科學이지 컴퓨터를 溫度計와 같이 但只 機器(機器)로서 把握하는 것을 否定한다. 그리고 科學을 일렉트로닉스나 數學 · 心理學 等의 盆地科學 (分枝科學)이라고 하는 反論에 對해서, 컴퓨터의 硏究에는 위에 든 旣存科學의 硏究도 必要하다는 것을 肯定하면서도 現象이 科學의 中心(中心)을 定義하고 他科學과의 境界를 定義하는 것이 아니며, 그 例證(例證)으로서 生化學(生化學)李 動物學·化學의 어느 것의 存在도 否定하는 것이 아니라는 것을 指摘하고 있다. 또 컴퓨터가 工學에 歸屬하며, 科學의 對象이 될 수 없지 않은가라는 疑問에 對해서는, 電氣가 物理學과 工學, 植物(植物)李 植物學科 農學(農學)에 各各 相關되는 것과 같이 컴퓨터도 工學 과 科學의 兩者에 相關한다. '컴퓨터 科學'은 그것의 專門的인 科學으로서의 發展過程에서 더욱 더 分析(分析)과 假說(假設)과의 組合(組合), 純粹硏究와 애플리케이션 分析의 統合的(統合的) 그리고 相關的 展開를 통해서 學問的 體系의 特性을 明確히 할 必然性을 갖는다고 말하고 있다. 如何間 '컴퓨터 科學'李 生命力을 갖춘 컴퓨터의 追求를 目的으로 한 科學體系로서 發展할 것은 事實이며, 컴퓨터 科學者의 課題는 여러 隣接科學者와의 上官活動을 活潑히 하고, '컴퓨터 科學'으로 하여금 人間社會 進步를 위해 有效한 科學體系로서 貢獻할 수 있도록 하는 데 있다고 할 수 있다. [5]

歷史 [ 編輯 ]

컴퓨터 科學의 歷史는 現代의 디지털 컴퓨터의 歷史만을 가리키는 것이 아니다. 籌板과 같이 計算을 遂行하는 機械는 오래前부터 있었다. 1623年에는 最初의 計算器械가 만들어졌고, 찰스 배비지 는 19世紀 初에 差分機關 을 만들었다. 1900年代에 들어서 IBM 社가 펀치카드 시스템(PCS)을 開發하여 會計에 關聯된 일을 하도록 普及하였다. 하지만 이들 모두는 주어진 한 가지의 일만 遂行할 수 있었다.

1920年 以前까지 '컴퓨터'(computer)는 計算(compute)을 擔當하는 事務官을 일컫는 用語였다. 쿠르트 괴델 , 알론組 處置 , 앨런 튜링 과 같은 컴퓨터 科學 初期의 學者들은 計算 可能性 問題(종이와 鉛筆만을 가진 事務官이 徹底하게 어떠한 指示에 따라 行動하여 計算할 수 있는 것들은 어떤 것들인가?)에 興味를 느꼈다. 이러한 興味는 計算이라고 하는, 지겨울 수도 있고 誤謬率이 높은 作業을 自動化하고자 하는 欲求로부터 비롯되었다. 그들은 이리하여 한 가지의 種類의 作業만 遂行할 수 있었던 旣存의 機械들과는 다른, 理論的으로 어떠한 計算도 可能한 機械를 만들고자 했다. 이러한 努力이 현대 컴퓨터 科學의 地平을 열었다.

1940年代에 들어서자 더욱 强力한 機能을 지닌 計算器들이 登場했고, 이때부터 '컴퓨터'는 사람이 아닌 이들 機械를 부르는 用語로 굳어졌다. 컴퓨터가 單純한 數字 計算보다 더 다양한 機能을 할 수 있는 것들이 알려지면서 컴퓨터 科學이라는 分野가 더욱 넓어지기 始作했다. 1960年代부터 여러 大學에 컴퓨터 科學 學科와 專攻 過程이 생기면서 컴퓨터 科學이 學問으로 인정받기 始作하였으며, 學問의 쓰임새에 따라 細分되었다.

美國의 컴퓨터 科學 [ 編輯 ]

컴퓨터는 이제 '컴퓨터 萬能'으로까지 指稱될 만큼 時代의 寵兒이며 未來의 靑寫眞이기도 하다. 이미 獨立的인 思考能力을 가진 컴퓨터가 나타나고 있는데, 美國의 境遇에는 일리노이대학에서 컴퓨터와 人間間의 對話에 依해서 學習을 進行하는 CAI(Computer Aided Instruction) 시스템이 試圖되고 있다. 特히 美國은 政府 民間企業體 次元에서 컴퓨터 科學硏究開發을 위해 大學 또는 民間硏究團體에 莫大한 財政支援과 프로젝트를 推薦해 오고 있다. 이에 따라 美國의 學界에서 커리큘럼 속에 인터디시플里너리적 科學으로서의 컴퓨터 科學 講座를 設置할 것을 檢討하였으며, 컴퓨터 時代에 對應하기 위한 大學의 役割에 積極的인 姿勢를 보이고, 이 몇 해 동안에 有名한 大學의 經營大學院에서 컴퓨터 講座를 竝設하는 곳이 增加하고 있다. 또한 많은 컴퓨터 사이언스 擔當敎授가 있다고 한다. 예컨대 사이먼(H.A. Simon) 敎授는 1966年 以後 컴퓨터 사이언스 心理學擔當 敎授로 活躍하고 있다. 또한 OR의 世界的 權威者이며 파이어니어人 스탠포드대학의 단치히(G.H. Dantzig) 博士도 컴퓨터 사이언스를 講義하고 있다. 經營科學(managment science)의 여러 技法(技法)과 컴퓨터와의 聯動(連動)을 前提로 한 問題解決法(problem solving)의 發展이 컴퓨터 效果의 增大에 寄與할 可能性을 크게 나타내고 있는데도 不拘하고 '컴퓨터 科學'의 浸透가 늦어지고 있는 理由로서는 ① 經營科學의 應用性의 缺如, ② 인터디시플里너리한 어프로치에 있어서의 統合理論(統合理論), 또는 技術上의 美(未)發達 等을 들 수 있다 다시 말해서 經營管理의 環境 適應性의 理論的 프레임워크의 설정 困難, 敎育시스템의 開發 지체에 있는 것이다. 이 問題를 考慮함에 있어 情報科學 또는 MIS의 發達過程을 情事(精査)하는 것도 重要하다. 卽 MIS의 早速한 利用을 期待한 經營者의 失望에 비추어 보아 컴퓨터 사이언스에 對한 疑問이나 在庫(再考)意識이 나온 것도 否定할 수 있다. 컴퓨터 科學을 둘러싼 論議가 活潑해졌지만, 그 全體로서 컴퓨터 科學이 經營管理의 革新에 있어서 眞實로 價値 있는 科學體系임을 明白히 할 必要가 있다. 따라서 캐나다의 컴퓨터 敎育의 發展을 論하기 以前에 美國에서의 論爭을 追跡함으로써 그 本質과 方向에 對해 考察하는 것도 重要한 일이 되겠다. [6]

다른 分野와의 關係 [ 編輯 ]

컴퓨터 科學은 오늘날 많은 사람들이 使用하는 컴퓨터라는 機械에 對한 學問 으로 限定되지 않는다. 有名한 컴퓨터 科學者 에츠虛르 데이크스트라 는 "컴퓨터 科學에서 컴퓨터란, 天文學에서 望遠鏡 以上의 것이 아니다."라고 하였다.

컴퓨터 科學 硏究는 數學 , 認知 科學 , 物理學 , 그리고 言語學 과 같은 學問과 共生한다.

많은 科學 分野와 비슷하게 컴퓨터 科學도 數學 과 가장 密接한 關係를 가지고 있을뿐만 아니라, 數學에 基礎를 둔 科學의 한 分野이다. 컴퓨터 科學의 基礎에 큰 影響을 미친 數學이 조지 불 불 臺數 이다. 불 臺數는 二進法 을 基盤으로 한 代數學으로, 그 外에 체論 環論 또한 重要한 影響을 미쳤다. 初期의 컴퓨터 科學은 쿠르트 괴델 앨런 튜링 等의 數學者들이 큰 影響을 끼쳤고, 數理論理學 , 範疇論 , 도메인 理論 , 代數學 과 같은 數學 分類들은 컴퓨터 科學과 함께 發展하고 있다.

컴퓨터 科學과 經營 管理 [ 編輯 ]

사이먼은 컴퓨터와 思想의 關係에 對해서 '컴퓨터가 人間의 이미지에 따라서 組織되는 것이라면, 컴퓨터는 明白히 人間行動에 對한 擇一的(擇一的) 組織上(組織上)의 假說에서 생기는 結果를 開發하는 機器(機器)이다'라고 말하고, 人間行動의 깊은 理解를 얻기 위한 手段으로서의 컴퓨터 시뮬레이션(computer simulation)의 重要한 役割과 意義를 밝히고 있다. 이 뜻을 經營管理의 向上이라는 觀點에서 把握할 境遇, 맨머신 시스템(man-machine system)의 원의(原義)가 밝혀질 것으로 생각되지만, 컴퓨터의 本質과 適用分野의 科學的 追求를 積極化하고, 컴퓨터에 對한 投資의 最適 效果의 創出에 體系的으로 努力함이 經營管理의 挑戰的 課題라고 理解할 수 있다. 또 이와 같은 方向設定이 肯定된다면, 經營敎育 커리큘럼 編成에 있어서의 '컴퓨터 科學'의 位置 設定도 明白해질 것으로 생각되지만, 敎育期間은 말할 것도 없고, 企業組織에서 科學으로서의 컴퓨터 事故(思考)는 加速的(加速的) 普遍化를 이룰 것이 明確하다. 經營管理에 對한 컴퓨터의 임팩트(impact)의 本質的 理解와 對應策도 컴퓨터의 科學的 追求에 크게 依存할 것이라는 點을 强調함과 同時에 '컴퓨터 科學'이 經營學 革新의 에이전트(agent)的 機能을 다할 것이라는 點을 指摘해야 한다. [7]

分野 [ 編輯 ]

컴퓨터 科學은 그 理論의 適用法에 따라 여러 分野로 나뉜다. 一般的인 分類는 다음과 같다.

隣接 學問 [ 編輯 ]

바탕이 되는 理論 [ 編輯 ]

理論 컴퓨터 科學 [ 編輯 ]

알고리즘과 資料 構造 [ 編輯 ]

프로그래밍 言語論 整形 技法 [ 編輯 ]

竝行·竝列·分散 컴퓨팅 [ 編輯 ]

소프트웨어 工學 [ 編輯 ]

컴퓨터 시스템 [ 編輯 ]

네트워크 [ 編輯 ]

人工知能 [ 編輯 ]

데이터베이스 [ 編輯 ]

컴퓨터 그래픽스 와 視覺化 [ 編輯 ]

이미지 處理와 音響 處理 [ 編輯 ]

소셜 컴퓨팅과 人間과 컴퓨터 相互 作用 [ 編輯 ]

計算科學 [ 編輯 ]

프로그래밍 패러다임 [ 編輯 ]

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

外部 링크 [ 編輯 ]