컴퓨터 공학

(컴퓨터 스터디에서 리디렉션됨)
Expression for Church numerals in lambda calculus Plot of a quicksort algorithm
Example of Computer animation produced using Motion capture Half-adder circuit
컴퓨터 과학은 정보, 알고리즘 및 컴퓨터 계산의 이론적 기초와 그 응용을 위한 실용적 기법을 다룬다.

컴퓨터 과학알고리즘 과정, 컴퓨터 기계, 계산 그 자체에 대한 학문이다.[1] 하나의 분야로서 컴퓨터 과학은 알고리즘, 연산정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어에 컴퓨터 시스템을 구현하는 실질적인 문제까지 다양한 주제에 걸쳐 있다.[2][3]

그것의 분야는 이론적 학문과 실제적인 학문으로 나눌 수 있다. 예를 들어 계산 이론컴퓨터 그래픽이나 계산 기하학은 좀 더 구체적인 응용을 강조하는 반면, 계산 이론은 계산의 추상적 모델과 그것들을 이용하여 해결할 수 있는 문제들의 일반적인 클래스에 관한 것이다. 알고리즘데이터 구조는 컴퓨터 과학의 심장부라고 불려왔다.[4] 프로그래밍 언어 이론은 컴퓨터 프로그래밍은 복잡한 시스템을 만들기 위해 그것들의 사용을 포함하는 반면에, 컴퓨터 프로그래밍은 계산 과정의 설명에 대한 접근을 고려한다. 컴퓨터 구조는 컴퓨터 부품과 컴퓨터 작동 장비의 구조를 설명한다. 인공지능은 인간과 동물에서 발견되는 문제해결, 의사결정, 환경적응, 기획, 학습 등 목표 지향적인 과정을 종합하는 것을 목표로 한다. 디지털 컴퓨터는 다양한 정보 프로세스를 시뮬레이션할 수 있다.[5] 컴퓨터 과학의 근본적인 관심사는 자동화할 수 있는 것과 없는 것을 결정하는 것이다.[6] 컴퓨터 과학자들은 보통 학문 연구에 초점을 맞춘다. 튜링상은 일반적으로 컴퓨터 과학에서 가장 높은 등급으로 인정받고 있다.

역사

찰스 배비지는 때때로 "컴퓨팅의 아버지"[7]라고 일컬어진다.
Ada Lovelace는 컴퓨터에서 처리를 위한 첫 번째 알고리즘을 출판했다.[8]

컴퓨터 과학이 될 수 있는 가장 초기의 기초는 현대 디지털 컴퓨터의 발명보다 앞선다. 주판과 같은 고정 숫자 작업을 계산하는 기계는 구식부터 존재하여 곱셈과 나눗셈과 같은 계산을 도왔다. 연산을 수행하기 위한 알고리즘은 고대로부터, 심지어 정교한 계산 장비가 개발되기 전부터 존재해왔다.

빌헬름 쉬카드는 1623년에 최초의 기계식 계산기를 설계하고 만들었다.[9] 1673년 고트프리드 라이프니즈Steped Reconer라고 불리는 디지털 기계식 계산기를 시연했다.[10] 라이프니즈는 다른 이유들 중에서도 이진수 체계를 문서화한 최초의 컴퓨터 과학자와 정보 이론가로 여겨질 수 있다. 1820년, 토마스콜마르는 그의 단순화된 아릿미터(arithmometer)를 발명했을 때 기계 계산기 산업을[note 1] 시작했는데, 이 기계는 매일 사무실 환경에서 사용될 수 있을 만큼 충분히 강하고 믿을 수 있는 최초의 계산기였다. 찰스 배비지는 1822년에 최초의 자동 기계식 계산기, 그의 차이점 엔진의 설계를 시작했는데, 이것이 결국 그에게 최초의 프로그램 가능한 기계식 계산기, 그의 분석 엔진의 아이디어를 주었다.[11] 그는 1834년에 이 기계를 개발하기 시작했고, "그는 2년도 채 되지 않아 현대 컴퓨터의 중요한 특징들을 스케치했다"[12]고 말했다. "중요한 단계는 재커드 베틀에서 파생된 펀치 카드 시스템을 채택하여 무한정 프로그래밍할 수 있게 한 것이다."[12][note 2] 1843년, Analytics Engine에 관한 프랑스 기사를 번역하는 동안, 에이다 러브레이스는 그녀가 포함시킨 많은 노트들 중 하나에 베르누이 숫자를 계산하는 알고리즘을 썼는데, 이것은 컴퓨터에 특별히 구현을 위해 만들어진 최초의 공표된 알고리즘으로 간주된다.[13] 1885년경, Herman Hollerith는 통계 정보를 처리하기 위해 펀치 카드를 사용하는 탭레이터를 발명했다; 결국 그의 회사는 IBM의 일부가 되었다. 배비지에 이어 1909년 퍼시 루드게이트는 그의 초기 작품은 몰랐지만, 역사상 유일하게 기계 해석 엔진을 위한 두 가지 디자인 중 두 번째를 출판했다[14]. 배비지의 불가능한 꿈이 있은 지 100년이 지난 1937년, 하워드 아이켄은 온갖 펀치 카드 장비를 만들고 계산기 사업에도[15] 종사하는 IBM을 설득하여 배비지의 분석 엔진과 중앙 컴퓨팅 유닛을 스스로 사용했던 배비지의 분석 엔진을 기반으로 그의 거대 프로그램 가능 계산기 ASCC/하버드 마크 I를 개발했다. 기계가 완성되자 어떤 이들은 "배비지의 꿈이 실현된다"고 환호했다.[16]

1940년대에 아타나소프-베리 컴퓨터, ENIAC와 같은 새롭고 더 강력한 컴퓨팅 머신이 개발되면서, 컴퓨터라는 용어는 인간의 전임자라기 보다는 그 머신을 지칭하게 되었다.[17] 컴퓨터가 단순한 수학적인 계산 이상의 용도로 사용될 수 있다는 것이 확실해짐에 따라 컴퓨터 과학의 분야는 일반적으로 연산을 연구하기 위해 넓어졌다. 1945년 IBM뉴욕시컬럼비아 대학에 왓슨 과학 컴퓨팅 연구소를 설립했다. 맨해튼 웨스트사이드에 있는 재단장된 친목동은 순수과학을 위한 IBM의 첫 번째 연구실이었다. 이 연구소는 오늘날 전 세계에 연구시설을 운영하고 있는 IBM의 연구부문의 선구자다.[18] 궁극적으로 IBM과 대학의 긴밀한 관계는 1946년 컬럼비아 대학교가 컴퓨터 과학 분야의 최초의 학점-학점 과정 중 하나를 제공하는 등 새로운 과학 분야의 출현에 중요한 역할을 했다.[19] 컴퓨터 과학은 1950년대와 1960년대 초에 뚜렷한 학문적 규율으로서 확립되기 시작했다.[20][21] 세계 최초의 컴퓨터 과학 학위 과정인 캠브리지 컴퓨터 과학 학위는 1953년 캠브리지 대학 컴퓨터 연구소에서 시작되었다. 미국 최초의 컴퓨터 과학 학과는 1962년 퍼듀 대학에 설립되었다.[22] 실용적인 컴퓨터가 이용 가능하게 된 이후, 많은 컴퓨터 응용 프로그램들은 그들 자신의 권리에 따라 뚜렷한 연구 영역이 되었다.

