2010년 9월 14일 화요일

1. IT를 빛낸 위인 Blaise Pascal

블레이즈 파스칼 Blaise Pascal (1623 .6 .19~ 1662 .8 .19)

1623년 : 프랑스 클레르몽페랑 출생
1635년 : 유클리드 기하학 정리
1640년 : 파스칼의 정리 발표
1642년 : 세계 최초의 계산기 ‘파스칼리느’ 발명
1646년 : 얀세니즘 개혁운동 참가
1658년 : 적분법 창안
1662년 : 39살 젊은 나이로 생 마감
프랑스의 수학자·물리학자·철학자·종교사상가. 16세에 ‘파스칼의 정리’를 포함한 <원추 곡선론>을 발표하여 수학자들의 주목을 받았다. 그 뒤 산꼭대기에서의 실험으로 대기의 압력을 확인하였고, 확률론을 연구하여 <파스칼의 삼각형>을 썼으며, 적분의 선구자가 되었다. 또한, 유체의 압력 전파에 관한 ‘파스칼의 원리’를 발견, <유체의 평형>을 발표했으며, 오늘날의 계산기의 원조가 된 가감산기를 고안하는 등 수학 물리학에 크게 이바지하였다. 1654년부터 종교에 깊은 관심을 보여 수도원에서 성경과 아우구스티누스를 연구하고, 인간성의 모순을 비판하기도 하였다. 또한, 예수회와 신학 논쟁을 벌여 <시골 친구에게 부치는 편지(프로방샬)>란 제목으로 익명의 서한을 간행하여 일대 센세이션을 일으키기도 하였다. 종교에 관한 만년의 유고는 뒤에 <팡세>로 출판되었는데, 그 속에 “인간은 생각하는 갈대”라는 유명한 문구가 있다.
파스칼은 액체에 가해진 힘은 모든 방향으로 전해진다는 ‘파스칼의 원리’로 과학적 업적을 세운 사람이다. 뿐만 아니고, 그의 아버지를 위해 만들었다는 계산기 ‘파스칼리노’는 컴퓨터 역사에서 빠질 수 없는 중요한 업적이다.

파스칼의 삼각형

파스칼의 삼각형은 수학에서 이항계수를 삼각형 모양의 기하학적 형태로 배열한 것이다. 이것은 블레즈 파스칼에 의해 이름 붙여졌으나 이미 수세기 전에 다른 사람들에게서 연구된 것이다.
단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다.
먼저 첫 번째 줄에는 숫자 1을 쓴다.
그 다음 줄을 만들려면, 바로 위의 왼쪽 숫자와 오른쪽 숫자를 더한다. 예를 들어, 네 번째 줄의 숫자 1과 3을 더하여 다섯 번째 줄의 4가 만들어진다.
수학적으로, 이 구조는 파스칼의 법칙을 사용하여 아래와 같이 표현한다. n 번째 줄의 k 번째 값을 ank라고 하면, 이 값은
an1 = 1
ann = 1
ank = an − 1k − 1 + an − 1k (n,k > 1)
으로 정의된다. 이때,
라는 성질에 의해
가 성립한다. 즉, n 번째 열의 k 번째 값은 과 같은 값을 가진다.
파스칼의 삼각형은 더 높은 차원으로 확장하여 일반화할 수 있다. 3차원 형태는 파스칼의 피라미드 또는 파스칼의 4면체로 부른다. 더 높은 차원의 유사체를 일반적으로 총칭하여 "파스칼의 단체"라고 일컫는다. 피라미드, 사면체, 단체(單體)를 참조하라.
다음은 14줄의 파스칼의 삼각형
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1
1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1

파스칼의 원리

유체(액체 . 기체)의 압력에 관한 법칙. 1653년에 프랑스의 B. 파스칼에 의해 발견된 것으로, 밀폐된 용기 안에 있는 정지 유체의 일부에 압력을 가하면 그 압력이 유체 내의 모든 곳에 같은 크기로 전달된다는 원리이다. 즉 밑넓이 A인 피스톤과 밑넓이 B인 피스톤을 연결하고 A에 P의 압력을 가하면 B에는 B/A*P가 되는 힘이 작용한다. 유압기, 수압기, 공기 제동기, 증기 해머, 압축 공기 해머 등은 모두 이 원리를 응용한 것이다.

