편집실일기

책 밖에서 만난 작가┃<코딩책과 함께 보는 코딩 개념 사전>을 펴낸 김현정 작가 인터뷰
등록일 : 2018-03-21
트위터로 공유하기 페이스북으로 공유하기 미투데이로 공유하기
 


Q  독자들에게 자기소개와 인사를 부탁드립니다. 요즘 근황은 어떠신가요?
A  안녕하세요. 김현정입니다. 요즘 회사 일로 바쁘게 지내고 있습니다. 그래도 따듯한 봄이 왔으니 시간을 내서 주말에는 가족들과 함께 나들이를 가려고 계획하고 있습니다.


Q  이번에 펴낸 『코딩책과 함께 보는 코딩 개념 사전』 책을 독자들에게 소개해주신다면요?
A  이번 책은 코딩에서 사용하는 용어와 개념을 사전 형식으로 쉽게 풀어낸 개념 사전입니다. 코딩을 공부하다 보면 객체, 인수, 오버라이딩 등 한자어와 외래어가 많은데요. 이것이 코딩을 처음 접하는 사람들에게 ‘코딩은 어렵다’라는 선입관을 갖게 만드는 것 같아요. 컴퓨터를 전공한 대학생들조차도 코딩을 포기하는 경우가 꽤나 많습니다. 그러니 초등학생들이나 중학생들은 더더욱 어려움을 느낄 수 있을 것 같다는 생각이 듭니다. 사실, 개념을 제대로 이해하고 코딩의 문법에 익숙해지면 코딩은 재미있는 과목인데 말인데요.

이 책에서는 코딩 개념을 이해하기 쉽게 설명하기 위해 코드가 실행되는 과정을 머릿속으로 생각할 수 있도록 시시콜콜한 부분까지도 그림으로 넣었습니다. 생각하는 연습 과정을 거쳐야 코드를 혼자 작성할 수 있는 힘이 생기거든요.

새로운 개념마다 '왜' 이것이 필요한지를 설명했고, 생활의 소재를 이야기로 삼아 코딩의 개념을 쉽게 풀어내고 있습니다. 예를 들어, 자동차 부품이 모듈 단위로 만들어지는 것처럼 소프트웨어도 한 덩어리로 만들지 않고 모듈화해서 코드를 작성하고 있어요. 사과를 담는 박스처럼 데이터를 담는 상자가 바로 변수랍니다.


Q  이 책을 어떻게 준비하게 되셨나요? 책을 만들며 힘든 점은 없었나요? 특히, 어떤 점을 염두에 두고 작업하셨는지도 궁금합니다.
A  저는 모든 일에 ‘why’를 생각하는 편입니다. 그래서 책을 읽을 때 ‘왜’라는 답변을 찾아보는 습관이 있는데요. 코딩 개념을 쉽게 설명하기 위해 코딩 개념마다 ‘왜’라는 질문과 함께 현장의 경험을 담아 이해하기 쉬운 답변을 달았습니다.

왜 변수가 필요할까요? 세상은 항상 변화하기 때문에 변화하는 세상을 담기 위해 변수가 필요하지요. 왜 모듈화가 필요할까요? 자동차 부품을 생각해보세요. 부품을 모듈화하면 고장난 부품을 쉽게 교체할 수 있잖아요. 그래서 소프트웨어도 모듈화하는 것이지요.

‘왜’라는 답변을 위해 참 고민을 많이 했던 것 같습니다. 이 부분이 책을 만들며 힘들었던 점이었던 것 같습니다. 코딩을 배우는 분들에게 실질적으로 공감할 수 있는 대답을 주고 싶었거든요.

코딩 개념사전은 기존의 코딩 입문 책과는 180도 다른 접근방법의 책입니다. 기존의 코딩 책은 ‘문법’을 중심으로 설명했다면, 코딩 개념사전은 ‘개념’을 중심으로 코딩을 설명하는 책입니다. 족집게 선생님이 핵심을 콕 집어 중요한 부분을 설명하듯이, 이 책도 개념의 핵심을 핀셋으로 끄집어내 이해하기 쉽도록 설명하고 있습니다.