어원

비록 첫번째 1956,[23]에서 제안한 용어"컴퓨터 과학"은 ACM,[24]에 루이 Fein 대학원 컴퓨터 사이언시스에 Harvard경영 대학원의 1921,[25]에 대한 만들기 경영 과학 좋아한다면 그 문제 강력히 주장하면서 이름 안에 analogous의 구성을 주장한다의 통신에서 1959년 기사에 나타납니다.적용된다 학문적 규율의 전형적 특징을 가지고 있는 반면, 자연에서는 학제간이다.[24] 의 노력과 수치 분석가 조지 포사이스와 같은 다른 사람들의 노력은 보상을 받았다: 대학들은 1962년 퍼듀를 시작으로 계속해서 그러한 학과를 만들었다.[26] 그것의 이름에도 불구하고, 상당한 양의 컴퓨터 과학은 컴퓨터 자체에 대한 연구를 포함하지 않는다. 이 때문에 여러 가지 대체 명칭이 제안되었다.[27] 주요 대학의 일부 학과들은 그 차이를 정확히 강조하기 위해 컴퓨터 공학이라는 용어를 선호한다. 덴마크의 과학자 피터 나우르는 과학적인 규율이 반드시 컴퓨터를 수반하지는 않지만 데이터와 데이터 처리를 중심으로 진행된다는 사실을 반영하기 위해 데이터로그리라는 용어를 제안했다.[28] 이 용어를 처음 사용한 과학 기관은 1969년 설립된 코펜하겐 대학의 데이터로그리 학과였으며, 피터 나우르 교수가 최초의 데이터로그 교수였다. 이 용어는 주로 스칸디나비아 국가에서 사용된다. Naur에 의해서도 제안된 대안 용어는 데이터 과학이다; 이것은 현재 통계와 데이터베이스를 포함한 데이터 분석의 다학제 분야에 사용된다.

컴퓨팅 초기에는 ACM 통신에 컴퓨터 분야의 실무자들을 위한 여러 용어들이 제시되었는데, 튜링라이너, 도뇨기학자, 플로우차트맨, 메타물질학자, 응용 인식론자 등이 그것이다.[29] 3개월 후 같은 저널에서, 컴퍼니학자가 제안되었고, 다음해에는 하이픈학자가 그 뒤를 이었다.[30] 컴퓨터 공학이라는 용어도 또한 제안되었다.[31] 유럽에서는 자동정보(이탈리아어로 "Informazione automatica") 또는 "정보와 수학"이라는 표현에 대한 계약된 번역에서 유래한 용어가 종종 사용된다. 예를 들어, informatique(프랑스어), Informatique(독일어), informatica(이탈리아어, 네덜란드어), informatica(스페인어, 포르투갈어), informatikika, 헝가리어) 등이 있다.그리스어riroforiki(πληρφφοορήήήήή, informatics를 뜻한다.) 영국에서도 비슷한 단어가 채택되었다(에든버러 대학의 정보학 학파에서처럼).[32] 그러나 미국에서는 정보학이 응용 컴퓨팅, 즉 다른 도메인의 맥락에서 컴퓨팅과 연결된다.[33]

흔히 에드제르 디크스트라(Edsger Dijkstra)에 의해 처음으로 공식화되지는 않았지만 민속적인 인용구는 "컴퓨터 과학은 천문학이 망원경에 관한 것보다 더 중요한 것이 아니다"[note 3]라고 말하고 있다. 컴퓨터와 컴퓨터 시스템의 설계와 배치는 일반적으로 컴퓨터 과학 이외의 분야의 영역으로 간주된다. 예를 들어, 컴퓨터 하드웨어에 대한 연구는 대개 컴퓨터 공학의 일부로 간주되는 반면, 상용 컴퓨터 시스템의 연구와 그 배치는 흔히 정보기술 또는 정보 시스템이라고 불린다. 그러나, 다양한 컴퓨터 관련 분야들 사이에는 많은 아이디어들이 교차적으로 발전해 왔다. 컴퓨터 과학 연구는 또한 종종 철학, 인지 과학, 언어학, 수학, 물리학, 생물학, 지구 과학, 통계학, 논리학과 같은 다른 분야들과 교차한다.

컴퓨터 과학은 몇몇 사람들에 의해 많은 과학 분야보다 훨씬 더 수학과 밀접한 관계를 가지고 있는 것으로 여겨지고 있으며, 일부 관찰자들은 컴퓨팅이 수학적 과학이라고 말한다.[20] 초기 컴퓨터 과학은 커트 괴델, 앨런 튜링, 존 폰 노이만, 로자 페터, 알론조 교회 등의 수학자들의 연구로 큰 영향을 받았으며, 수학 논리학, 범주론, 도메인 이론, 대수학 등의 분야에서 두 분야 사이에 유용한 의견 교환이 계속되고 있다.[23]

컴퓨터 공학과 소프트웨어 공학의 관계는 논쟁의 여지가 있는 문제로서, "소프트웨어 공학"이라는 용어가 무엇을 의미하는지, 그리고 컴퓨터 공학을 어떻게 정의하느냐에 대한 논쟁으로 인해 더 혼란스러워진다.[34] 데이빗 파르나스는 다른 공학과 과학 분야의 관계에서 힌트를 얻으면서 컴퓨터 과학의 주된 초점은 일반적으로 계산의 속성을 연구하는 것이고, 소프트웨어 공학의 주된 초점은 실용적인 목표를 달성하기 위한 구체적인 계산의 설계라고 주장하여 두 가지를 분리시켰다.그러나 보완적인 학문.[35]

