코딩에 대해 관심은 있지만 막상 배우려고 하니 시간과 비용이 부담스러워 선뜻 도전하기가 쉽지가 않다.
또한 막상 코딩을 배워보려고 하나하나 서칭하기 시작하면 분야도 너무 방대하고 전문용어들도 많아 글 자체를 이해하는 것도 쉽지 않다.
이해는 했지만 막상 내가 해보면 흥미가 있을지 고민이 될 때, 또 코딩 문법을 몰라도 실제로 코딩이 어떤 것인지 체험해볼 수 있는 두 가지 프로그램을 소개 하려고 한다.
1. 체셔의 퀴즈
엘리스 아카데미에서 제공되는 '체셔의 퀴즈' 는 코딩 없이 퀴즈로 컴퓨팅적 사고와 수학적 접근 방법을 알려주는 프로그램이다. 앨리스 아카데미에서 느껴지듯이 이상한 나라의 앨리스의 동화에서 컨셉을 가지고 와 토끼를 따라가며 퀴즈를 푸는 방식으로 컴퓨팅 사고방식을 배울 수 있다.
일단 디자인이 아주 귀엽고 예쁘며 따로 설치프로그램이 필요하다거나 하지 않기 때문에 간단하게 해보기 좋다. 또한 무료로 제공되기 때문에 컴퓨팅 사고를 간단하게 체험해보기 좋을 거 같다. 쉬운 듯 하지만 수학적 접근을 요하는 만큼 어떤 것이 감이 온다면 컴퓨팅사고 혹은 수학적 접근 방법을 통해 풀어야 하기 때문에 논리적 사고 전개를 하지 않으면 풀기 어려운 문제들도 간혹 있다.
사고력을 훈련하기 좋은 문제들로 구성되어 있다.
총 3가지 단계로 구성되어 있고 '실전편-미궁편'에 본격적인 퀴즈를 풀어볼 수 있다. 실전편에는 6가지 퀴즈가 있고, 미궁편에는 7가지 퀴즈가 있다.
장점
1) 디자인이 예쁘다.
2) 컴퓨팅적 사고 방식과 수학적 접근이 뭔지 감을 잡을 수 있다.
3) 문제가 풀기 어려우면 친절하게 설명과 답이 주어져 있다.
단점
1) 문제 난이도가 쉽다. (경우에 따라서 수학적 접근 즉 논리적, 체계적 사고하는 것이 어려운 사람은 쉽지 않게 느껴질 수 있다. 혹은 성격이 급하거나..)
2) 프로그래밍에 대해 직접적으로 이해하기 어렵다. 코딩문법 없이 진행되는 퀴즈이다보니 아무래도 수학적 접근과 컴퓨팅 사고에 치우쳐져 있어서 수학 경시 문제 같다는 느낌도 언뜻 받을 수 있다. 그래서 코딩 문법을 사용해서 알고리즘 문제를 푼다던가 개발을 하는 프로그래머가 주로 하는 일과 차이가 느껴져 과연 이걸 풀었을 때 내가 개발자로서 적성이 맞을까? 흥미가 있을까?를 가늠해보기는 한계가 있다고 생각이 든다.
하지만 비전공자가 프로그래밍에 대한 마음의 진입장벽을 조금이나마 낮추어 보고 가볍게 체험해보고 싶다면 좋은 프로그램이라고 생각한다.
2. 스탠포드 캐럴 "Stanford Karel"
다음은 스탠포드 캐럴을 소개하려고 한다.
스탠포드 캐럴"Stanford Karel"은 스탠포드 대학에서 만든 프로그래밍 학습 프로그램이다.
Stanford Karel 사이트에 들어가서 'Learn'에 들어가면 학습하면서 게임을 진행할 수 있다.
다음이 소개글!
That robot was named Karel, after the Czech playwright Karel Čapek, whose 1923 play R.U.R. (Rossum's Universal Robots) gave the word robot to the English language. ... Many generations of Stanford students learned how programming works with Karel, and it is still the gentle introduction to coding used at Stanford.
Stanford Karel의 Karel
'스탠포드 캐럴'은 캐럴이라고 하는 로봇을 움직여 프로그래밍을 학습할 수 있는 프로그램입니다.
캐럴'Karel' 이라는 이름은 1923년 희곡(Rossum's Universal Robots)에서 처음으로 로봇이라는 단어를 사용하였는데, 이 극의 극작가 캐럴'Karel'에서 따온 이름입니다.
스탠포드의 학생들은 이 Karel과 함께 프로그래밍이 작동하는 방식을 배우고 여전히 스탠포드에서는 코딩을 공부하고 소개할 때 사용하고 있습니다.
스탠포드 캐럴을 통해 프로그래밍이 어떻게 작동하는지 그 기본 원리와 기본 문법을 학습할 수 있고 게임 형식으로 단계별로 프로그래밍에 대해 학습하면서 체험해 볼 수 있다. 캐럴이라고 하는 로봇 캐릭터를 주어진 목표대로 움직이면서 프로그래밍 언어를 학습하는 방식이다.
체셔의 퀴즈와 달리 스탠포드 캐럴은 프로그래밍 언어를 직접 사용하면서 학습하고, 코드를 작성할 수 있기 때문에 훨씬 더 체계적이고 실제적으로 프로그래밍 언어에 대해 학습할 수 있다.
참고로 자바스크립트('자바스크립트')라는 프로그래밍 언어를 기반해서 문제가 구성되어 있어 게임을 하다보면 자연스럽게 자바스크립트에 대해 이해할 수 있고 공부할 수 있다는 큰 장점이 있다.
또한 처음부터 우리가 모르는 코드를 막 영어로 짜야 하는 것이 아니라 처음에는 클릭형태로 어떤 식으로 코드를 체계적으로 구성해야하는지 충분히 학습하고, 그 뒤에는 하나씩 코드 문법을 클릭하면서 감을 익힌다. 그렇게 하면 기본적으로 제공되는 코드를 바탕으로 '함수' 라던가 '조건문' 등 우리가 핵심적으로 알아야 하는 기본 문법에 대해서 학습할 수 있다.
코딩에 대해 처음 배우는 사람도 단계를 따라가다보면 감을 잡을 수 있고, 배우면서 진행할 수 있다는 큰 장점이 있다. 하지만 단계를 따라가다보면.... 단계가 꽤 많이 높아진다.... 그래서 현직 개발자의 말이 절대 쉽지 않으며 어렵다고 한다.
장점
1) '자바스크립트'라는 프로그래밍 언어를 직접 배우면서 학습할 수 있다. 체계적으로 단계가 잘 구성되어 있기 때문에 문제를 따라가다보면 기본적인 프로그래밍 문법을 이해하고 학습할 수 있다.
2) 무엇보다 프로그래밍의 세계가 어떤 것인지 확실히 감을 잡을 수 있다.
3) 그래서 스탠포드 캐럴을 해보고 재미가 있다?! 흥미가 생긴다?! 혹은 내가 좀 잘 푸는 것 같다! 하는 감이 오면 어서 개발자의 세계의 입문하기를 추천한다. 꼭 아니라고 비추천은 아니지만 굉장히 공부가 잘 맞을 가능성이 높다고 파악할 수 있다.
단점
1) 영어version만 존재한다. (하지만 개발자는 영어가 필수덕목이므로...공부 한다는 마음으로...) 그렇지만 계속 프로그램을 따라가다보면 큰 맥락은 이해할 수 있을정도로 간단하게 구성되어 있다.
2) 문제나 해설지가 없기 때문에 문제를 풀다가 막혔을 때 인터넷으로 찾아보거나 가까운 지인에게 도움을 구해야할 수도 있다.
3) 끝에는 난이도가 높다. 그래서 모든 문제를 다 풀어야 프로그래밍이 적성에 맞다고 결론을 짓는 것은 금물! 현업에 있는 사람들도 Unit9 이상으로 가면 절대 문제가 쉽지 않다고 얘기한다.
스크래치 혹은 엔트리 마인크래프트 처럼 블록코딩으로 코딩을 하다보면 성인이다보니 아무래도 흥미가 금방 떨어지고, 이게 맞나 하는 생각이 들 때가 많다. 또한 성인들에게 코딩을 배워본 적은 없는데 흥미가 있어서 입문하려고 하는데 어떤 게 좋을까요? 하고 물을 때 가장 추천하기 좋은 프로그램이 "Stanford Karel"이라는 생각이 든다.
아무래도 성인들에게는 블록코딩을 추천하기가 쉽지가 않다. 이게 코딩이라고요? 생각하기 쉽고 실제로 우리가 익숙한 이미지는 검은 바탕화면에 형광색 영어 문법을 다다다다다닥 쳐 넣는 이미지이니.... 실제같이 느껴지지 않기 때문이다.
그래서 비전공자가 보았을 때 가장 접근하기 좋고, 단계를 따라가면서 코딩 문법이 자연스럽게 학습이 되면서도 실제 텍스트 코딩을 쳐보면서 문제를 풀어볼 수 있기 때문에 코딩을 배울지 말지 고민이 될 때 해보면 가장 좋은 프로그램인 거 같다.