Q  "코딩책과 함께 보는 코딩 개념 사전" 제목이 재미있습니다. 직접 지은 것으로 알고 있는데요. 그 의미가 무엇인지 궁금합니다. 관련하여 이 책을 잘 활용하는 방법이 있다면요?
A  ‘사전’은 어려운 용어에 대한 궁금증을 풀어줄 수 있는 책입니다. 그래서 집집마다 꼭 한 권씩은 가지고 있어야 하는 필독서이지요. 그런 의미에서 책 제목을 ‘개념 사전’이라고 지었습니다. 이 책은 코딩을 공부하는 학생들이라면 꼭 가지고 있어야 하는 코딩 필독서라는 생각이 듭니다. 왜 그러냐고요? 다른 책과 다르게 개념을 중심으로 현장의 이야기를 풀어내고 있는 유일한 책이기 때문입니다. 컴퓨터를 전공한 대학생들도 코포자(코딩을 포기하는 사람)가 생각보다 많습니다. 우리나라 코포자 예방 프로젝트를 위해서라도 집집마다 이 책을 한 권씩은 가지고 계셔야 하지 않을까요? ^^

책 제목에 ‘코딩 책과 함께 보는’을 붙인 이유가 있습니다. 일반 코딩책에서 채워주지 못한 부분을 이 책에서 담아내고 있기 때문입니다. 이런 까닭에 이 책은 코딩책과 꼭 함께 봐야 하는 개념 사전이라는 생각이 듭니다.

이 책을 잘 활용하는 방법은 소개드리면요. 시중에 나와 있는 코딩 입문책으로 코딩을 체험해보세요. 코딩을 처음 공부할 때는 우선 키보드로 타이핑하면서 코딩의 재미를 경험하는 것이 중요합니다. 그렇게 코딩 문법에 익숙해지면, 다음으로 꼭 개념 공부로 넘어가야 합니다. 그래야 코딩 실력을 높일 수 있거든요. 코딩을 하며 이것저것 궁금증이 생겼을 때 이 책을 읽으면 컴퓨팅 사고력 향상에 많은 도움이 된답니다.


Q  몇 년 사이 소프트웨어와 코딩에 관한 책들이 부쩍 출간되고 있습니다. 이 책만의 특징이 있다면 어떤 게 있을까요?
A  어린시절 역사를 그저 암기과목으로 배웠던 기억이 있습니다. 요즘은 경험이 풍부한 전문가들이 역사 이야기를 재미있게 풀어내어 참 재미있는 과목이 되었다는 생각이 듭니다. 재미있는 역사 이야기처럼 이 책도 코딩 이야기를 경험으로 재미있게 풀어내고 있습니다. 저는 소프트웨어 분야에 20년 동안 몸담으면서 현장에서 통하는 지식을 마음껏 배울 수 있었는데요. 이러한 경험들이 코딩 개념을 쉽게 풀어낼 수 있는 큰 자산이 되었던 것 같습니다.

이 책에서는 머릿속으로 코딩의 실행 과정을 그려볼 수 있도록 다양한 그림을 활용해 설명하고 있습니다. 이런 과정을 거쳐야만 복잡한 코드에 대한 이해가 생기게 되거든요. 또한 영어 선생님이 ‘영어 문장 한 줄 한 줄’을 설명하듯이 ‘코드 한 줄 한 줄’의 의미를 짚어가며 코딩을 정확하게 이해할 수 있도록 했습니다.

요즘 아이들은 스크래치와 같은 블록 코딩을 배우며 코딩의 즐거움에 빠져 있습니다. 스크래치로 코딩이 무엇인지는 배울 수 있지만, 카카오톡과 같은 프로그램은 만들 수 없답니다. 프로그램을 만들려면 텍스트 코딩을 배워야만 하지만, 블록 코딩에서 텍스트 코딩으로 넘어가면서 학생들은 코딩에 대한 어려움을 느끼기 시작합니다. 이런 어려움을 극복하기 위해 코딩 개념 사전에서는 텍스트 코딩에서 다루고 있는 중요한 개념들을 이해하기 쉽게 소개하고 있습니다. 또한 ‘파이썬’이라는 코딩 언어를 이용해 코드를 한 줄 한 줄 설명하고 있습니다. 파이썬은 배우기 쉽고 현업에서 많이 사용하고 있는 언어이기 때문에 전 세계 개발자들이 사랑하는 언어라 선택하게 되었습니다.


Q  책과 함께 특별한 워크북을 준비하셨습니다. 워크북에 대해서도 소개와 설명을 부탁드립니다.
A  코딩의 세계에서는 ‘백견이 불여일타’라는 재미있는 속담이 있습니다. ‘코드를 백 번 보는 것은 키보드로 한 번 타이핑하는 것만 못하다’라는 의미이지요. 이 속담을 교훈으로 삼아 코딩 개념을 연습해볼 수 있도록 독자들을 위한 워크북을 준비했습니다.