파스칼의 계산기

지방의 세금공무원이었던 아버지를 위해 둔 프랑스 수학자 파스칼(Blaise Pascal)은 세금 세금계산서의 긴 항목을 더해야만 하는 지루한 작업에서 아버지의 수고를 덜어주고자 19세때 나이에 1642년 계산기구를 만들었다.
파스칼린(pascalin)으로 불리던 이 계산기는 0에서 9까지의 숫자가 톱니바퀴의 회전으로 돌아가면서, 더하기와 빼기, 자리올림을 할 수 있었던 최초의 기계식 계산기였다. 이 계산기는 구두 상자만한 크기의 단순한 기계였지만 이후의 계산기 발달에 세 가지 중요한 원칙을 세웠다.
첫째 자리올림은 자동으로 수행해야 한다.
둘째 뺄셈은 다이얼을 역으로 회전시킴으로써 수행한다.
세째 곱셈은 덧셈의 반복적인 수행으로 가능하다.
파스칼의 계산기는(나중에 여러 종류가 개발됨) 일을 능률적으로 처리할 수 있었지만 덧셈과 뺄셈이외의 연산은 할 수가 없었기 때문에 큰 관심을 끌지 못했다.
이를 해결한 사람이 바로 독일의 라이프니츠(Gottfried Wilhelm Von Leibnitz, 1646-1716)이다. 라이프니츠는 1672년 파리에 머물면서 동료 수학자인 호이겐스와 천문학적인 숫자를 계산할 수 있는 계산기를 발명하고자 연구를 시작하게된다.
독일의 수학자였던 라이프니쯔는 덧셈, 뺄셈에 의한 반복을 통해서 곱셈과 나눗셈 그리고 평방근을 구할 수 있는 기계를 만들었는데, 이것은 오늘날 컴퓨터에 2진수를 도입하는데 큰 영향을 준 가산기이다.
본질적으로는 파스칼린과 같은 톱니바퀴식이었지만, 스탭 실린더 (stepped cylinder)라는 9개의 이를 가진 커다란 기어들을 사용한 것이 라이프니쯔 계산기의 가장 차별화 되는 요소였다.
각각의 기어는 크기가 달라, 보다 작은 기어들이 그 위에 위치하며, 각각의 기어들은 피승수를 표시하고, 커다란 기어의 대응되는 숫자에 맞춰질 수 있도록 위치해 있게 했다. 커다란 기어들 각각의 완전한 회전 한번은 일단 피승수로 기록되며, 승수는 큰 기어들의 회전수로 표시되는것이었다.
그러나, 기계는 완벽하게 작동을 했었지만 그 결과가 대부분 믿을 수 없는 수치였기 때문에 오랫동안 사용하기에는 무리였을 따랐고 사용법도 불편했다.
이러한 라이프니츠의 구상은 천공카드 시스템을 개발한 홀러리스를 거쳐 현대 전자식 컴퓨터의 기초가 된다.

2010년 9월 5일 일요일

Computer Science illuminated..........

아직 생소하고 낯이 익지 않은 컴퓨터 과학 개론 과목이지만 이번 과제를 통해서 대략적인 개요와 내용을 파악할 수 있기를 바란다.



1. Laying the Groundwork

- 1장은 컴퓨터 전반에 관한 내용이다. 컴퓨터 시스템 계층에 대해서 다루고 있고, 하드웨어와 소프트웨어에 대해서 다루고 있다. 아직 컴퓨터에 대한 지식이 미숙한 나에게 꼭 집고 넘어가야 할 장이 될 듯 하다. 컴퓨터 하드웨어와 소프트웨어의 역사를 배울 수 있고, 더 나아가 컴퓨터를 사용하는 데에 있어 유저의 역할과 프로그래머의 역할에 대해서도 다루고 있다.
이는 컴퓨터 프로그래밍과 데이터에 관한 공부에 있어서도 기본이 될만한 내용이다.

2. The Information Layer

