-
-
컴퓨터과학 알고리즘 : 스크래치 3.0 - 컴퓨팅 사고력을 키우는
장수정 외 지음 / 생능 / 2019년 12월
평점 :
코딩을 알게 된 계기
나는 중학교때 “블러디 먼데이”라는 일본 드라마에 푹 빠진 적이 있었다. 미우라 하루마라는 배우가 주인공역인 다카기 후지마루라는 평범한 고등학교 2학년생을 맡았다. 평소에는 무기력하고 보잘것없는 소년이지만, 뒤로 숨겨진 그의 능력은 천재적인 해킹 능력의 소유자이며, 정체불명의 카리스마 해커 FALCON으로서, 아버지가 소속되어있는 공안 조사청의 한 조직의 일을 도맡아, 위험한 바이러스를 퍼트리려는 조직을 무너뜨리는 내용이다. 그거에 푹 빠져 한참 해킹 관련에 검색을 하곤 했다. 해킹 관련 일을 하려면 JAVA, C언어, 리눅스 등등이 있었다. 이런 거를 배우기 전에 기초부터 배우려면 일단은 코딩의 알고리즘에 대한 이해를 완벽히 해야 한다는 것이다.
코딩과 알고리즘이란?
알고리즘은 주어진 문제를 논리적으로 해결하기 위해 필요한 절차, 방법, 명령어 들을 모아 놓은 것이며 넓게는 사람 손으로 해결하는 것, 컴퓨터로 해결하는 것, 수학적인 것, 비수 학적인 것을 모두 포함한 것이다. 명령을 수행한 다음에는 무슨 일을 처리하고, 그다음에는 어떤 파일들을 모아서 어떻게 처리해야 할지, 구체적으로 명령의 내용과 순서, 처리방법을 모아놓은 것이다.
예를 들어, 머리를 감는 과정이라고 생각을 하자.
1. 물을 튼다.
2. 머리카락을 적신다.
3. 샴푸를 머리카락에 묻힌다.
4. 두피 구석구석 마사지하듯 도포하며 거품을 낸다.
5. 다시 물을 틀어 거품을 헹궈준다.
6. 수건으로 물기를 닦는다.
이처럼 알고리즘은 어떻게 구성하는 가에 따라 같은 문제를 풀더라도 오래 걸릴 수도 있고, 오류가 생길 수도 있으므로 효율적이고, 명확하게 만드는 것이 중요하다. 프로그램을 만드는 전체 과정에서 볼 때, 알고리즘을 짜는 것은 [계획] 단계라고 할 수 있다. 프로그램이 어떻게 행동할지를 결정해주는 이 계획이 완성되면 그것을 프로그램 언어로 작성하여 소프트웨어를 완성하는 것이다. 이것을 가장 많이 사용되는 것은 바로 컴퓨터라고 생각하면 된다.
코딩은 주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것을 말합니다. 좀 더 넓은 의미에서는 프로그램을 만든다는 뜻의 ‘프로그래밍’과 동일한 개념으로 사용되기도 한다. 컴퓨터 프로그램이 어떤 기능을 가지게 할지, 인공지능이 어떤 행동을 하게 만들지 입력해 주는 것이기 때문에 프로그래밍에서 가장 기초적이면서도 필수적인 작업이라고 할수 있다. 즉, 내가 필요한 작업을 컴퓨터에게 시키기위해서는 컴퓨터가 알아들을 수있는 언어로 바꿔줘야 하는것처럼 컴퓨터 언어를 이해하고, 이언어로 규칙이나 식을 세우는것이 코딩이라고 할 수있다. 게임, 애플리케이션, 로봇청소기, 화재경보기들이 코딩을 통해 이루어지고 있다.
이 책의 내용은 어떠한가?
요즘은 컴퓨터 과학의 중요성이 부각되면서 컴퓨터 알고리즘이 초중고에 의무화가 되고 있는 시대이다. 그렇기 때문에 미래융합교육연구소에서는 초등학생뿐만 아니라 중고등, 대학생이 알기 쉽게 배울 수있는 학습재료로 적합하고, 성인까지도 학습할수있게 쉽게 풀어준다. 이 도서의 가장 큰 특징은 학습자가 스스로 학습할수 있도록 컴퓨터적인 어려운 용어를 최대한 줄여 더욱 쉽고 알차게 알고리즘을 배울수있도록 하고, 교수자 관점에서다양한 교육환경에서 더욱 편하게 강의할수있도록 수준별로 다양한 예제와 학습준비에 필요한 자료를 제공한다. 기존에 많은 책들이 많이 나와있지만, 내용이 어려워 쉽게 접근할 수없어서 컴퓨터 알고리즘 입문자도 쉽고 재미있게 공부할수있도록 학습 설계하여 이 책을 집필해왔다고 써있었다. 총 12개의 프로젝트로 구성되어있으며 기초, 기본 응용으로 나누어 알고리즘 학습이 이루어지고, 단계별 프로젝트 별로 개념, 학습, 활용, 편가의 4단계로 구성되어 알고리즘 학습과 코딩 원리를 체계적으로 배울수 있게 도와주고 있다. 또한 혼자서도 체계적인 학습이 이루어지도록 쉽게 풀이해주었고, 프로젝트별로 학습동기 예제, 기본 학습 예제, 활용 학습 예제를 갖추어 총 36개 학습 예제를 제공하고 있다. 추가로 교수자들을 위한 학습 구성 및 자료를 제공하며, 학습자의 수준별 학습이 가능하도록 구성이 되어있다. 기본적으로 수학은 알고 가야 한다는 느낌이 강하게 올 정도로, 함수, 논리 연산, 진법 등등, 수학 관련된 것들이 나오지만 기본만 알고 있으면 누구나 쉽게 접할 수 있다.
도서를 읽으며 느낀 점
내가 알고리즘과 코딩이 처음이지만 이 도서는 보다 알기 쉽게 풀어주고 있으며, 다양한 예시와 문제들을 알려주면서 이해하기 쉽게 풀이해 나갈 수 있게 설명을 차근차근 되어있다. 어려운 문제는 없었으며, 다양한 예시와 부과 설명 등이 잘 배치되어있고, 지루하지 않게끔 중간중간 삽화를 넣어가며 가독성이 좋게 풀어주고 있었다. 알고리즘을 세우는 방법을 알려주기도 했다. 코딩, 알고리즘을 처음 시작하는 분들에게는 이 책을 추천한다.
출처: https://sakura9016.tistory.com/144 [월하의꽃_月下花]