워크북에서는 계산기를 만드는 코딩 프로젝트를 준비했는데요. 더하기, 빼기, 나누기, 곱하기를 코드로 작성해보고, if문, while문, 함수 등을 연습해볼 수 있도록 했습니다. 또한 GUI(Graphical User Interface) 모듈을 활용해 계산기 프로그램에 입력필드와 버튼을 추가하고, 버튼 이벤트에 대한 코드도 추가해볼 수 있도록 했습니다.


Q  올해부터 초·중 소프트웨어(SW)교육이 의무화되어 학교에서 필수 교과로 지정·도입되는 것으로 알고 있습니다. 어떤 교육이 이루어지나요? 또한 교육을 지향해야 할까요?
A  “Software is Eating the World”. 전 세계 산업 분야가 소프트웨어를 중심으로 융합하고 새롭게 진화하는 사회적 현상을 표현하는 문장입니다. 4차 산업혁명 시대에서 소프트웨어는 매우 중요한 역할을 하고 있는데요. 이를 단적으로 표현하고 있는 문장이지요.

4차 산업혁명 시대를 대비해야 하는 우리 아이들을 위해 올해부터 소프트웨어 교육이 의무화됩니다. 초등학교에서는 ‘실과’ 과목을 통해 17시간 이상 교육을 받아야 하고 중학교의 경우 선택 교과목이었던 '정보' 교과목이 필수 과목으로 바뀌면서 34시간 이상 교육을 받아야 합니다.

초등학교에서는 스크래치 등과 같은 블록 코딩 언어로 코딩을 체험해보고, 중학교에서는 파이썬과 같은 텍스트 코딩 언어를 이용해 간단한 알고리즘이나 프로그램을 개발하는 방법을 배우게 됩니다. 왠지 소프트웨어 교육이 코딩이 전부인 것처럼 보이지만, 그렇지 않습니다.

소프트웨어 교육은 단순히 코딩 기술만을 가르치는 것이 아니라 소프트웨어가 어떤 체계로 동작하는지 이해할 수 있는 ‘컴퓨팅 사고력’을 키우는 데 목적을 두고 있습니다. 그렇기 때문에 코딩 문법을 공부하는 것도 중요하지만, 소프트웨어 개념을 제대로 이해할 수 있도록 적절한 교육 방법을 택해야 합니다.

‘컴퓨팅 사고력’이란 컴퓨터가 어떻게 동작하는지 이해할 수 있는 능력을 말합니다. 그러므로 컴퓨터를 구성하는 소프트웨어, 하드웨어, 네트워크의 동작을 이해하는 것이 중요하지요. 또한 코딩 과정에서 오류가 발생할 경우 이를 해결할 수 있는 문제 해결 능력도 필요합니다. 실수를 반복하고 오류를 고쳐가며 어려운 상황을 계속 부딪쳐 봐야 코딩을 잘할 수 있기 때문입니다. 마지막으로, 코딩 실력을 한 단계 더 높게 끌어올리기 위해서는 코딩 개념을 착실히 이해하고 가야 한답니다.


Q  코딩이란 무엇인가요? 우리가 코딩을 알아야 하는 이유가 있다면요? 꿀팁 내지 조언을 부탁드립니다.
A  우리는 프로그램을 이용해 컴퓨터에게 명령을 내립니다. '인쇄' 기능을 실행하는 것은 컴퓨터에게 문서를 인쇄해 달라고 명령을 내리는 것입니다. '인쇄' 기능에는 이미 작성된 코드가 연결되어 있어 인쇄 메뉴를 클릭하면 이 코드가 실행되는 것이지요. 프로그램을 만드는 과정을 ‘프로그래밍’ 혹은 ‘코딩’이라고 말하는데요. 코딩은 컴퓨터에게 일을 시키기 위해 명령어를 작성하는 과정을 의미해요.

코딩을 배워야 하는 이유는 우리가 영어를 배워야 하는 이유와도 같습니다. 세상이 글로벌화 되면서 영어를 할 수 있어야 직업을 얻을 수 있고, 비즈니스를 할 수 있는 시대가 되었어요. 변수와 같이 세상은 매일매일 변화합니다. 그러면서 이제는 컴퓨터 없이는 일할 수 없는 시대가 되었고, 우리 생활에서 소프트웨어가 중요한 역할을 하고 있어요. 그동안 해왔던 일들을 소프트웨어를 이용해 부가가치를 높일 수 있는 핫한 주인공이기도 하지요. 더 나아가 우리 삶에서 기회를 주는 녀석이기도 해요.

수학을 포기한 수포자처럼, 컴퓨터를 전공한 사람도 코딩을 포기하는 사람이 생각보다 많습니다. 아마도 코딩의 새로운 개념에 익숙하지 않아서 그래서였을까요? 신세계와 같은 코딩을 제대로 배우기 위해서는 코딩의 개념을 착실하게 이해하고 디버깅을 통해 문제 해결 능력을 키워야 합니다.

