|
생능출판 / 김현철, 김수환 지음 늘 컴퓨터를 사용하면서 가끔씩 어떻게 컴퓨터가 만들어지고 동작을 하고 수 많은 일들을 처리할 수 있게 해주는지 무척 궁금했습니다.
|
|
하나의 계산을 완료하기 위해 매우 긴시간을 들여야 했던 커다란 덩치의 수퍼컴퓨터가 나온 것은 그리 오래 전 일이 아니다. 내 손안에 딱 들어오는 신박한 기기가 이것저것 내 이야기를 들어주는 그런 세상이 온지도 겨우 십여년 사이의 일이고 말이다. 그러니 우리가 지금 더더욱 컴퓨터과학에 주목해야하는 것인지도 모르겠다. 컴퓨터와 인공지능에 둘러싸여 편리한 삶을 영위하는 우리지만, 그 편리함을 누리는 것이에 그치는 것이 아니라 그 편리함을 만들어 내도록 컴퓨터 과학을 활용할 줄 아는 능력이 필요한 시대이다. 그래서 하버드대 학생들이 컴퓨터과학을 배우는 것, 아닐까? ^^
이 책은 컴퓨터과학 분야를 전공하고 해당 분야에서 활발한 활동을 해오고 계신 두 분이 쓰셨다. 일반인은 물론 청소년들까지 모두 쉽고 재미나게 컴퓨터과학에 대해 이해할 수 있도록 쓰셨다니 더욱 궁금했던 것 같다. 나같은 문과형에겐 그리 녹록치 않은 분야이니.. ㅎㅎ
총 13장으로 나누어 컴퓨터과학에 대해 쓰고 있는데, 먼저 컴퓨터가 무엇인지 어떠한 형태로 작동하는지에 대해 알아본다. 그렇게 컴퓨타가 무엇인지부터 제대로 짚은 뒤에 컴퓨터 코드에 대해 이야기한다. 문자와 이미지, 숫자 등을 표현하는 방법, 즉 코딩 방법에 대해 알려주고, 컴퓨터가 좋아하는 구조화에 대한 것도 알 수 있었다. 장마다 도입부가 있는데, 여러가지 그림이나 사진, 영화같은 예를 들어 설명해주고 문제제기를 통해 어떤 것을 알아야 하는지 생각하며 내용을 읽게 되니 한결 쉽게 설명을 받아들이고 이해하게 되는 것 같다. 그 외에도 컴퓨터를 활용하고 코딩을 하는데 있어 중요한 알고리즘에 관한 내용도 세세하세 살펴볼 수 있었다. 과제를 완수하기 위해 필요한 알고리즘이 여러가지 형태가 존재한다는 것을 알고나니 더욱 흥미로워지기도 했다. 각 장마다 도입이 있듯이 정리까지 깔끔히 되어 있는 것도 이책의 장점인 것 같다. 담겨진 내용을 3~5 문장들로 정리해 놓으니 더욱 도움이 되는 것 같다. 마지막은 역시나 인공지능에 관한 이야기로 마무리가 된다. 저자는 머리말에서 '컴퓨터과학은 인문학이다'라는 말을 농담처럼 자주한다고 했다. 과학과 공학의 지식과 방법들을 통해 인간과 사회의 문제를 해결하는 학문이기 때문이라고 한다. 말 그대로 이미 컴퓨터 과학은 우리 삶에서 배제할 수 없는 중요한 부분이 되었다. 앞으로는 더욱 그러하겠지... 물론 그 결과가 어떤 형태로 다가올지 우리는 아직 모른다. 스티븐호킹의 말처럼 재앙이 될지도 모를일이고... 그러니 더욱 제대로 아는 이들이 많아져야 하는 것 아닐까... 우리가 살아갈 미래의 삶을 설계하는 일이 될테니까 말이다. [이 글은 출판사로부터 도서를 협찬받아 주관적인 견해에 의해 작성했습니다.]
|
|
워낙 컴퓨터 관련 책들이 잘 나오는 생능출판사 책이라서 이번에도 많은 기대를 했답니다. 컴퓨터 과학에 대해서 이야기는 많이 들어봤지만 어떤 내용들이 소개되는지, 그리고 또 컴퓨터 과학을 많이 배운다는데 어떤 것들을 배우는지 참 궁금했었답니다. 이 책은 컴퓨터 과학에 대해서 전반적인 이야기를 모두 다루고 있는데요. 정말 누구나 쉽게 배울 수 있도록 설명되어진 책이랍니다.
컴퓨터 과학책이라고하면 조금은 딱딱한 문체와 어려운 이야기가 생각나는데요. 이 책은 정말 옆에서 누군가가 동화를 들려주는 것처럼 하나하나 이야기 들려주는 스타일로 되어 있어서 누구나 읽기에 편하게 되어 있답니다. 다루고 있는 내용은 컴퓨터 과학의 어려울 수 있는 부분이지만, 참 쉽게 전달하고 있다는 것이 바로 이 책의 장점이랍니다.
그래서 이제 막 컴퓨터를 배우기 시작한 분들에게 더 추천하고 싶은 책이랍니다. 처음에는 정보는 무엇인지 데이터는 무엇인지 컴퓨터의 기본 개념에 대하여 설명하고 있답니다. 그리고 이제 컴퓨터가 데이터를 처리하는 방법 그리고 디지털 코드에 대하여 그림으로 친절하게 설명해준답니다.
그리고 제가 제일 관심있게 본 부분은 바로 알고리즘 부분이었는데요. 알고리즘은 많이 들어보았지만 조금 어려운 개념이었는데요. 여러가지 알고리즘을 쉽게 풀어서 설명해준답니다. 그리고 단순히 개념 설명으로 끝나는 것이 아니라 프로그래밍의 코드까지 포함되어 있답니다.
책의 가장 마지막에는 요즘 가장 큰 화두가 아닐까 싶은데요. 인공지능과 앞으로의 미래까지 다루고 있답니다. 이렇게 전체적인 컴퓨터에 대하여 설명해주고 있기에 컴퓨터에 관심이 많은 분들이라면 누구나 재미있게 읽을 수 있는 책이랍니다. |
|
_컴퓨터과학은 사람과 사회를 대상으로 합니다. ..... 인간과 사회의 문제를 해결하는 학문이라고 할 수 있습니다. _
“컴퓨터과학은 인문학이다”는 말을 언급하며, 위와 같이 설명해주고 있다. 그동안은 생각하지 못했던 개념이라 “아하!” 하며 머릿속으로 번쩍 들어오는 바가 있었다. 지금까지 컴퓨터는 기계라고만 생각하고, 어떤 교류 수단으로도 원활하게 사용하고 있었음에도 이런 식으로는 연결을 지어보지 못하고 있었다. 헌데 인문학이고 사람과 사회를 대상으로 하고 관련문제를 해결하는 학문이다고 생각을 바꾸는 순간, 갑자기 편해졌다. 어렵게만 여겨졌던 뭔가가 풀린 기분이 들었다.
이렇게 기분 좋게 읽기 시작한 이 책은, 비전문가인 나 같은 사람도 이해하기 쉬웠다.
컴퓨터 기본 개념의 이해부터 시작해서, 컴퓨터가 사용하는 코드를 아주 친절하게 설명해 주고 있고, 들어만 보았지 막막했던 코딩하는 방법도 원리부터 알려주고 있어서 눈이 번쩍 뜨인 느낌이었다.
산재해 있는 정보를 구조화하는 방법, 관심사를 알아서 자동으로 띄워주는 알고리즘이라는 것이 무엇이고 어떻게 만들어지는지, 그 표기법까지 언급하고 있어서 자칫 너무 겉핥기 식으로 끝나기 쉬운 개론설명에 깊이를 더해주고 있었다. 이런 부분이 있으니 더 알고 싶은 동기가 샘솟는다.
뒤로 가면서 좀 더 수학적인 개념이 생겨났는데 중고등학교 때 배운 함수가 컴퓨터과학에서 쓰이는 방법은 무척 흥미로웠다.
함수 f(x)는 컴퓨터과학에서는 알고리즘(Alg)에 해당되었으며, 함수는 수치로 입력값과 출력값이 표현되지만, 여기의 알고리즘은 그 값들이 수치 뿐만 아니라 우리가 세상에서 접하게 되는 대부분의 정보들이 다 해당된다는 것이 매우 다른 점이였다. 바로 여기에서도 전제를 했던 컴퓨터과학이 인간과 사회문제를 해결하는 학문이다는 내용과도 연결지을 수 있을 것이다.
후반부에서는 AI, 기계학습, 딥 러닝, 슈퍼컴퓨터, 양자컴퓨터에 대해서 설명해주고 있다. 개인적으로 특히 관심있게 읽었던 부분은 양자컴퓨터에 대한 내용이였다. 양자역학은 내 관심사이기도 한데, 흔히 슈외딩거의 고양이 사고 실험으로 설명한다. 이 책에서는 얽힘과 중첩을 중심으로 양자컴퓨터의 기초 원리 정도만 이해할 수 있게 설명하고 있다. 양자컴퓨터에 적용된 내용은 100% 이해하지는 못해서 차분히 관련 내용들을 더 찾아서 읽어봐야겠다.
전공이 아닌데, 어쩌다 웹싸이트 관리를 하게 되어 웹프로그래밍이나 웹디자인에 관심을 가지게 되었다. 헌데 기초적인 관련개념들을 모르다 보니 뭔가를 터득하게 되도 허공에 뜬 기분이였었다. 그리고 관련 전문가분들과 대화를 하게 되더라도 이해가 잘 안 되는 부분들이 있었다. 그런 내게 이 책은 컴퓨터과학에 대한 기초 지식을 이해하기 쉽게 도와주었고, 읽기전과 읽은 후가 확연히 다르다. 이제 좀 더 편하고 친밀한 기분으로 접근할 수 있을 것도 같다.. 물론 갈 길은 멀다 ㅎㅎㅎ
|
|
[처음 떠나는 컴퓨터 과학 산책]은 단순 계산부터 양자 컴퓨터, 인공지능 컴퓨터로 빠르게 발전하고 있는 컴퓨터에 대해서 알고 싶지만 두꺼운 컴퓨터 관련 책들은 시작하기조차 두렵게하는데 이러한 사람들을 위해 컴퓨터와 시스템의 전반적인 기초 내용에 대해 설명한다. 일반인, 중,고등학교 컴퓨터 입문자들을 위한 책으로 어려운 용어와 깊이 들어가는 내용등은 자제하고 필수용어를 풀어서 기본적으로 알아야하는 컴퓨터의 기본이 되는 데이터와 컴퓨터 기능의 원리, 정보를 구조화하는 방법과 중요한 정보의 구조화, 알고리즘 정의, 구조, 종류와 정렬, 함수등에 대해서는 프로그래밍 언어 '파이썬'의 예제로 설명한다. 현재 핫이슈인 인공지능, 머신러닝, 딥러닝과 인공지능의 알고리즘에 대해 살펴보고, 아직 일반화가 되지는 않았지만 빠른 속도로 개발되고 있는 슈퍼 컴퓨터와 양자 컴퓨터의 전망과 미래에 살펴본다. '컴퓨터 과학은 과학, 공학의 지식과 방법을 사용하여 인간과 사회의 문제를 해결하는 학문이기에 인문학.'이라고 말하면서, 이 책을 쓴 목적은 컴퓨팅 사고력이 무엇인지 알고, 스스로 컴퓨팅 사고력을 개발하도록 권하는데 있다. 그 이유는 공학적으로만 인식하던 컴퓨터 과학에 인공지능등의 기능이 많이 도입하면서 인간의 모든 생활에 적용되면서 좀더 인간에게 필요한 것들 즉 인간의 행동과 의사결정등에 관심을 가지고, 인간이 미래에 어떻게 될것인가의 주제가 중요하게 되었다. 인공지능이 가져올 미래는 유토피아? 디스토피아? 산업 자동화로 사라질 고위험군 미국은 전체 직업의 47%, 영국 35%, 중국 77%, 한국 57% 로봇의 발달로 일자리를 위협받을 사람이 1,800만명, 우리나라 전체 일자리의 70%라고 한다. 그렇다면 인간의 감정과 창의성이 필요한 일들, 인간의 생사를 주관하는 일, 인간의 감정을 다루는 일, 새로운 데이터를 창출하는 일들을 개발하고 주력을 두어야 할 것이다. 인공지능이나 사람의 마음을 알아주는 프로그램등이 개발되고 있지만, 결국 인간의 감정과 관련된 알고리즘이나 새로운 경험과 느낌을 통한 데이터는 인간만이 만들 수 있으므로 문제 해결 방법을 생각하는 능력은 매우 중요하다. '기계와 다른 차이점'을 찾고 '인간다움'을 추구하는것이 중요하다. 미래에 기계와 인간의 공존에 대한 이슈에 대해서, 인간과 컴퓨터와의 관계가 중요하기 때문에 이 문제점을 해결하기 위해서는 기본적인 컴퓨터에 대한 설명과 미래에 컴퓨팅 사고력, 즉 컴퓨팅 파워를 이용해서 자신의 아이디어를 표현하거나 문제를 해결하는해야하는 것을 강조한다. -이 글은 도서를 협찬받아 주관적인 견해로 작성했습니다. |
|
일반적인 컴퓨터과학 입문서들은 비전공자들을 위하여 쉽게 설명했다고 했지만 대부분 실무 위주인 경우가 있고, 학문적 접근을 한 책인 경우에는 이론적 분야에 설명이 집중되어 있는 경우가 많아 컴퓨터 과학을 처음으로 접하는 분들이 시작하기에는 넘어가기 힘든 부분이 있었습니다. 그런데 이 책을 보니 책에서 어렵게 설명한 부분 특히 알고리즘 부분과 정렬 부분을 정말 쉽게 설명했습니다. 그래서 쉽게 컴퓨터과학 분야에 접근할 수 있을 것이라 생각합니다. 인공지능 분야갸 최근에 많은 관심 주제가 되고 있는데 이 부분에 대해서도 쉽게 설명을 해서 부담없이 읽을 수 있는 책이라 생각을 합니다. 단점은 초판이다 보니 약간 오타가 보이긴 하는데 인쇄 버전을 바꾸면서 수정할 수 있을 것이라 봅니다. 쉬운 책으로 추천해요~!! |
|
일반인들에겐 컴퓨터란 무엇인가 ? 하는 질문 부터 하게 되는 이책은 이제 걸음마 걸을 수준 부터 스마트 폰으로 엄마와 대화 하거나 게임을 하는 아이들은 사실 이전 약 50여년전의 거대한 슈퍼 컴퓨터를 손안에 쥐고 있다는 사실이다. 인공 지능개발을 위한 컴퓨터가 아니더라도 십수년전만 하여도 컴퓨터는 전문가들이 어떠한 다량의 데이터를 처리 하기 위한 수단으로서 혹은 대규모 기업에서 물류 처리와 업무 프로세스를 빠르게 처리 하기 위한 수단으로 자리 매김 하기 시작 하였고 이제는 바둑판과 체스 판을 넘나 들며, 인간들의 두뇌를 따라 잡은 지는 오래 되었다 단 , 전 범위에 걸친 지능이 확정 된 것은 아니고 , 일부 규칙과 연산 알고리즘에 기반한 제한된 환경에서만 그러하였다. 하지만 , 최근의 추세데로 가면, 자연 학습이라는 고유한 인간의 지식 탐구 영역에도 컴퓨터의 역할은 확대 되고 사람 대신 글을 쓰거나 TV 드라마 감상평을 내놓는 시도도 종종 이뤄지고 있다. 이 글 주제에서는 보다 구체적으로 " 정보" 와 " 지식"을 구별 하고 있고 정보 처리 과정을 어떤 방식으로 하느냐에 따라 최선 , 차선의 경로로 선책 할 수 있는 알고리즘의 기본 코딩도 소개 하고 있다. 초창기 튜링에 의해 개념이 들어선 컴퓨터라는 기계는 산업혁명이후 1- 2차 세계 대전을 지나서 50-60년대 우주 항공 분야에서도 수없이 반복되고 , 우주선을 쏘아 올려서 궤도에 안착 시키는 까다로운 오차 계산에서도 그 정확성을 유감 없이 발취 하여 머지 않은 장래에 인간의 상당수 작업은 기계 로봇이 대체 된다라는 직업인 입장에서 우울한 전망 이지만 반대로 신규로 발생 되는 직업군 또한 많다라는 것이다. 현대 사회의 대부분의 통신 수단인 전송 디지털화는 이진법을 사용 하고 있다 0과 1을 이용 하여 모든 아날로그 수치를 데이터 화 하거나 , 다시 디코딩 하여 아날로그 화 하여 사용 하는 방식이다. 하지만 좀더 과학개발과 양자화및 기타 다른 원자 스핀 현상을 이용한 방식을 사용 한다면 현제 보다 수배 혹은 수백배 빠른 컴퓨팅 계산 능력을 갖출 수 있다고 한다. 미래에는 인간이 처리하는 정보량도 100여년 전보다 윌등이 많이 늘어 났지만 처리 속도 또한 수백배 이상 향상 된 것 또한 주지의 사실이다. 메모리 용량만 하여도 1980년대 중반 254 K Byte 에서 부터 출발하여 지금은 휴대폰 에서 조차 256 GM도 손쉽게 사용 되는 시대이다. 모든 것이 디지털화 되고 , 영상 이미지 , 동영상 이미지가 많아 지면서 정보의 폭증이 이뤄 지면서 이를 또한 잘 가공하여 선택 적으로 살펴보고 지식 정보화 하는 것 또한 중요해진 시점 이다. 하루 하루 쏱아 지는 매거진과 인터넷의 정보량은 사람의 능력으로 평생을 걸쳐 서도 습득 하기 어려운 정도이니 선책적 정보는 선택 아닌 필수 일듯 하다. 이제는 바야흐로 정보량의 폭주도 선형 2차원 함수가 아니라 지수 로그적으로 증가 하고 있다.. 자신의 업무에 맞게 혹은 개인의 취향에 맞게끔 선택을 도와 주는 것도 이제는 컴퓨터의 역할이 되어 가고 있다, 구글이나 냇플릭스만 하여도 스위치 온 하자 마자 , 자신이 찾아 보았던 유사 검색을 도와 주거나 , 보았던 영화와 유사성을 띤 장르를 순차적으로 소개 시켜 주고 있다.. 이러다 먹는 식습관이 편식화 되듯이 , 보거나 듣는 그리고 느끼는 영상 매체들도 집중, 편식화 되지 않을까 약간은 걱정 스럽다.. Written by E HAN |
|
책 제목처럼 산책을 떠나듯 쉽게 컴퓨터과학에 다가갈 수 있는 책 입니다. 정보교과를 배우는데 있어 가장 중요한 컴퓨팅, 정보의 표현, 정보의 구조화, 알고리즘, 그리고 다양한 알고리즘과 함수, 인공지능으로 이어지는 컴퓨터와 관련된 큰 줄기를 삽화와 쉽게 풀어쓴 내용들로 알려주는 책이었습니다. 그리고 쉽게 쉽게 용어를 풀이하여 설명하는 점에서 전공자보단 처음 접하는 사람들을 위하여 쓴 흔적들이 많이 보였습니다. 중, 고등학교에서 정보를 배우는 학생과 컴퓨터 관련 기본 지식이 필요한 대학생 및 성인에게 추천할만한 도서라고 생각됩니다. 점점 정보, 컴퓨터에 관한 지식들이 중요해 지는 시대에 기본적으로 가져야 할 기초 지식을 쉽게 쌓고자 하는 분에게 추천해주고 싶습니다. 출판사 이벤트에 당첨되어 책을 제공받았습니다 |
|
정보처리기사, 컴퓨터 활용 능력 등 이런 유형의 자격증을 공부하면서 드는 생각이 있었다. 자격증 공부로서가 아니라 진짜 컴퓨터에 대한 공부를 좀 했다면 이해하기 더 쉽지 않았을까? 학창시절에는 그래도 조금 컴퓨터 이론과 가까운 듯 하였으나 졸업하고나니 머나먼 다른 나라 이야기이다. 겨우, 자격증 공부하면서 접하는 것들이 전부이고 컴퓨터 이론보다는 컴퓨터 실무에 강해지는 것도 하나의 탓이다. 이 책은 학생들이 읽어도 좋고, 컴퓨터에 대해 궁금한 사람이라면 대상에 관계 없이 읽어도 좋을 듯 하다. 간혹 내용에 다른 학생들의 이야기가 나오긴 하지만 책을 읽고 컴퓨터 과학을 산책하는 우리 모두는 저자에게 있어 학생일테니, 전혀 문제될 것이 없다. 이 책은 컴퓨터의 탄생부터 다루고 있다. 어디선가 들어본 것 같은 컴퓨터의 1인자들이 등장하고 그들이 처음 만들어 낸 컴퓨터들이 사진으로 제시된다. 정확히 뭔지 몰랐던 사실이 명확해지는 순간들이었다. 그중 가장 기억에 남는 것은 예전에 컴퓨터가 없단 당시, 컴퓨터 대신에 컴퓨터라는 이름을 가진 사람이 있었다고 한다. 회사 안에서 컴퓨터로 처리해야 하는 계산 문제가 있다면 컴퓨터라는 이름을 가진 이들이 처리를 담당했다고 한다. 상상만으로도 엄청난 일이다. 지금은 키보드 자판 몇개에 해결되는 일을 그 당시에는 손으로, 머리로 직접 계산을 했어야 하니 말이다. 그러다보니 시간은 엄청 오래걸렸고, 컴퓨터가 처리하는 것에 비해 정확도는 떨어졌다고 한다. 여기서 알게 된 것은 컴퓨터는 여러 차례 반복해서 확인을 하는 과정을 거치지만, 사람이 하게 되면 그 또한 시간이 걸리는 일이니 쉽지 않았다고 한다. 컴퓨터의 탄생을 살펴봤으면 컴퓨터는 어떤 언어를 쓰는지에 대한 공부를 한다. 사람도 각 나라에서 자신의 언어를 사용하는데 이 컴퓨터라는 것 역시 자신들의 나라에서 쓰는 언어가 있다. 이 언어를 사용해서 컴퓨터에게 알고리즘을 제시해 주어야 컴퓨터는 사람이 원하는 작업을 수행할 수 있게 되는 것이다. 알고리즘이 만들어지는 과정에 대해 살펴보기도 하고 함수도 알아본다. 이 과정의 끝은 검색 시스템인데 보면 볼수록 쉽게 검색되는 표면적인 것과 달리 많은 과정에 거쳐 내게 결과값을 내주는구나 싶었다. 알고리즘과 함수를 거쳐 마지막까지 오는 데 조금 어려웠지만 검색 구조는 한 번쯤 꼭 볼만한 내용인 것 같았다. 그리고 미래 인공지능에 대한 이야기가 시작된다. 많이들 하는 걱정, 로봇이 사람을 대체하여 일자리를 잃게 될 것인지에 대한 답도 제시되고 있다. 쉽게 접근하기 어려운 영역임을 알아서인지 최대한 쉽게, 유연하게, 그렇게 코딩까지 알게 된 기회가 되었다. 이걸로 컴퓨터 과학에 대해 다 알았다고는 할 수 없지만 상식 수준의 기본은 갖추었다는 생각이 든다. 컴퓨터에 대해 자격증 공부가 아닌 진짜 컴퓨터 과학을 배우고 싶다면 이 책을 읽어보길 추천하고 싶다. |
|
대학교의 교양 과목 중 가장 인기를 끄는 과목은 주로 인문, 철학, 심리학이나 경제학 일정도로 인문 사회 계열에 치우친 경향이 있습니다. 재미있기도 하지만, 특히 각 대학의 스타 교수님들의 과목이 큰 관심과 선택을 받기 때문이기도 합니다. 우리에게도 유명한 하버드 대학도 마찬가지였습니다. 유명한 멘큐 교수의 '경제학 원론'이나 마이클 샌델 교수의 '정의란 무엇인가'와 같은 교양 과목은 자리구하기가 힘들 정도로 인기였었죠. 그러나 2015, 6년을 기점으로 미묘한 변화가 생깁니다. CS50으로 불리는 "컴퓨터 과학(컴퓨터 사이언스, Computer Science)"이 새로운 유행으로 교양과목의 선두에 서게 되었습니다. 거의 대부분의 학생들이 프로그래밍 경험이 없고, 비전공자들이 점수따기 쉽지 않은 선택과목에 몰려든 이유는 무엇일까요? 디지털 경제로의 이행이 가속화되고, 4차 산업혁명이 본격적으로 진행되는현 시점에서 전 산업 영역에서 일어나는 "디지털 트랜스포메이션(Digital Tranformation)"에 부응하기 위해서는 각자의 전공영역에서 디지털과의 융합을 고려해야 한다는 절박함일거라 생각합니다. 즉, 컴퓨터적 사고(알고리즘적 사고)와 코딩 능력과 이해가 필수라는 겁니다.
오늘 소개해 드리는 <처음 떠나는 컴퓨터과학 산책>에서는 여느 대학의 전산정보학과나 컴퓨터 사이언스학과 등에서 처음 마주하는 컴퓨터 개론 혹은 전산정보학 개론 수준의 내용을 담고 있습니다. 우선 데이터와 정보의 상관관계로 부터 정보를 자동으로 처리(계산)하는 기계인 컴퓨터에 대한 설명으로 나아갑니다. 그후 컴퓨터가 사용하는 디지털 코드와 전기, 전자 장치를 이용하여 '정보'를 저장하고 처리 및 관리하기에 최적화된 1과 0 즉, 이진(binary) 형태의 표현법을 설명합니다. 따라서 컴퓨터의 관점에서 보면 비트(bit)로 코드화된 정보를 '디지털 정보'라 부르고, 디지털 정보는 '이진 코드화된 정보', 아날로그 정보는 '코드화하지 않은 정보'라 볼 수 있답니다. 이러한 이진 코드를 통해 문자(Text) 정보 표현, 문자(Text) 데이터 압축, 이미지(Image) 정보와 소리(Audio) 정보 그리고 숫자 정보를 표현하는 방법을 자세히 보여줍니다. 특히 멀티미디어 정보(이미지, 소리 등)의 빅데이터 AI 분석 시 반드시 이해해야 할 픽셀, 각종 인코딩 기법(gif, jpeg, png), 비트맵과 벡터 그리고 샘플링, 양자화, 부호화 등의 개념 정리는 추후 좀 더 깊이 있는 학습에 큰 도움이 될 것입니다. 그렇다면 컴퓨터가 이해하기 쉬운 정보와 컴퓨터에서 가장 많이 사용하는 정보의 구조는 어떤 것일까요? 컴퓨터에 일을 시키기 위해서는 컴퓨터가 데이터를 쉽게 처리할 수 있는 구조로 전환하는 것이 중요합니다. 컴퓨터가 처리하기 쉬운 정보의 구조화 방법은 목록형, 계층형, 테이블형, 그래프형 구조 등이 있으며, 정보를 이용해서 문제를 해결하는 과정은 입력->처리->출력(IPO) 의 과정을 거치게 됩니다. 컴퓨터를 통한 문제해결에 이용하는 방법이 '정보의 구조화' 였다면 컴퓨터에 일을 시키는 순서 즉, 어떤 작업을 수행하기 위해 컴퓨터에 내리는 명령을 순서대로 나열하는 것을 '알고리즘(Algorithm)'이라 할 수 있답니다. 본서에서는 알고리즘의 표현방법(자연어, 슈도코드, 순서도)과 구조(순차, 반복, 분기)를 통해 가장 기본적인 개념파악이 가능합니다. 이어지는 장에서는 여느 프로그래밍 기본서와 마찬가지로, 데이터 구조 및 배열, 정렬 알고리즘(버블, 선택, 삽입), 탐색 알고리즘, 값을 바꾸어 주는 함수(Function) 그리고 알고리즘을 통한 문제해결을 위한 다양한 전략이 상세히 설명되고 있습니다. 마지막으로 '기계 학습'이란 개념으로 알려진 '인공지능'에 대한 기본 개념과 기계학습과 딥러닝을 포함한 인공지능 모델 그리고 기계 학습의 분류(지도, 비지도, 강화 학습)를 통해 2020년 현재까지 개발된 기계 학습의 다양한 성과들을 예시를 통해 확인하고 있습니다. 특히 책의 말미에 설명되는 인공신경망 즉, '퍼셉트론'에 대한 개략적인 소개는 가장 진화된 형태의 인공지능 모델이라 할 수 있는 딥러닝 알고리즘에 대한 이해를 위해 초심자들이 한 번쯤 읽어 봄직 합니다. 인간의 뇌에서 뉴런과 뉴런 사이의 시냅스 연결이 지속적으로 자극되면 경험이 강화되는 것처럼, 입력층과 출력층 사이의 논리연산 과정에서 각각의 연결에 가중치(Weight)를 적용하는 개념을 도입함으로써 오늘날의 딥러닝의 시초가 되는 퍼셉트론 이론이 발표됩니다. 즉, 퍼셉트론은 다수의 입력 값과 가중치를 계산하여 하나의 출력(0 또는 1)으로 출력하는 입력층과 출력층으로만 구성된 알고리즘을 말합니다. 이때, 컴퓨터가 적당한 가중치를 찾아내는 '학습'을 하게 되며, 이렇게 찾아낸 가중치는 새로운 데이터를 판별하는 데 사용할 수 있습니다. 그러나 '배타적 논리합(Exclusive OR)' 연산 문제를 해결하지 못하여, 상당기간 암흑기에 접어든 인공지능 학계는 은닉층을 하나 이상 만드는 '다층 퍼셉트론'을 고안해 냄으로써 여러가지 구분 문제를 해결하게 됩니다. 이러한 다중 은닉층 모델을 '딥러닝'이라 부르며, 특히 인식(Recognition) 영역(이미지 인식, 음성 인식 등)에서 눈부신 성과를 내고 있습니다. 컴퓨터 과학의 가장 기초적인 수준인 정보와 데이터의 설명에서 시작하여, 정보의 구조화, 알고리즘, 그리고 인공지능으로 단계적으로 이어지는 잘 짜여진 커리큘럼을 가진 실용서로 평가하고 싶습니다. 앞서 말씀드린 대로 '디지털 트랜스포메이션'을 통해 산업 영역의 경계가 흐려지며, 디지털이 매개가 되어 서로 융복합을 통해 질적인 변화를 거듭하게될 디지털 경제 시대에 알고리즘적 사고와 코딩 능력이 전공을 막론하고 필수 역량으로 자리매김해 나가는 이때, 컴퓨터 과학의 기초를 이해하는 것이 무엇보다 중요합니다. 예를 들어, 상경계 학생들이 데이터 분석이 중요한 경영 컨설팅 업계로 진로를 잡기 위해 논리적 사고나 코딩 능력을 기른다거나, 의사가 되려는 학생들이 세포 분자학을 깊이 있게 연구하기 위해 코딩 기술을 연마하기에 앞서 기초가 되는 데이터 과학 개론의 이해가 선행되어야 한다는 말입니다. 컴퓨터 과학의 A to Z 를 쉬운 설명과 다양한 예시를 통해 익히고자 하는 분들께 추천하고 싶습니다. |