컴퓨터 과학의 학문적, 정치적, 자금적 측면은 한 부서가 수학적 강조를 가지고 형성되는지 아니면 공학적 강조를 가지고 형성되는지에 따라 좌우되는 경향이 있다. 수학을 중시하고 수치적 지향을 가진 컴퓨터 과학과는 컴퓨터 과학과의 연계를 고려한다. 두 유형의 학과 모두 모든 연구에 걸친 것은 아닐지라도 교육적으로 그 분야를 연결하려는 노력을 기울이는 경향이 있다.

철학

컴퓨터 과학의 인식론

그 이름에 '과학'이라는 단어에도 불구하고, 컴퓨터 과학이 과학, 수학, 공학의 학문인지 아닌지에 대한 논쟁이 있다.[36]앨런 뉴웰허버트 A. 사이먼은 1975년에 논쟁했다.

컴퓨터 과학은 경험적인 학문이다. 우리는 그것을 실험 과학이라고 불렀겠지만, 천문학, 경제학, 지질학처럼, 그것의 독특한 형태의 관찰과 경험은 실험 방법에 대한 좁은 고정관념과 맞지 않는다. 그럼에도 불구하고, 그것들은 실험이다. 새로 만들어진 기계는 각각 실험이다. 실제로 기계를 제작하는 것은 자연에 의문을 제기한다; 그리고 우리는 작동 중인 기계를 관찰하고 가능한 모든 분석 및 측정 수단으로 분석함으로써 답을 듣는다.[36]

이후 컴퓨터 과학은 프로그램의 정확성을 평가하기 위해 경험적 테스트를 활용하기 때문에 경험적 과학으로 분류할 수 있다는 주장이 제기되었지만, 컴퓨터 과학의 법칙과 이론(존재하는 경우)을 정의하고 컴퓨터 과학에서 실험의 성격을 규정하는 데는 문제가 남아 있다.[36] 컴퓨터 과학을 공학 분야로 분류하는 것을 지지하는 사람들은 컴퓨터 시스템의 신뢰성이 토목 공학에서의 교량이나 항공 우주 공학에서의 비행기와 같은 방식으로 조사된다고 주장한다.[36] 그들은 또한 경험 과학이 현재 존재하는 것을 관찰하는 동안, 컴퓨터 과학은 존재할 수 있는 것을 관찰하고, 과학자들이 관찰로부터 법칙을 발견하는 동안, 컴퓨터 과학에서 적절한 법칙이 발견되지 않았으며, 그 대신 현상을 일으키는 것과 관련이 있다고 주장한다.[36]

컴퓨터 과학을 수학 분야로 분류하는 것을 지지하는 사람들은 컴퓨터 프로그램이 수학 실체의 물리적 실현이고 프로그램들은 수학적인 형식적인 방법을 통해 연역적으로 추론될 수 있다고 주장한다.[36] 컴퓨터 과학자인 Edsger W. DijkstraTony Hoare는 컴퓨터 프로그램에 대한 지시를 수학적 문장으로 간주하고 프로그래밍 언어에 대한 형식적인 의미론을 수학적 공리 체계로 해석한다.[36]

컴퓨터 과학의 패러다임

많은 컴퓨터 과학자들이 컴퓨터 과학에서 세 개의 별개의 패러다임을 구별해야 한다고 주장해왔다. 피터 웨그너는 그 패러다임이 과학, 기술, 수학이라고 주장했다.[37] 피터 데닝의 작업 그룹은 그들이 이론, 추상화, 그리고 디자인이라고 주장했다.[38] 암논 H. 에덴은 이들을 '합리주의 패러다임'(이론적 컴퓨터 과학에 널리 퍼져 있으며 주로 연역적 추론을 채택하고 있는 수학의 한 분야로 취급한다), '기술적 패러다임'(공학적 접근법, 소프트웨어 공학에서 가장 두드러지게 발견될 수 있는 것임), '과학적'이라고 표현했다.c 패러다임"(인공지능의 일부 부서에서 확인할 수 있는 자연과학의 경험적 관점에서 컴퓨터 관련 유물을 접근한다.)[39] 컴퓨터 공학은 인간이 만든 컴퓨터 시스템의 설계, 사양, 프로그래밍, 검증, 구현 및 시험에 관련된 방법에 초점을 맞추고 있다.[40]

필드

천문학이 망원경에 관한 것만큼 컴퓨터 과학은 컴퓨터에 관한 것이 아니다.

하나의 분야로서 컴퓨터 과학은 알고리즘의 이론적 연구와 계산의 한계에서부터 하드웨어와 소프트웨어에서 컴퓨터 시스템을 구현하는 실질적인 문제까지 다양한 주제에 걸쳐 있다.[41][42] CSAB, 원래 컴퓨팅 과학 인가 Board—which 협회 컴퓨팅 기계(ACM)의 대표자들로 구성되고 IEEE컴퓨터 학회 컴퓨터 과학의 규율에 결정적이라고 여겨지게 4개의 영역:계산, 알고리즘 및 데이터 구조의 이론, 프로그래밍 메서디스트 교도.(IEEECS)[43]—identifies 요구했다.돌Ogy와 언어, 그리고 컴퓨터 요소와 건축. CSAB는 이 네 가지 영역 외에도 소프트웨어 엔지니어링, 인공지능, 컴퓨터 네트워킹 및 통신, 데이터베이스 시스템, 병렬 컴퓨팅, 분산 컴퓨팅, 인간-컴퓨터 상호작용, 컴퓨터 그래픽, 운영 체제, 수치 및 기호 컴퓨팅 등의 분야를 중요한 영역으로 파악한다. 컴퓨터 [41]과학의

이론 전산학

이론 컴퓨터 과학은 정신적으로는 수학적이고 추상적이지만, 그 동기부여는 실용적이고 일상적인 계산에서 비롯된다. 그것의 목적은 계산의 성격을 이해하는 것이고, 이러한 이해의 결과로서 더 효율적인 방법론을 제공하는 것이다.

계산 이론

피터 데닝에 따르면, 컴퓨터 과학의 기초가 되는 근본적인 질문은 "자동화할 수 있는 것은 무엇인가?"[20]이다. 계산 이론은 계산될 수 있는 것과 그러한 계산을 수행하는 데 필요한 자원의 양에 대한 근본적인 질문에 대답하는 데 초점을 맞추고 있다. 첫 번째 문제에 답하기 위한 노력에서 계산가능성 이론계산의 다양한 이론적 모델에서 어떤 계산 문제를 해결할 수 있는지 검토한다. 두 번째 문제는 계산 복잡성 이론으로 다루는데, 이 이론은 다수의 계산 문제를 해결하기 위한 다른 접근법과 관련된 시간과 공간 비용을 연구한다.

