초보자를 위한 스크래치 시작하는 방법: 블록 코딩을 재미있게 익히려면 이렇게

Last Updated :
초보자를 위한 스크래치 시작하는 방법: 블록 코딩을 재미있게 익히려면 이렇게

처음 스크래치를 접할 때 느끼는 장벽

얼마 전 조카가 코딩을 배우고 싶다고 해서 같이 스크래치를 켜봤는데, 생각보다 시작이 어렵지 않아서 살짝 놀랐습니다. 화면에는 고양이 캐릭터가 있고, 왼쪽에는 알록달록한 블록이 쭉 보이죠. 처음에는 장난감처럼 보이지만, 실제로는 움직임, 조건, 반복, 변수 같은 코딩의 기본 개념을 꽤 자연스럽게 배울 수 있는 도구입니다.

스크래치는 MIT에서 만든 교육용 프로그래밍 환경입니다. 복잡한 문법을 직접 입력하지 않고, 블록을 끌어다 붙이는 방식으로 프로그램을 만들 수 있어요. 그래서 초등학생도 접근하기 쉽고, 코딩을 처음 배우는 성인에게도 부담이 적습니다. 특히 문법 오류 때문에 막히는 일이 거의 없다는 점이 큽니다.

예를 들어 파이썬에서는 콜론 하나, 들여쓰기 하나 때문에 코드가 실행되지 않을 수 있습니다. 그런데 스크래치에서는 블록 모양이 맞아야만 연결되기 때문에 처음부터 구조를 눈으로 익히기 좋습니다. 코딩을 ‘글자로 외우는 공부’가 아니라 ‘동작을 만드는 놀이’로 받아들이게 되는 거죠.

스크래치 시작 전에 준비할 것

스크래치를 시작하려면 거창한 준비물은 필요 없습니다. 인터넷이 되는 컴퓨터나 태블릿이면 충분합니다. 공식 사이트에서 바로 프로젝트를 만들 수 있고, 계정을 만들면 작업물을 저장하고 다른 사람과 공유할 수도 있습니다.

온라인으로 바로 시작하기

가장 쉬운 방법은 스크래치 공식 사이트에 들어가서 만들기 버튼을 누르는 것입니다. 설치 과정이 없어서 빠릅니다. 학교나 학원에서도 이 방식을 많이 씁니다. 집에서 이어서 만들려면 계정을 만들어두는 편이 편하고요.

오프라인 편집기 활용하기

인터넷 연결이 불안정하다면 오프라인 편집기를 설치해서 사용할 수도 있습니다. 여행 중이거나 학교 와이파이가 자주 끊기는 환경에서는 이쪽이 더 안정적입니다. 다만 작품을 공유하려면 나중에 온라인 계정으로 업로드해야 합니다.

  • 처음 배우는 초등학생: 온라인 편집기 추천
  • 인터넷이 자주 끊기는 환경: 오프라인 편집기 추천
  • 작품을 친구와 나누고 싶은 경우: 계정 생성 추천
  • 부모가 함께 지도하는 경우: 저장 위치와 공개 설정 확인

블록 코딩은 순서대로 눌러보면 빨리 늡니다

스크래치를 처음 켜면 어떤 블록부터 써야 할지 막막할 수 있습니다. 이럴 때는 모든 기능을 한꺼번에 익히려고 하지 않는 게 좋습니다. 실제로 초보자가 가장 먼저 익히면 좋은 블록은 몇 가지로 좁혀집니다.

먼저 이벤트 블록입니다. ‘초록 깃발을 클릭했을 때’ 같은 블록이 여기에 속합니다. 프로그램이 언제 시작되는지 정하는 역할을 합니다. 그다음은 동작 블록입니다. 캐릭터를 10만큼 움직이거나, 방향을 바꾸거나, 특정 위치로 이동시키는 기능이죠. 여기에 반복 블록을 더하면 캐릭터가 계속 움직이는 장면을 만들 수 있습니다.

예를 들어 고양이가 화면을 가로질러 걷는 간단한 작품을 만든다고 해봅시다. 초록 깃발을 눌렀을 때, 10만큼 움직이기, 0.2초 기다리기, 이 과정을 10번 반복하기. 이 정도만으로도 눈에 보이는 결과가 나옵니다. 아이들이 코딩에 흥미를 붙이는 순간은 대개 여기서 생깁니다. 내가 붙인 블록대로 캐릭터가 움직이니까요.

처음 만들기 좋은 작품

  • 고양이가 걷는 애니메이션
  • 키보드 방향키로 움직이는 캐릭터
  • 버튼을 누르면 소리가 나는 악기
  • 점수를 얻는 간단한 피하기 게임
  • 대사를 주고받는 짧은 이야기

처음부터 멋진 게임을 만들려고 하면 오히려 금방 지칩니다. 5분 안에 결과가 보이는 작은 작품을 여러 개 만드는 편이 훨씬 좋습니다. 하나를 만들고 나면 ‘이번에는 배경을 바꿔볼까’, ‘점수를 넣어볼까’ 같은 생각이 자연스럽게 이어집니다.

게임을 만들면 조건과 변수를 자연스럽게 배웁니다

스크래치가 재미있는 이유는 게임 만들기와 잘 맞기 때문입니다. 게임에는 코딩의 기본 요소가 거의 다 들어갑니다. 캐릭터가 움직이고, 벽에 닿으면 튕기고, 아이템을 먹으면 점수가 올라가고, 시간이 끝나면 화면이 바뀌죠. 사실 이 안에 조건문, 반복문, 변수, 이벤트 개념이 다 숨어 있습니다.

