자바스크립트(JS) 변수 1:1 화상 코딩수업
변수이란
값을 담아두고 이름으로 꺼내 쓰는 저장 공간입니다. 점수, 남은 목숨, 현재 상태처럼 프로그램이 기억해야 하는 것을 담습니다.
왜 필요한가요
변수가 없으면 프로그램은 아무것도 기억하지 못합니다. 값이 바뀌는 것을 다룰 수 있게 되면서 같은 코드가 상황에 따라 다르게 동작하기 시작합니다. 조건문과 반복문도 변수 없이는 쓸 수 없습니다.
배울 때 걸리는 지점
만드는 시점과 바꾸는 시점을 구분하지 못하는 것이 가장 흔합니다. 반복되는 자리에서 변수를 다시 선언해 값이 계속 처음으로 돌아갑니다. 전역과 지역의 구분도 이 단계에서 처음 부딪히는 벽입니다.
이 개념을 다루는 단계
- 자바스크립트 4단계 꼬마 뱀파이어의 변신 — 변수와 조건문의 개념과 구조를 알아보고 이를 이용한 앱을 제작합니다.
- 자바스크립트 5단계 다이너소어 길들이기 — 변수와 조건문을 활용해 좀 더 복잡한 구조의 앱을 제작합니다.
- 자바스크립트 9단계 강아지와 스키대회 — 물리 명령어로 가속도 현상을 구현하고, 변수·조건을 활용해 복잡한 앱을 제작합니다.
- 자바스크립트 10단계 공장에서 탈출해라! — 논리 연산자를 이해하고 이를 이용해 앱을 제작합니다.
- 자바스크립트 11단계 정령사의 모험 — switch~case 로 조건에 따라 나뉜 상황을 정리하고, 장면이 바뀌어도 변수를 유지합니다.
- 자바스크립트 12단계 젤리왕자 프링스와 심술쟁이 팅팅 — 다른 스프라이트의 상태에 따라 행동이 달라지는 스프라이트를 구현합니다.
- 자바스크립트 14단계 스타 레인저 출동 — 매개변수를 포함하는 함수와 이중 반복문을 활용해 복잡한 앱을 제작합니다.
함께 쓰는 명령어
- if
- else if
- else
- isPressedKey
- goToMousePointer
- setVelocityY
- global
- goX
- var
- setAccelerationX
- clone
- function
- getY
- goToRandom
- wait
- moveToSprite
- sendSignal
- onSignal
- switch~case
- setText
- getSprite
- onOverlap
- onFrame
- getX
- goY
- for
- let
학교에서는 어떻게 다루나요
중학교 정보 성취기준 [9정04-03]이 변수와 연산자를 활용한 프로그램 작성을 다룹니다.
왜 자바스크립트인가
자바스크립트는 웹 브라우저가 직접 실행하는 언어입니다. 별도 설치 없이 화면에서 바로 결과가 보이기 때문에, 처음 코딩을 배우는 학생에게 "내가 쓴 코드가 무언가를 움직인다"는 감각을 가장 빨리 줍니다. 하우코딩(JS)은 이 특성을 살려 문법을 따로 외우는 대신, 게임과 앱을 만들면서 필요한 개념을 순서대로 꺼내 씁니다.
어디에 쓰이나요
- 웹 페이지 동작
- 모바일에서 실행되는 앱
- 게임
- 인터랙티브 콘텐츠
첫 4주에 다루는 범위
첫 4주는 순차 구조와 이벤트를 다룹니다. 명령을 차례대로 쓰는 것, 그리고 "무엇이 일어났을 때 실행할지"를 정하는 것 두 가지입니다. 4차시가 끝나면 직접 조작할 수 있는 화면이 하나 나옵니다.
레벨 구성
개념 입문순차 구조와 이벤트를 이해하고 화면 위의 스프라이트를 직접 움직입니다.
개념 기초변수와 조건문을 익혀 상태에 따라 다르게 동작하는 앱을 만듭니다.
개념 심화반복문·복제·함수·배열을 묶어 구조가 있는 앱을 설계합니다.
응용 기초논리 연산자와 switch~case 로 여러 조건이 겹치는 상황을 정리합니다.
응용 심화매개변수 함수와 이중 반복문·이중 배열로 맵 단위의 앱을 완성합니다.
하우코딩(JS)는 5레벨 15단계 60차시로 구성됩니다. 한 단계는 4차시이며, 학생의 이해도와 차시별 난이도에 따라 진도를 조절합니다.
다른 선택지와 비교하면
- 파이썬 — 파이썬보다 결과가 눈에 빨리 보입니다. 대신 데이터 분석이나 알고리즘 쪽으로는 깊이 들어가지 않습니다.
- 블록코딩 — 스크래치·엔트리처럼 조립하는 방식이 아니라 직접 타이핑합니다. 만들 수 있는 범위가 훨씬 넓어집니다.
누가 시작할 수 있나요
초등 3학년 이상을 권장합니다. 다만 기준은 학년이 아니라 두 가지입니다. 알파벳을 읽고 쓸 수 있는지, 키보드로 타이핑이 되는지. 이 둘이 되면 더 어린 나이에도 시작할 수 있고, 안 되면 학년이 높아도 타이핑부터 함께 잡습니다.
수업을 시작하기 전에
진도보다 중요한 것은 멈춘 자리입니다
몇 단계까지 나갔는지보다 어디서 반복해서 막히는지가 실력을 더 정확히 보여줍니다. 같은 종류의 오류가 세 번 나오면 그 개념은 아직 자기 것이 아닙니다. 이 신호를 무시하고 다음 단계로 넘어가면 두세 단계 뒤에 같은 문제로 다시 멈춥니다. 진도를 늦추더라도 그 자리를 먼저 정리하는 편이 결과적으로 빠릅니다.
완성하지 못한 코드도 자산입니다
끝까지 못 만든 프로젝트를 실패로 보면 아무것도 남지 않습니다. 어디까지 됐고 무엇 때문에 멈췄는지 적어두면 다음에 비슷한 문제를 만났을 때 훨씬 빨리 지나갑니다. 실제로 개발 현장에서도 막힌 기록을 남기는 것이 기본 습관입니다. 완성한 결과물만 세는 방식은 오래 배우는 데 도움이 되지 않습니다.
컴퓨터는 시킨 대로만 합니다
프로그램이 이상하게 도는 이유는 컴퓨터가 틀려서가 아니라 내가 그렇게 시켰기 때문입니다. 이 전제를 받아들이면 원인을 밖에서 찾지 않고 코드 안에서 찾게 됩니다. 처음에는 "왜 컴퓨터가 마음대로 하지"라고 생각하다가, 시킨 대로만 한다는 걸 이해하는 순간부터 스스로 고치기 시작합니다. 디버깅의 출발점입니다.
완성의 경험
끝까지 만들어 실행되는 것을 본 경험은 다음 프로젝트의 기준이 됩니다. 한 번 완성해본 학생은 중간에 막혀도 "여기서 끝이 아니다"를 알기 때문에 잘 그만두지 않습니다. 반대로 완성 경험 없이 개념만 쌓으면 스스로 뭔가를 시작해야 할 때 어디부터 손대야 할지 모릅니다. 작게라도 끝내는 경험이 먼저입니다.
만들고 싶은 것이 있을 때 빨라집니다
같은 개념도 필요해서 배울 때와 순서라서 배울 때의 흡수 속도가 다릅니다. 만들고 싶은 것이 생기면 막히는 지점을 스스로 찾아 나서고, 시키지 않아도 검색을 합니다. 수업에서 계속 결과물을 만들게 하는 이유가 여기 있습니다. 개념을 다 배운 뒤에 만들게 하면 그 시점까지 버티는 학생이 많지 않습니다.
처음에는 따라 쓰는 것이 정상입니다
외국어를 배울 때 문장을 통째로 외우는 시기가 있듯 코딩에도 그런 구간이 있습니다. 따라 쓰는 동안 손이 구조를 기억하고, 그 위에서 조금씩 바꿔보는 응용이 시작됩니다. 처음부터 스스로 짜라고 하면 대부분 첫 줄에서 멈춥니다. 언제 따라 쓰기에서 벗어나게 할지 판단하는 것이 수업의 역할입니다.
수업료는 어떻게 되나요
| 주 1회 60분 | 월 150,000원 |
|---|---|
| 주 2회 45분 | 월 225,000원 |
| 주 2회 60분 | 월 300,000원 |
수업료는 주당 수업 시간을 기준으로 계산합니다. 30분마다 월 75,000원이며, 위 표에 없는 조합도 같은 방식으로 산정됩니다.
주 1회 60분이 최소 수업 시간입니다. 수업 횟수와 시간은 학습 목적과 일정에 맞춰 조정합니다.
자주 묻는 것들
초등학생도 따라갈 수 있나요
초등 3학년 이상을 권장하지만 기준은 학년이 아닙니다. 알파벳을 읽고 쓸 수 있고 키보드 타이핑이 되면 시작할 수 있습니다. 타이핑이 느린 경우에는 진도를 늦추고 입력에 익숙해지는 시간을 함께 둡니다.
만든 게임을 친구에게 보여줄 수 있나요
완성한 창작물은 링크로 공유할 수 있고 모바일에서도 실행됩니다. 3단계부터는 랭킹 기능을 넣어 점수를 기록할 수도 있습니다. 학생이 만든 것을 누군가 실제로 해보는 경험이 다음 단계로 넘어가는 동기가 됩니다.
수학을 못해도 괜찮은가요
자바스크립트 과정은 수학적 사고보다 순서를 정리하는 능력을 주로 씁니다. 좌표와 사칙연산 정도가 나오고, 그마저도 화면에서 결과를 보며 조정하는 방식이라 계산을 미리 잘해야 시작할 수 있는 과정은 아닙니다.
영상으로 먼저 보기
1:1 화상 수업을 선택하는 이유
단체 수업은 여러 명을 함께 끌고 가야 해서 정해진 진도를 나갑니다. 이해가 빠른 학생은 기다리고 느린 학생은 놓치는 구간이 생깁니다. 1:1은 학생의 속도에 맞춰 진도를 조절하고, 막힌 자리에서 멈춰 그 개념을 다시 다룹니다.
시작 단계를 조정하고, 과정을 바꾸고, 목적에 따라 일부 구간에만 집중하는 것도 가능합니다. 이동 시간이 들지 않아 해외에 거주하더라도 같은 커리큘럼으로 진행합니다.
수업료
| 주 1회 60분 | 월 150,000원 |
|---|---|
| 주 2회 45분 | 월 225,000원 |
| 주 2회 60분 | 월 300,000원 |
주당 수업 시간을 기준으로 계산합니다. 30분마다 월 75,000원이며 위 표에 없는 조합도 같은 방식으로 산정됩니다. 주 1회 60분이 최소 수업 시간입니다. 월 단위 선결제이며 카드 결제와 무통장 입금 모두 가능합니다.
준비물
컴퓨터 사양은 높지 않아도 됩니다. 문서 작업이 가능한 정도면 충분합니다. 데스크톱으로 수업을 받는다면 웹캠이 따로 필요하고, 노트북이나 태블릿은 줄 이어폰 하나면 됩니다. 화상 연결은 줌으로 진행하며 무거운 개발 도구를 설치하지 않아도 됩니다.
커리큘럼
모두코딩은 하우코딩 커리큘럼으로 수업을 진행합니다. 소프트웨어 교육 기업 레드브릭이 개발한 과정으로, 미국컴퓨터과학교육협회의 컴퓨터과학교육 표준과 2022 개정 교육과정의 성취기준을 반영해 설계되어 있습니다.
무료 체험 수업 신청
체험 수업에서 학습 진단을 하고, 결과에 맞춰 커리큘럼과 교재를 안내해 드립니다.