밀레니엄상 문제 중 하나인 유명한 P = NP? 문제는 계산 이론에서 개방적인 문제다.[44]

정보 및 부호화 이론

정보이론은 확률통계와 밀접한 관련이 있으며 정보의 정량화와 관련이 있다. 이것은 데이터 압축과 같은 신호 처리 작업과 데이터의 신뢰성 있는 저장 및 통신에 대한 근본적인 한계를 찾기 위해 Claude Shannon에 의해 개발되었다.[45] 코딩 이론은 코드의 속성(한 형태에서 다른 형태로 정보를 변환하기 위한 시스템)과 특정 애플리케이션에 대한 적합성에 대한 연구다. 코드는 데이터 압축, 암호화, 오류 감지수정, 그리고 최근에는 네트워크 코딩에도 사용된다. 코드는 효율적이고 신뢰할 수 있는 데이터 전송 방법을 설계하기 위한 목적으로 연구된다. [46]

데이터 구조 및 알고리즘

데이터 구조와 알고리즘은 일반적으로 사용되는 계산 방법과 계산 효율성의 연구다.

프로그래밍 언어 이론 및 형식 방법

프로그래밍 언어이론은 프로그래밍 언어의 설계, 구현, 분석, 특성화 및 분류와 그 개별적 특징을 다루는 컴퓨터 과학의 한 분야다. 그것은 수학, 소프트웨어 공학, 언어학에 의존하고 영향을 미치는 컴퓨터 과학의 규범에 속한다. 수많은 전문 학술지가 있는 등 활발한 연구 분야다.

형식적인 방법은 소프트웨어와 하드웨어 시스템의 사양, 개발 및 검증을 위한 특정한 종류의 수학 기반 기법이다.[47] 소프트웨어와 하드웨어 설계에 대한 공식적인 방법의 사용은 다른 엔지니어링 분야에서와 마찬가지로 적절한 수학적 분석을 수행하는 것이 설계의 신뢰성과 견고성에 기여할 수 있다는 기대에서 비롯된다. 그들은 특히 안전이나 보안이 관련된 소프트웨어 공학에 대한 중요한 이론적 기초를 형성한다. 형식적인 방법은 오류를 방지하고 또한 시험을 위한 프레임워크를 제공할 수 있기 때문에 소프트웨어 테스트에 유용한 부속물이다. 산업용으로는 도구지원이 필요하다. 그러나 형식적인 방법의 사용 비용이 높다는 것은 안전이나 보안이 가장 중요한 고결성 및 생명 중요 시스템의 개발에만 주로 사용된다는 것을 의미한다. 형식적인 방법은 상당히 다양한 이론적 컴퓨터 과학 기초, 특히 로직 캘컬리, 형식 언어, 오토마타 이론, 프로그램 의미론 등을 응용하는 것으로 가장 잘 설명되어 있지만, 유형 시스템과 대수적 데이터 유형도 소프트웨어와 하드웨어 규격 및 검증의 문제에 적용되어 있다.

IF-THEN-ELSE-END flowchart.svg Compiler.svg Python add5 syntax.svg Prop-tableau-1.svg Coq plus comm screenshot.jpg
형식 의미론 유형론 컴파일러 설계 프로그래밍 언어 형식검증 자동 정리 증명

컴퓨터 시스템 및 컴퓨터 프로세스

인공지능

인공지능(AI)은 인간과 동물에서 발견되는 문제해결, 의사결정, 환경적응, 학습, 커뮤니케이션 등 목표 지향적인 과정을 종합하거나 통합하는 것을 목표로 한다. 사이버네틱스 기원과 다트머스 회의(1956년)에서 인공지능 연구는 응용수학, 상징논리학, 기호논리학, 기호학, 전기공학, 정신철학, 신경생리학, 사회지능 등의 전문분야를 끌어들이며 반드시 학문을 초월해 왔다. 인공지능은 로봇 개발과 대중적 마인드로 연결돼 있지만, 실용화의 주요 분야는 컴퓨터 이해가 필요한 소프트웨어 개발 분야에서 임베디드 컴포넌트로 자리 잡았다. 1940년대 후반의 시발점은 알란 튜링의 "컴퓨터가 생각할 수 있을까?"라는 질문이었고, 튜링 테스트는 여전히 인간의 지능 규모로 컴퓨터 출력을 평가하는 데 사용되고 있지만, 그 질문은 여전히 효과적으로 풀리지 않고 있다. 그러나 평가 및 예측 작업의 자동화는 복잡한 실제 데이터를 포함하는 컴퓨터 응용 분야의 인간 모니터링 및 개입을 대체하는 것으로서 점점 더 성공을 거두고 있다.

컴퓨터 아키텍처 및 조직

컴퓨터 아키텍처, 즉 디지털 컴퓨터 조직은 컴퓨터 시스템의 개념 설계와 기본 운영 구조다. 그것은 주로 중앙처리장치가 내부적으로 수행하며 메모리의 주소에 접근하는 방식에 초점을 맞추고 있다.[48] 컴퓨터 엔지니어들은 개별 프로세서 구성요소, 마이크로컨트롤러, 개인용 컴퓨터에서부터 슈퍼컴퓨터, 임베디드 시스템에 이르기까지 컴퓨터 하드웨어의 계산논리와 설계를 연구한다. 컴퓨터 문학에서 "건축학"이라는 용어는 라일 R의 작품에서 유래되었다. 존슨과 프레더릭 P. 브룩스 주니어는 1959년 IBM의 주요 연구소의 기계 조직 부서의 일원이다.

동시, 병렬 및 분산 컴퓨팅

동시성은 여러 개의 연산이 동시에 실행되며 잠재적으로 상호 작용하는 시스템의 속성이다.[49] Petri nets, process calculi, Parallel Random Access Machine 모델을 포함한 일반적인 동시 연산을 위해 많은 수학 모델이 개발되었다.[50] 동시성을 사용하는 동안 여러 대의 컴퓨터가 네트워크에 연결되면 이를 분산 시스템이라고 한다. 그 분산형 시스템 내의 컴퓨터는 그들 자신의 개인 메모리를 가지고 있고, 정보는 공통의 목표를 달성하기 위해 교환될 수 있다.[51]

컴퓨터 네트워크

컴퓨터 과학의 이 학과는 전 세계 컴퓨터들 사이의 네트워크를 관리하는 것을 목표로 한다.

컴퓨터 보안 및 암호화