예를 들어 ‘사과를 먹으면 점수 1점 추가’라는 규칙을 만든다고 해볼게요. 이때 필요한 것이 변수입니다. 점수라는 변수를 만들고, 캐릭터가 사과에 닿았을 때 점수를 1만큼 바꾸면 됩니다. 말로 들으면 어려워 보이지만, 스크래치에서는 블록 몇 개면 가능합니다.

조건도 마찬가지입니다. ‘만약 벽에 닿았다면 방향 바꾸기’처럼 조건을 걸 수 있습니다. 이 구조는 나중에 텍스트 코딩을 배울 때도 그대로 이어집니다. 파이썬의 if문이나 자바스크립트의 조건문을 만났을 때, 이미 머릿속에는 비슷한 그림이 있는 셈입니다.

  • 이벤트: 게임 시작 버튼, 키보드 입력
  • 반복: 캐릭터의 계속 움직임
  • 조건: 닿았는지, 점수가 몇 점인지 판단
  • 변수: 점수, 시간, 목숨 관리
  • 메시지: 장면 전환이나 캐릭터 간 신호

근데 여기서 욕심을 너무 많이 내면 프로젝트가 복잡해집니다. 처음 게임은 규칙을 1개만 잡는 게 좋습니다. 예를 들면 ‘떨어지는 공을 피하기’처럼요. 그다음 점수, 난이도, 효과음 순서로 하나씩 붙이면 완성도가 자연스럽게 올라갑니다.

아이에게 가르칠 때는 설명보다 질문이 잘 통합니다

스크래치를 아이와 함께 한다면 옆에서 모든 답을 알려주기보다 질문을 던지는 방식이 더 잘 맞습니다. ‘왜 안 움직일까?’ ‘이 블록은 어디에 붙이면 될까?’ 같은 식입니다. 아이가 직접 원인을 찾는 과정에서 문제 해결 습관이 생깁니다.

실제로 코딩 교육에서 중요한 건 완성된 작품 하나보다 시행착오입니다. 캐릭터가 이상한 방향으로 가거나, 점수가 계속 올라가거나, 버튼을 눌러도 반응이 없는 일이 자주 생깁니다. 그런데 이런 실수가 나쁜 게 아닙니다. 원인을 찾고 고치는 과정이 프로그래밍의 핵심에 가깝습니다.

부모 입장에서는 답답할 때도 있습니다. 블록 하나만 옮기면 해결될 것 같은데 아이가 한참 헤매거든요. 그래도 바로 손을 대기보다 화면을 같이 보면서 흐름을 따라가면 좋습니다. 초록 깃발을 눌렀을 때 어떤 블록이 먼저 실행되는지, 반복 안에 어떤 동작이 들어 있는지 차근차근 보면 대부분 실마리가 보입니다.

스크래치를 오래 재미있게 이어가는 방법

스크래치를 며칠 해보다가 멈추는 경우도 꽤 많습니다. 이유는 대개 비슷합니다. 처음에는 캐릭터를 움직이는 것만으로 재미있지만, 어느 순간 무엇을 만들어야 할지 막히기 때문입니다. 이럴 때는 다른 사람이 만든 작품을 보는 게 도움이 됩니다.

스크래치 사이트에는 공개된 프로젝트가 많습니다. 마음에 드는 작품을 열어보면 어떤 블록으로 만들었는지 확인할 수 있습니다. 더 좋은 점은 리믹스 기능입니다. 남의 작품을 그대로 베끼는 게 아니라, 구조를 참고해서 내 방식으로 바꿔볼 수 있습니다. 배경을 바꾸거나, 캐릭터 속도를 조절하거나, 점수 규칙을 바꾸는 정도만 해도 충분히 새로운 작품이 됩니다.

하루에 오래 붙잡는 것보다 짧게 자주 하는 방식도 괜찮습니다. 20분 동안 하나의 기능만 고쳐도 됩니다. 오늘은 캐릭터 움직임, 내일은 점수판, 그다음은 효과음. 이렇게 나누면 부담이 확 줄어듭니다.

  • 작품 목표를 작게 잡기
  • 완성보다 실행되는 경험을 먼저 만들기
  • 다른 프로젝트를 열어 구조 관찰하기
  • 리믹스로 기능 하나씩 바꿔보기
  • 작품 이름과 썸네일도 직접 정해보기

스크래치는 전문 개발자가 되기 위한 첫 단계라기보다, 컴퓨터에게 일을 시키는 감각을 익히는 공간에 가깝습니다. 블록을 붙였더니 화면이 움직이고, 조건을 넣었더니 규칙이 생기고, 변수를 만들었더니 점수가 쌓입니다. 그 경험이 쌓이면 나중에 어떤 언어를 배우든 훨씬 덜 낯설게 느껴집니다. 처음에는 고양이 한 마리 움직이는 정도면 충분합니다. 그 작은 움직임에서 코딩의 재미가 꽤 선명하게 시작됩니다.

초보자를 위한 스크래치 시작하는 방법: 블록 코딩을 재미있게 익히려면 이렇게 - 요약
초보자를 위한 스크래치 시작하는 방법: 블록 코딩을 재미있게 익히려면 이렇게 | 온타임타임스 | 생활·이슈 소식 : https://ontimetimes.com/13199
온타임타임스 © ontimetimes.com All rights reserved. powered by modoo.io