코딩 작성 방법만 흉내 내어 코드를 작성하다 보면 우리가 생각하는 프로그램을 만들지 못하고 책장을 덮는 코포자가 될 수도 있습니다. 그래서 코딩의 제대로 개념을 이해하고 컴퓨터의 맥락을 이해하는 것이 매우 중요하답니다. 그런 의미에서 “잇츠 스토리(IT’s story)”의 첫 번째 책 <그림과 이야기로 쉽게 배우는 소프트웨어와 코딩 첫걸음>을 추천드리고 싶습니다. 소프트웨어가 어떻게 동작하는지를 이해할 수 있는 책이라, 이 책을 읽으면 소프트웨어 전반에 대한 이해력을 높일 수 있습니다.


Q  이번 책은 궁리의 “잇츠 스토리(IT's story)” 시리즈의 두 번째 책입니다. 앞으로 시리즈에서 또 어떤 책들을 풀어내실 예정인지 궁금합니다. 꼭 써보고 싶은 책이 있다면요?
A  “잇츠 스토리(IT’s story)” 세 번째 책은 ‘세상 속 다양한 소프트웨어(가제)’입니다. 언론을 통해 귀가 따갑게 4차 산업혁명이라는 말을 듣고 있지만, IT를 전공하지 않는 사람들이 이해할 수 있는 눈높이 정보는 부족하다는 생각이 듭니다. 4차 산업혁명 시대의 기술을 이해하기 위해서는 현재의 소프트웨어 기술을 이해해야 합니다. 현재의 소프트웨어 기술을 토대로 새로운 기술들을 선보이고 있기 때문이지요. 우리가 역사를 배워야 하는 이유처럼 현재의 소프트웨어 기술을 이해해야 미래를 바라볼 수 있는 안목이 생기게 됩니다. 그래서 세 번째 책을 통해 우리 생활 속 곳곳에 퍼져 있는 소프트웨어를 소개해 드리려고 합니다. 코딩을 배우는 것은 결국 소프트웨어를 만들기 위함입니다. 어떤 소프트웨어가 있는지 알아야 새로운 것을 생각하는 힘이 생기는 것이지요. 이런 이유에서 “세상 속 다양한 소프트웨어(가제)”를 기대하셔도 좋습니다.


Q  독자들이 어떤 면면에 주안점을 두고 이 책을 보면 좋을까요? 이 책을 꼭 읽길 바라는 독자가 있나요? 끝인사 겸 독자들에게 전하고픈 메시지가 있다면 한 말씀 부탁드립니다.
A  이 책은 코딩의 개념을 쉽게 풀어내는 책입니다. 개념을 탄탄히 잡아야 코딩을 거부감 없이 쉽게 바라보게 되지요. 코딩책으로 코드 작성 방법을 공부할 때 이 책을 함께 펼쳐놓고 읽어보시면 좋을 것 같습니다. 또한 코딩의 개념을 착실히 다질 수 있도록 이 책을 처음부터 끝까지 여러 번 읽어보시면 더욱 좋겠습니다.

이 책에서는 코딩이 실행되는 과정을 머릿속으로 생각할 수 있도록 시시콜콜한 부분까지도 그림으로 설명하고 있습니다. 그리고 코드 한 줄 한 줄을 설명하고 있는데요. 이런 부분에 주안점을 갖고 책을 읽어보시면 좋을 것 같습니다.

특히 선생님들과 학부모님들이 이 책을 읽어주셨으면 하는 바람이 있습니다. 소프트웨어 교육 의무화를 시작하는 시점에서 교육 현장에 계시는 선생님들의 역할이 매우 중요하다고 생각하기 때문이고요. 아이들의 소프트웨어 교육을 걱정하시는 부모님들께서 이 책을 아이들과 함께 읽으셨으면 좋겠습니다. 새로운 교육 제도에 따라 학생들이 많은 시행착오는 겪을 거라는 생각이 들기에 더더욱 학부모님들이 아이들에게 더 나은 교육 환경을 선물해주시면 좋을 것 같습니다.

SW 교육의 목적은 단순히 코딩에만 있지 않습니다. 소프트웨어가 어떤 체계로 동작하는지 이해하는 것도 중요하지요. 그렇기 때문에 소프트웨어의 큰 맥락을 이해하는 것이 매우 중요하다는 점 다시 한 번 강조 드리고 싶습니다.

 



<코딩책과 함께 보는 코딩 개념 사전> 책소개 보러 가기  
김현정 작가소개 보러 가기

 

 

 
목록으로