컴퓨터 보안은 의도한 사용자에 대한 시스템의 접근성과 유용성을 유지하면서 무단 액세스, 중단 또는 수정으로부터 정보를 보호하는 것을 목적으로 하는 컴퓨터 기술의 한 분야다. 암호학은 은닉(암호화)과 따라서 (암호화) 정보를 해독(암호화)하는 관행과 학문이다. 현대 암호학은 컴퓨터 과학과 크게 관련이 있는데, 많은 암호화 알고리즘과 암호 해독 알고리즘은 그 계산 복잡성에 기초하기 때문이다.

데이터베이스 및 데이터 마이닝

데이터베이스는 대량의 데이터를 쉽게 구성, 저장 및 검색하기 위한 것이다. 디지털 데이터베이스는 데이터베이스 모델쿼리 언어를 통해 데이터를 저장, 생성, 유지, 검색하는 데이터베이스 관리 시스템을 사용하여 관리된다. 데이터 마이닝은 대형 데이터 세트의 패턴을 발견하는 과정이다.

컴퓨터 그래픽 및 시각화

컴퓨터 그래픽은 디지털 비주얼 콘텐츠에 대한 연구로 영상 데이터의 종합과 조작을 포함한다. 이 연구는 컴퓨터 비전, 이미지 처리, 컴퓨터 기하학 등 컴퓨터 과학의 다른 많은 분야와 연결되어 있으며 특수 효과와 비디오 게임 분야에 많이 적용되고 있다.

이미지 및 사운드 처리

정보는 이미지, 소리, 비디오 또는 다른 멀티미디어의 형태를 취할 수 있다. 약간의 정보는 신호를 통해 스트리밍될 수 있다. 그것의 처리정보학의 중심 개념인 컴퓨팅에 대한 유럽의 견해로서, 정보처리 알고리즘이 전기적이든 기계적이든 생물적이든 정보전달자의 유형과 독립적으로 연구한다. 이 분야는 정보이론, 통신, 정보공학에서 중요한 역할을 하며, 의료 영상 컴퓨팅음성 합성 등에 응용 분야를 가지고 있다. 빠른 푸리에 변환 알고리즘의 복잡성에 대한 하한은? 이론 컴퓨터 과학에서 풀리지 않은 문제들 중 하나이다.

응용 컴퓨터 공학

계산 과학, 금융 및 엔지니어링

과학 컴퓨팅(또는 계산 과학)은 수학 모델정량 분석 기법을 구축하고, 과학 문제를 분석하고 해결하기 위해 컴퓨터를 사용하는 것과 관련된 연구 분야다. 과학 컴퓨팅의 주요 용도는 컴퓨터 유체 역학, 물리적, 전기적, 전자적 시스템과 회로, 그리고 그들의 서식지와 함께 사회 및 사회적 상황(어쩌면 전쟁 게임)을 포함한 다양한 프로세스의 시뮬레이션이다. 현대적인 컴퓨터는 완전한 항공기와 같은 설계의 최적화를 가능하게 한다. 전기 및 전자 회로 설계에서 눈에 띄는 점은 SPICE뿐 아니라 새로운(또는 수정된) 설계의 물리적 실현을 위한 소프트웨어도 있다.[52] 후자는 집적회로를 위한 필수 설계 소프트웨어를 포함한다.[citation needed]

소셜 컴퓨팅 및 인간과 컴퓨터의 상호작용

소셜 컴퓨팅은 사회적 행동과 컴퓨터 시스템의 교차점에 관련된 영역이다. 휴먼-컴퓨터 상호작용 연구는 사용자 인터페이스 설계자를 위한 이론, 원칙 및 지침을 개발한다.

소프트웨어 엔지니어링

소프트웨어 엔지니어링은 소프트웨어 설계, 구현 및 수정을 통해 고품질, 경제성, 유지보수가 용이하고 구축이 빠를 수 있도록 하는 학문이다. 소프트웨어 설계에 대한 체계적 접근법으로서, 소프트웨어에 엔지니어링 실무관행을 적용하는 것을 포함한다. 소프트웨어 엔지니어링은 소프트웨어의 구성과 분석을 다룬다. 소프트웨어 엔지니어링은 새로운 소프트웨어의 제작이나 제조뿐만 아니라 내부 배치와 유지보수를 다룬다. 예를 들어 소프트웨어 테스트, 시스템 엔지니어링, 기술 부채소프트웨어 개발 프로세스.

디스커버리스

컴퓨터 공학 철학자인 빌 라파포트컴퓨터 과학의 세 가지 위대한 통찰력에 주목했다.[53]

계산 가능한 문제에 대한 모든 정보는 0과 1만 사용하여 나타낼 수 있다(또는 "on/off", "자기화/탈자화", "고전압/저전압" 등과 같이 쉽게 구별할 수 있는 두 상태 사이를 전환할 수 있는 다른 모든 바이스트 가능 쌍).
  • 앨런 튜링의 통찰력: 컴퓨터가 "무엇이든" 하기 위해 수행해야 하는 다섯 가지 행동만이 있다.
모든 알고리즘은 단지 5가지 기본 지침으로 구성된 컴퓨터의 언어로 표현될 수 있다.[54]
  • 한 위치를 왼쪽으로 이동한다.
  • 한 위치를 오른쪽으로 이동한다.
  • 현재 위치에서 기호를 읽으십시오.
  • 현재 위치에서 0 인쇄
  • 현재 위치에서 1을 인쇄하십시오.
  • Corrado BöhmGiuseppe Jacopini의 통찰력: 컴퓨터가 "무엇이든"[55] 하기 위해 필요한 이러한 행동(더 복잡한 행동들에 포함)을 결합하는 방법은 세 가지뿐이다.
어떤 기본 명령어 집합이라도 보다 복잡한 명령어 집합으로 결합하려면 오직 세 가지 규칙만 필요하다.
  • sequence(시퀀스): 먼저 이렇게 하고, 그 다음에 그렇게 한다.
  • 선택: 이 경우 이 작업을 수행하고, 그렇지 않은 경우
  • 반복: 이러쿵저러쿵 말이지만, 이렇게 해라.
보엠과 자코피니의 통찰의 세 가지 규칙은 goto(구조화된 프로그래밍보다 더 초보적이라는 의미)를 사용함으로써 더욱 단순화할 수 있다는 점에 유의한다.

프로그래밍 패러다임