- 2장은 chapter2, 3으로 이루어져 있으며 1장에 비해서는 자세한 내용으로 들어간다. chapter2에서는 수의 범주 구분, 표기법의 위치, 컴퓨터 하드웨어가 나타내고 정보를 관리하는 방법인 2진수에 관해서 다룬다. 2진수는 C 프로그래밍에서도 중요하게 다루어진 바 있고, 컴퓨터를 이해 하는 데 있어 필수적이라고 생각된다. 또한 chapter3에서는 데이터와 압축에 관해서 다룬다. 아날로그 데이터와 디지털 데이터의 구분, 데이터 압축과 압축률, asc2코드, 유니코드, 텍스트 압축 등 데이터의 표현에 관한 내용이다. 이는 데이터 구조 및 실습 수업과 연관이 될 것으로 생각된다.

3. The Hardware Layer

- 3장은 제목에서 알 수 있듯이, 하드웨어에 관해 다룬다. 먼저 chapter4 에서는 기본적인 게이트들의 작동, 트랜지스터에 의한 게이트의 작동, 기본적 게이트 들의 서킷과 결합 등 컴퓨터가 어떻게 전기적 신호를 사용하는 지에 대해 알 수 있다. 그리고 다음 chapter5 에서는 컴퓨터를 구성하고 있는 주요한 구성요소들에 대해 다룬다. 3장을 이해하면 컴퓨터에 대해 한층 더 깊은 이해가 가능할 것이다.

4. The Programming Layer

- 다른 장이 1~3개의 chapter로 이루어져 있는 반면, 4장은 chapter 6~ 9로 이루어져 있다. 즉 다른 장에 비해서 분량이 많은 장이다. 그만큼 중요하다는 의미와 함께 깊은 이해가 필요한 단원일 것으로 예측된다. 먼저 chapter6은 컴퓨터 시스템의 이용 방법, 프로그래밍 언어, assembly language, 알고리즘을 표현하는 pseudocode의 개념을 다룬다. 그리고 chapter7~9는 각각 문제 해결과 알고리즘, abstract data types, high-level language 등을 다룬다. 프로그래밍에 대한 자세한 이해를 요구하는 것으로 보아 c언어와 java 등 프로그래밍 언어와 밀접한 연관이 있을 것으로 생각된다.

5. The Operating Systems Layer

- 5장은 운영 체제 관련 단원으로서, 컴퓨터 운영체제에 대한 이해, CPU, 메인 메모리에 대해 다룬다. 또한 특정한 데이터를 조직적으로 제공하는 것을 가능하게 하는 file system과 directory에 대해서 자세히 다루고 있다.

6. The Applications Layer

- 6장은 실질적으로 컴퓨터의 적용에 대해서 다룬다. 먼저 다양한 application system의 작동 방법, general information system에 대해 밝히고, 미래 컴퓨터에게 필수적이고 핵심적인, 기계를 인간화 시켜줄 인공 지능(artificial intelligence)에 대해서 다룬다. 그 이후에는 다양한 컴퓨터의 적용 사례를 살펴본다. 예로서 시뮬레이션이나 그래픽, 게임 등이 있다. 이 장을 공부한다면 프로그래밍을 어떻게 적용할 수 있는지 알 수 있을 것 같다.

7. The Communications Layer

- 7장은 현재 우리가 사용하고 있는 네트워크에 대해 다룬다. 편리하게 사용하고는 있지만, 그것의 근본적 원리는 알지 못하는데, 이 단원을 통해 배울 수 있을 거라 생각한다. 먼저 데이터의 이동을 가능하게 하는 컴퓨터 네트워크를 이용한 의사소통에 대해 다룬다. 또한 네트워크 의사소통을 편리하게 해주는 www (world wide web) 의 발달과 함께, web을 더욱 생산적으로 만들어 줄 수 있는 기술에 대해서 배운다. 이 단원은 컴퓨터에 대해 많은 이해가 이루어 진 이후에 중요하게 작용할 것으로 생각된다.

8. In Conclusion

- 컴퓨터 없는 세상은 상상할 수 없지만, 컴퓨터에게도 한계가 있다. 이 단원에서는 컴퓨터가 할 수 없는 것들, 즉 하드웨어, 소프트웨어와 그들이 가진 한계를 규명하고, 컴퓨터의 한계점을 밝히는 단원이다.


개략적으로나마 8개의 장을 살펴보았는데, 앞으로 배울 내용에 대한 기대보다는, 걱정이 앞서는게 사실이다. 하지만 이 책의 내용들을 습득하다 보면 컴퓨터에 대해 전반적으로 잘 알게 될 수 있을 것이라 믿는다. 어렵겠지만, 열심히 따라가 볼 생각이다.