프로그래밍 언어는 다른 방식으로 다른 작업을 수행하는 데 사용될 수 있다. 일반적인 프로그래밍 패러다임에는 다음이 포함된다.

  • 기능 프로그래밍, 컴퓨터 프로그램의 구조와 요소를 구축하는 스타일로서 계산을 수학적 기능의 평가로 취급하고 상태와 변이 가능한 데이터를 회피한다. 선언적 프로그래밍 패러다임으로, 프로그래밍은 문장이 아닌 표현이나 선언으로 한다는 뜻이다.[56]
  • 명령형 프로그래밍, 프로그램의 상태를 바꾸는 문장을 사용하는 프로그래밍 패러다임.[57] 자연 언어의 명령 무드가 명령을 표현하는 것과 거의 같은 방식으로, 명령 프로그램은 컴퓨터가 수행할 명령으로 구성된다. 명령형 프로그래밍은 프로그램이 어떻게 작동하는지 설명하는 데 초점을 맞춘다.
  • 객체 지향 프로그래밍은 데이터를 포함할 수 있는 "객체" 개념에 기초한 프로그래밍 패러다임으로, 흔히 속성으로 알려진 필드의 형태와 종종 방법이라고 알려진 절차 형태의 코드. 오브젝트의 특징은 오브젝트의 프로시저가 오브젝트와 연관된 오브젝트의 데이터 필드에 접근하고 종종 수정할 수 있다는 것이다. 그러므로 객체 지향 컴퓨터 프로그램은 서로 상호 작용하는 객체들로 만들어진다.[58]
  • "서비스"를 컴퓨터 작업의 단위로 사용하는 프로그래밍 패러다임인 서비스 지향 프로그래밍은 통합 비즈니스 애플리케이션과 미션 크리티컬 소프트웨어 프로그램을 설계하고 구현한다.

많은 언어가 여러 패러다임에 대한 지원을 제공하므로, 기술적 능력보다는 스타일의 문제로 구별된다.[59]

학계

회의는 컴퓨터 과학 연구에 중요한 행사다. 이들 학회 기간에는 민관 연구자들이 최근 연구한 내용을 발표하고 만난다. 대부분의 다른 학문 분야와 달리 컴퓨터 과학에서는 회의 논문의 위상이 저널 출판물보다 더 크다.[60][61] 이에 대해 제안된 설명 중 하나는 상대적으로 새로운 분야를 빨리 발전시키기 위해서는 저널보다는 컨퍼런스에서 더 잘 다루는 과제인 결과의 신속한 검토와 배포가 필요하다는 것이다.[62]

교육

컴퓨터 사이언스라는 거의 동의어로 알려진 컴퓨터 사이언스일괄 처리, 민감한 카드, 종이 테이프표시하던 시절부터 영국 학교에서 가르쳐 왔지만 대개 몇몇 선택된 학생들에게 가르쳐 왔다.[63] 1981년, BBC는 마이크로 컴퓨터와 교실 네트워크를 제작하였고, GCE O급 학생(11~16세), A급 학생에게 컴퓨터 과학이 보편화되었다. 그것의 중요성은 인식되었고, 그것은 국가 커리큘럼의 필수적인 부분이 되었다. 키 스테이지 3과 4의 경우. 2014년 9월에 그것은 4세 이상의 모든 학생들에게 자격이 주어졌다.[64]

미국은 1만4000개 학군이 교육과정을 결정하는 등 공급이 끊겼다.[65] 컴퓨터기계협회(ACM)와 컴퓨터과학교사협회(CSTA)의 2010년 보고서에 따르면 50개 주 중 14개 주만이 고교 컴퓨터공학에 대한 유의미한 교육기준을 채택했다.[66]

이스라엘, 뉴질랜드, 그리고 한국은 그들의 국가 중등교육 커리큘럼에 컴퓨터 과학을 포함시켰고,[67][68] 다른 몇몇 나라들도 그 뒤를 따르고 있다.[69]

참고 항목

메모들

  1. ^ 1851년
  2. ^ "새 엔진에 펀치된 카드를 도입하는 것은 드럼보다 더 편리한 제어의 형태로 중요했을 뿐만 아니라, 프로그램이 이제 무한정 될 수 있고, 손으로 기계를 세팅할 때 오류를 도입할 위험 없이 저장되고 반복될 수 있었기 때문이며, 또한 Babb를 결정짓는 역할을 했기 때문에 중요했다.그가 정말로 새로운 것, 정교한 계산 기계 이상의 것을 발명했다는 나이대의 느낌." 브루스 콜리어, 1970년
  3. ^ 이 인용문의 내역은 Wikiquote의 "컴퓨터 과학" 항목을 참조하십시오.
  4. ^ 컴퓨터가 할 수 없는 일이 있기 때문에 "무엇이든"이라는 단어는 따옴표로 쓰여 있다. 한 가지 예는 임의로 주어진 컴퓨터 프로그램이 결국 끝나거나 영원히 실행될 것인가 하는 질문에 답하는 것이다(할링 문제).

참조

  1. ^ "What is Computer Science? - Computer Science. The University of York". www.cs.york.ac.uk. Retrieved June 11, 2020.
  2. ^ "WordNet Search—3.1". Wordnetweb.princeton.edu. Retrieved May 14, 2012.
  3. ^ "Definition of computer science Dictionary.com". www.dictionary.com. Retrieved June 11, 2020.
  4. ^ Harel, David. (2014). Algorithmics The Spirit of Computing. Springer Berlin. ISBN 978-3-642-44135-6. OCLC 876384882.
  5. ^ "COMPUTER SCIENCE: THE DISCIPLINE" (PDF). May 25, 2006. Archived (PDF) from the original on May 25, 2006. Retrieved January 4, 2021.
  6. ^ The MIT Press. "What Can Be Automated? Computer Science and Engineering Research Study The MIT Press". mitpress.mit.edu.
  7. ^ "Charles Babbage Institute: Who Was Charles Babbage?". cbi.umn.edu. Retrieved December 28, 2016.
  8. ^ "Ada Lovelace Babbage Engine Computer History Museum". www.computerhistory.org. Retrieved December 28, 2016.
  9. ^ "Wilhelm Schickard – Ein Computerpionier" (PDF) (in German).
  10. ^ Keates, Fiona (June 25, 2012). "A Brief History of Computing". The Repository. The Royal Society.
  11. ^ "Science Museum, Babbage's Analytical Engine, 1834-1871 (Trial model)". Retrieved May 11, 2020.
  12. ^ 위로 이동: Anthony Hyman (1982). Charles Babbage, pioneer of the computer.
  13. ^ "A Selection and Adaptation From Ada's Notes found in Ada, The Enchantress of Numbers," by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA". Archived from the original on February 10, 2006. Retrieved May 4, 2006.
  14. ^ "The John Gabriel Byrne Computer Science Collection" (PDF). Archived from the original on April 16, 2019. Retrieved August 8, 2019.
  15. ^ 버나드 코헨(Bernard Cohen, p.44(2000)은 "이런 의미에서 아이켄은 펀치된 카드 사용, 숫자 데이터 축적, 한 레지스터에서 다른 레지스터로 숫자 데이터 전송을 포함한 IBM이 필요했다"고 말했다.
  16. ^ 브라이언 랜델, 1975년 187 페이지
  17. ^ 컴퓨터 기계 협회(ACM)는 1947년에 설립되었다.
  18. ^ "IBM Archives: 1945". Ibm.com. Retrieved March 19, 2019.
  19. ^ "IBM100 – The Origins of Computer Science". Ibm.com. September 15, 1995. Retrieved March 19, 2019.
  20. ^ 위로 이동: Denning, Peter J. (2000). "Computer Science: The Discipline" (PDF). Encyclopedia of Computer Science. Archived from the original (PDF) on May 25, 2006.
  21. ^ "Some EDSAC statistics". University of Cambridge. Retrieved November 19, 2011.
  22. ^ "Computer science pioneer Samuel D. Conte dies at 85". Purdue Computer Science. July 1, 2002. Retrieved December 12, 2014.
  23. ^ 위로 이동: Tedre, Matti (2014). The Science of Computing: Shaping a Discipline. Taylor and Francis / CRC Press.
  24. ^ 위로 이동: Louis Fine (1959). "The Role of the University in Computers, Data Processing, and Related Fields". Communications of the ACM. 2 (9): 7–14. doi:10.1145/368424.368427. S2CID 6740821.
  25. ^ "Stanford University Oral History". Stanford University. Retrieved May 30, 2013.
  26. ^ 도널드 크누스(1972년). "조지 포사이스와 컴퓨터 과학의 발전" 통신, ACM 2013년 10월 20일 웨이백 머신보관
  27. ^ Matti Tedre (2006). "The Development of Computer Science: A Sociocultural Perspective" (PDF). p. 260. Retrieved December 12, 2014.
  28. ^ Peter Naur (1966). "The science of datalogy". Communications of the ACM. 9 (7): 485. doi:10.1145/365719.366510. S2CID 47558402.
  29. ^ Weiss, E.A.; Corley, Henry P.T. "Letters to the editor". Communications of the ACM. 1 (4): 6. doi:10.1145/368796.368802. S2CID 5379449.
  30. ^ ACM 2(1) 통신:p.4
  31. ^ IEEE 컴퓨터 28(12): 페이지 136
  32. ^ P. Munier-Kun, L'Informatique in France, de la2차 게릴라플랜 캘커울. L'emergence dune science, Paris, PUPS, 2010, ch. 3, 4.
  33. ^ Groth, Dennis P. (February 2010). "Why an Informatics Degree?". Communications of the ACM. Cacm.acm.org.
  34. ^ Tedre, M. (2011). "Computing as a Science: A Survey of Competing Viewpoints". Minds and Machines. 21 (3): 361–387. doi:10.1007/s11023-011-9240-4. S2CID 14263916.
  35. ^ 파르나스, DL(1998년)."소프트웨어 공학 프로그램이 아닌 컴퓨터 과학 프로그램".소프트웨어 공학 실록.6:19–37. doi:10.1023/A:1018949113292.S2CID 35786237., 19:"오히려 이상 컴퓨터 과학의로서 소프트웨어 공학을 처리하면, 나는 집합의 요소, 토목, 기계 공학, 화학 공학과, 전기 공학,[…]로 대한다면"p..
  36. ^ 위로 이동: https://plato.stanford.edu/entries/computer-science/#에피스StatCompScie
  37. ^ Wegner, P. (October 13–15, 1976). Research paradigms in computer science—Proceedings of the 2nd international Conference on Software Engineering. San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA.
  38. ^ Denning, P.J.; Comer, D.E.; Gries, D.; Mulder, M.C.; Tucker, A.; Turner, A.J.; Young, P.R. (January 1989). "Computing as a discipline". Communications of the ACM. 32: 9–23. doi:10.1145/63238.63239. S2CID 723103.
  39. ^ Eden, A.H. (2007). "Three Paradigms of Computer Science" (PDF). Minds and Machines. 17 (2): 135–167. CiteSeerX 10.1.1.304.7763. doi:10.1007/s11023-007-9060-8. S2CID 3023076. Archived from the original (PDF) on February 15, 2016.
  40. ^ Turner, Raymond; Angius, Nicola (2019). "The Philosophy of Computer Science". In Zalta, Edward N. (ed.). The Stanford Encyclopedia of Philosophy.
  41. ^ 위로 이동: "Computer Science as a Profession". Computing Sciences Accreditation Board. May 28, 1997. Archived from the original on June 17, 2008. Retrieved May 23, 2010.
  42. ^ Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council (2004). Computer Science: Reflections on the Field, Reflections from the Field. National Academies Press. ISBN 978-0-309-09301-9.
  43. ^ "CSAB Leading Computer Education". CSAB. August 3, 2011. Retrieved November 19, 2011.
  44. ^ 클레이 수학 연구소 P = 2013년 10월 14일 웨이백 기계보관된 NP
  45. ^ P. Collins, Graham (October 14, 2002). "Claude E. Shannon: Founder of Information Theory". Scientific American. Retrieved December 12, 2014.
  46. ^ 반남 흐린; 블라딕 크리노비치; 송삭 스리분치타; 2012. 응용에 의한 계량법의 불확실성 분석 스프링거 사이언스 & 비즈니스 미디어. 63페이지. ISBN 978-3-642-35443-4
  47. ^ 필립 A. 2010년 라플란테 소프트웨어 엔지니어링 백과사전 3권 세트(인쇄). CRC 309페이지. ISBN 978-1-351-24926-3.
  48. ^ A. Thisted, Ronald (April 7, 1997). "Computer Architecture" (PDF). The University of Chicago.
  49. ^ 왕자춘, 2017년. 실시간 임베디드 시스템. 와일리, 12페이지 ISBN 978-1-119-42070-5
  50. ^ Gordana Dodig-Crnkovic; Rafaela Giovagonoli; 2013. 컴퓨팅 특성: 튜링 백주년 기념관. 스프링거 사이언스 & 비즈니스 미디어 247. ISBN 978-3-642-37225-4.
  51. ^ 사이먼 엘리아스 비브리; 2018. 미래의 스마트 지속 가능한 도시: 지속 가능성 향상을 위한 빅 데이터 분석 및 컨텍스트 인식 컴퓨팅의 미개척 가능성. 스프링거 74쪽 ISBN 978-3-319-73981-6
  52. ^ 2016년 무하마드 H. 라시드 파워 일렉트로닉스와 전력용 스파이스(SPEX for Power Electronics and Power. CRC 프레스. 페이지 6. ISBN 978-1-4398-6047-2.
  53. ^ Rapaport, William J. (September 20, 2013). "What Is Computation?". State University of New York at Buffalo.
  54. ^ B. 잭 코프랜드, 2012. 앨런 튜링의 전자 브레인: 세계에서 가장 빠른 컴퓨터인 ACE를 만들기 위한 투쟁 OUP 옥스퍼드 107. ISBN 978-0-19-960915-4.
  55. ^ 찰스 W. 허버트, 2010년. 앨리스 2.2를 이용한 프로그래밍에 대한 소개 첸가지 학습 122 페이지 ISBN 0-538-47866-7
  56. ^ Rezaul Karim; Sridhar Alla; 2017년. Scala 및 Spark for Big Data Analytics: 기능성 프로그래밍, 데이터 스트리밍 및 머신러닝의 개념을 살펴보십시오. Packt 출판사 87호. ISBN 978-1-78355-050-0.
  57. ^ 렉스 쉬한, 2017년 Go에서 기능 프로그래밍 학습: Go에서 기능 프로그래밍을 사용하여 응용 프로그램에 접근하는 방법을 변경하십시오. Packt 출판사 16페이지. ISBN 978-1-78728-604-7.
  58. ^ 에벨리오 파딜라, 2015년 변전소 자동화 시스템: 설계 및 구현. 와일리 245페이지 ISBN 978-1-118-98730-8
  59. ^ "Multi-Paradigm Programming Language". developer.mozilla.org. Mozilla Foundation. Archived from the original on August 21, 2013.
  60. ^ Meyer, Bertrand (April 2009). "Viewpoint: Research evaluation for computer science". Communications of the ACM. 25 (4): 31–34. doi:10.1145/1498765.1498780. S2CID 8625066.
  61. ^ Patterson, David (August 1999). "Evaluating Computer Scientists and Engineers For Promotion and Tenure". Computing Research Association.
  62. ^ Fortnow, Lance (August 2009). "Viewpoint: Time for Computer Science to Grow Up". Communications of the ACM. 52 (8): 33–35. doi:10.1145/1536616.1536631.
  63. ^ Burns, Judith (April 3, 2016). "Computer science A-level 1970s style". Retrieved February 9, 2019.
  64. ^ Jones, Michael (October 1915). "Developing a Computer Science Curriculum in England: Exploring Approaches in the USA" (PDF). Winston Churchill Memorial Trust. Retrieved February 9, 2019.
  65. ^ "Computer Science: Not Just an Elective Anymore". Education Week. February 25, 2014.
  66. ^ Wilson, Cameron; Sudol, Leigh Ann; Stephenson, Chris; Stehlik, Mark (2010). "Running on Empty: The Failure to Teach K–12 Computer Science in the Digital Age" (PDF). ACM.
  67. ^ "A is for algorithm". The Economist. April 26, 2014.
  68. ^ "Computing at School International comparisons" (PDF). Retrieved July 20, 2015.
  69. ^ "Adding Coding to the Curriculum". The New York Times. March 23, 2014.

추가 읽기

개요

  • Tucker, Allen B. (2004). Computer Science Handbook (2nd ed.). Chapman and Hall/CRC. ISBN 978-1-58488-360-9.
    • "70장 이상의 장 안에서, 한 장 새로 만들거나 현저하게 개정할 때마다, 사람들은 상상할 수 있는 어떤 종류의 정보와 참고자료도 찾을 수 있다. [……] 전체적으로 컴퓨터 사이언스에는 110개의 조사 기사[……]로 2.5 킬로그램짜리 clopaedia에서는 찾아볼 수 없는 것이 전혀 없다.(크리스토프 마이넬, 젠트랄블라트 MATH)
  • van Leeuwen, Jan (1994). Handbook of Theoretical Computer Science. The MIT Press. ISBN 978-0-262-72020-5.
    • "[……] 이 세트는 교수 및 연구 모두를 지원하는 […]에서 [과학 컴퓨터 과학] 커뮤니티에 가장 독특하고 가장 유용할 수 있다. 이 책들은 단순히 이 분야들 중 하나에 대한 이해를 얻고자 하거나, 주제에서 연구에 참여하기를 원하는 사람, 또는 그들의 주요 전문 분야 밖에서 그들이 가르치고 있는 주제에 대한 시기적절한 정보를 찾고자 하는 강사들에 의해 사용될 수 있다."(Rocky Ross, SIGACT News)
  • Ralston, Anthony; Reilly, Edwin D.; Hemmendinger, David (2000). Encyclopedia of Computer Science (4th ed.). Grove's Dictionaries. ISBN 978-1-56159-248-7.
    • "1976년 이후, 이것은 컴퓨터, 컴퓨터, 컴퓨터 과학에 관한 최종적인 참고 작업이 되었다. […] 알파벳 순으로 배열되어 광범위한 과목 영역으로 분류되며, 출품작에는 하드웨어, 컴퓨터 시스템, 정보 및 데이터, 소프트웨어, 컴퓨팅 수학, 계산 이론, 방법론, 응용 프로그램 및 컴퓨팅 환경이 포함된다. 편집자들은 역사적 관점과 실질적인 참고 정보를 혼합하는 훌륭한 일을 해냈다. 백과사전은 대부분의 공립 및 학술 도서관 참고자료집에 필수적이다."(Joe Acardin, North Illinois Univ, Chicago)
  • Edwin D. Reilly (2003). Milestones in Computer Science and Information Technology. Greenwood Publishing Group. ISBN 978-1-57356-521-9.

선별된 문헌

기사들

  • 피터 J. 데닝 컴퓨터 과학은? , ACM의 통신, 2005년 4월.
  • Peter J. Denning, Computer Science Education 기술 심포지엄, 2004.
  • 컴퓨터 과학에 대한 연구 평가, Informatics Europe 보고서 웨이백머신에 2017년 10월 18일 보관. 저널 버전 단축: 2009년 4월 ACM의 통신에서 컴퓨터 과학에 대한 연구 평가인 Bertrand Meyer, Christine Choffy, Jan van Leeuwen 및 Jorgen Staunterp, Communities of ACM, vol. 52, no. 4, 페이지 31–34.

커리큘럼 및 분류

외부 링크

서지학 및 학술 검색 엔진

전문기관

미스크