VEXcode VR에서 블록에서 텍스트 기반 코딩으로 전환하기 위한 스위치 블록 사용

VEXcode VR에서 스위치 블록에 액세스하려면 VEXcode VR 프리미엄 라이선스가 있어야 합니다. VEXcode VR에서 스위치 블록에 액세스하는 방법에 대한 자세한 내용은 이 문서를 참조하세요.

초보 프로그래머는 블록 기반 인터페이스를 사용하는 경향이 있는 반면, 고급 학생은 Python과 같은 텍스트 기반 프로그래밍 언어를 사용하여 로봇을 코딩하는 데 관심이 있을 수 있습니다. 역사적으로 블록 기반 프로그래밍에서 텍스트 기반 프로그래밍으로의 전환은 학생들에게 완전히 새로운 언어를 배우는 것과 같은 느낌을 줄 수 있습니다., 이전에 블록을 사용하여 배운 논리를 적용할 수 없습니다.1 VEXcode VR의 스위치 블록은 블록 기반 프로그래밍에서 텍스트 기반 프로그래밍으로의 전환을 용이하게 하기 위해 개발되었습니다. 이 문서에서는 VEXcode VR에서 스위치 블록을 사용하는 방법을 다루고, 교실 시나리오를 통해 해당 기능을 맥락에 맞게 설명하고 보여줍니다.

가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, STEM 교육에서 교실 학습과 개별 학습에 적합합니다.

스위치 블록 사용

Switch는 블록 기반 프로그래밍의 친숙한 요소를 통합하고 텍스트 명령을 입력할 수 있는 텍스트 상자를 통합했습니다. 이를 통해 학생들은 Python과 관련된 명령어와 구문을 배우면서 천천히 텍스트로 전환할 수 있습니다.


Switch는 학생들에게 블록 기반 코딩에서 텍스트 기반 코딩으로 자연스럽게 이어지는 연결 고리를 제공합니다. 학생들이 명령의 논리와 순서에 익숙해지면 프로젝트를 한 번에 한 블록씩 변환할 수 있습니다. 

이를 통해 학생들은 블록 기반 프로그램의 논리적 흐름에 따라 작업을 계속할 수 있으며, 다른 블록 주위로 루프를 감싸는 것과 같은 작업을 물리적으로 볼 수 있고, 동시에 텍스트 명령 자체를 실험해 볼 수 있습니다. 블록이 Switch로 변환되면 학생들은 매개변수를 쉽게 변경하고 텍스트 명령의 구문을 이해하기 시작할 수 있습니다. 이 섹션에서는 VEXcode VR 프로젝트에서 이러한 블록을 사용하는 방법을 설명하기 위해 학생이 Switch를 사용하는 과정을 안내합니다.

Switch는 VEXcode VR Premium 라이선스와 함께 제공됩니다. VEXcode VR 구독에 대해 자세히 알아보세요.

라이센스를 취득하면 이 문서의 정보를 사용하여 Switch액세스하는 방법을 알아보세요.

교실에서의 전환

오스틴은 수년간 블록을 이용해 코딩을 해 온 학생입니다. 수업에 참여하는 학생들 중에는 아직 코딩 초보자도 있지만, 오스틴은 파이썬에 대해 더 많이 배우고 싶어하며, 텍스트를 사용하여 VR 로봇을 코딩하는 방법을 배우고 싶어합니다. 컴퓨터 과학 교사인 헌터 선생님은 오스틴이 추가적인 도전을 받아들일 준비가 되었다는 것을 알아차리고 오스틴의 학습을 돕고 텍스트 기반 코딩을 소개하기 위해 Switch를 도입했습니다. 헌터 씨는 블록을 변환하는 방법, 각 블록에 대한 Switch Python 명령에 대해 자세히 알아보기 위해 도움말을 여는 방법 등 몇 가지 기본 사항을 시연했습니다. 

오늘 헌터 선생님은 학생들에게 산호초 청소 활동 과제로 주셨습니다. 그녀는 코딩 수업에 VEXcode VR을 사용합니다. 그 이유는 동일한 활동을 통해 다양한 코딩 수준의 학생들에게 다가가고 교육을 차별화할 수 있다는 것을 알고 있기 때문입니다. 스위치 모드는 오스틴과 같은 학생들이 그러한 차별화를 이루는 데 도움이 됩니다. 산호초 청소 활동의 목표는 VR 로봇의 배터리가 소진되기 전에 가능한 한 많은 쓰레기를 수거하는 것입니다. 오스틴은 과제를 이해하고 기본 알고리즘을 코딩하는 방법을 익혀, 다운 아이 센서를 사용하여 놀이터의 경계를 감지하고 산호에 해를 끼치지 않도록 후진하는 VEXcode VR 프로젝트를 만들었습니다.

가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 옵션을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실에서 코딩 개념과 로봇 원리를 가르치는 교육용으로 설계되었습니다.

단일 블록을 스위치로 변환

1 블록 변환


이제 오스틴은 테스트하고 검증한 프로젝트가 있으므로, 다음 단계는 Python을 탐색하기 위해 블록을 Switch로 변환하는 것입니다. 


여기 영상에서 보여지는 것처럼, 블록을 길게 누르거나 마우스 오른쪽 버튼을 클릭한 다음 '스위치 블록으로 변환' 옵션을 선택하면 블록을 스위치로 변환할 수 있습니다.

이제 Austin은 [Drive for] 블록이 drive_for Python 명령으로 바뀌었음을 알 수 있습니다. 변환 후, 오스틴은 프로젝트를 실행하여 의도한 대로 계속 작동하는지 확인합니다. 변환 후, 오스틴은 drive_for 명령에 대해 자세히 알고 싶어합니다. [Drive for] 블록의 도움말을 열면 Austin은 블록의 매개변수와 Python 명령 간의 연결을 만들 수 있습니다.

도움말을 사용하여 Switch Python 명령에 대해 자세히 알아보기

도움말 열기


도움말에서 Switch Python Command 정보를 보려면 Austin은 도움말 창을 열고 [Drive for] 블록을 선택한 다음 여기 영상에서 보이는 것처럼 맨 아래로 스크롤합니다. 

헌터 씨는 체크인을 하고 오스틴이 [Drive for] 블록에 대해 더 많이 배우고 있다는 것을 확인했습니다. 그녀는 그에게 블록을 변환하고 새로운 블록에 입력하는 과정에서 배운 내용을 적용해 보라고 했습니다. 그녀는 스위치 블록을 끌어오는 방법을 보여주었고, 오스틴에게 블록에 turn_for 명령을 입력해 보라고 했습니다. 오스틴은 블록에 대한 도움말을 열고 명령의 구조에 대한 메모를 작성합니다. 

스위치 블록 입력

블록 추가


오스틴은 도움말을 확인하여 Python 명령어를 알고 있으므로 Switch 블록에 직접 입력하고 싶어합니다. 도구 상자에서 [스위치 스택] 블록을 끌어서 Austin이 [회전] 블록 위에 추가합니다. 

블록에 입력하세요


그런 다음 오스틴은 커서를 사용하여 Switch 블록을 선택하고 여기에 표시된 대로 turn_for Python 명령을 입력하기 시작합니다. 


새로운 명령을 입력하고 매개변수가 원래 블록과 일치하는지 확인한 후 [회전] 블록을 삭제할 수 있습니다. 

헌터 씨가 오스틴의 진행 상황을 확인하러 온다. 그녀는 Switch 프로젝트를 보고 명령이 올바르게 입력되었는지 확인하기 위해 실행해 달라고 요청합니다. 그녀는 프로젝트가 작동하는지 확인한 후, 또 다른 기능인 다중 줄 블록을 시연합니다.

복사하여 붙여넣기


[스위치 스택] 블록에는 여러 줄의 코드를 입력할 수 있습니다. 오스틴은 turn_for 텍스트를 복사하여 여기 영상에서 보이는 것처럼 위의 블록에 붙여넣습니다.

 

오스틴은 키보드에서 'enter' 또는 'return' 키를 누르면 블록에 줄을 추가할 수 있다는 것을 알고 Python 명령을 계속 추가합니다.

오스틴은 파이썬으로 Drivetrain 명령어를 완벽하게 이해한 것 같은 기분으로 인증서를 인쇄하고 다음 번을 위해 프로젝트를 저장합니다.

스택을 스위치로 변환

학년 후반에 헌터 선생님은 산호초 청소 활동을 다시 다루며 학생들에게 더 높은 점수를 받거나 텍스트 기반 코딩을 사용하도록 과제를 내줍니다. 오스틴은 Switch 블록에서 Drivetrain 명령을 사용해 왔지만, 이 활동은 Python에서 'C' 블록과 부울에 해당하는 것에 대해 더 많이 알아볼 수 있는 기회입니다. 

래퍼 변환


오스틴은 [If then else] 블록을 길게 누르거나 마우스 오른쪽 버튼으로 클릭하고 '래퍼 및 내용을 스위치 블록으로 변환'을 선택합니다. 이는 루프와 루프의 내용을 단일 Switch 블록으로 변환합니다.


변환이 완료된 후 들여쓰기를 확인하세요. 하나의 Switch 블록에 있는 여러 명령은 의도한 대로 작동하려면 적절한 들여쓰기가 필요합니다.

추가 스위치 블록

Austin은 [Switch Stack] 블록만 독점적으로 사용했지만, 사용 가능한 추가 Switch 블록도 있습니다. 오스틴은 개선된 산호초 청소 프로젝트를 제출할 준비가 되었지만, 다음 수업에서 아래에 나열된 것과 같은 새로운 종류의 스위치 블록을 시도해 볼 계획을 헌터 선생님과 함께 세웠습니다.

스위치 블록은 다른 블록과 동일한 모양 규칙을 따릅니다. 이 표는 블록 모양, 의미, 그리고 같은 유형의 스위치 블록을 비교한 것입니다.

블록 모양 설명 블록 예제 스위치 예제
모자 블록 블록을 쌓아 놓고 그 아래에 블록을 부착할 모양을 만듭니다. 교육 환경에서 코딩 개념과 로봇 원리를 가르치기 위해 설계된 블록 기반 코딩 도구와 가상 로봇을 선보이는 VEXcode VR 인터페이스의 스크린샷입니다. 교실 환경에서 가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 선보이는 VEXcode VR 인터페이스의 스크린샷으로, 초보자와 고급 사용자 모두를 지원합니다.
블록 쌓기 주요 명령을 수행합니다. 이들은 다른 스택 블록 위나 아래에 부착되도록 설계되었습니다. 교실에서 STEM 교육을 강화하고 학생과 교육자를 위한 코딩 개념을 지원하도록 설계된 가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 옵션을 보여주는 VEXcode VR 인터페이스의 스크린샷입니다. 가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실 사용과 STEM 교육에 적합합니다.
부울 블록 조건을 참 또는 거짓으로 반환하고 다른 블록에 대한 육각형(육면체) 입력이 있는 모든 블록에 맞습니다. 가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실 사용과 STEM 교육에 적합합니다. 교실에서 코딩 개념과 문제 해결을 통해 STEM 교육을 강화하도록 설계된, 가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷입니다.
기자 차단 숫자 형태로 값을 보고하고, 다른 블록에 타원형 입력을 추가하여 모든 블록에 맞춥니다. 가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실 사용과 STEM 교육에 적합합니다. 가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 옵션을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교육 환경에서 코딩 개념과 로봇 원리를 가르치는 데 사용하는 방법을 보여줍니다.
C 블록 블록 내에서 블록을 반복하거나 조건이 참인지 거짓인지 확인합니다. 이들은 위, 아래 또는 안쪽에 블록을 부착할 수 있도록 만들어졌습니다. 가상 로봇을 통해 코딩 개념을 가르치도록 설계된 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, STEM 교육을 위한 교실 환경에서의 활용을 강조합니다. 가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 옵션을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실에서 코딩 개념과 로봇 원리를 가르치는 교육용으로 설계되었습니다. 가상 로봇을 프로그래밍하기 위한 블록 기반 코딩 환경을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교실에서 코딩 개념과 로봇 원리를 가르치는 교육용으로 설계되었습니다. 블록 기반 코딩 요소와 가상 로봇을 보여주는 VEXcode VR 인터페이스의 스크린샷으로, 교육 환경에서 코딩 개념과 로봇 원리를 가르치는 플랫폼의 활용 방법을 보여줍니다.

모두 합치기

헌터 선생님은 오스틴이 Switch 블록에서 다양한 Python 명령어를 입력하는 것을 보면서, Switch가 학생들이 스스로 학습을 확장하는 데 어떻게 도움이 되는지 알 수 있었습니다. 그녀의 학생들은 모두 수업을 시작하기 전에 서로 다른 코딩 경험을 가지고 있었고, VEXcode VR의 과제를 통해 자신의 수준에 맞춰 코딩할 수 있었습니다. 일부 학생은 Blocks로만 코딩하고, 일부는 Python으로 코딩하며, 오스틴처럼 Switch를 사용하여 Python 코딩으로 전환하는 학생도 있습니다. 그 후 몇 달 동안 오스틴은 전적으로 Python으로 코딩을 시작했고, Switch를 사용하면서 얻은 지식을 적용해 블록에서 텍스트로의 전환을 훨씬 쉽고 원활하게 만들었습니다. 

VEXcode VR의 스위치 블록을 사용하면 Hunter 선생님과 같은 교사가 모든 코딩 수준의 학생들이 동일한 과제를 완료하는 동안 학습을 촉진할 수 있습니다. 오스틴과 같은 학생들은 VEXcode VR의 Switch Blocks를 사용하여 블록에서 텍스트로 전환하면서 코딩 활동을 해결하는 새로운 방법을 시도할 수 있는 힘을 얻습니다.


1Weintrop, David, Uri Wilensky. "블록 기반, 텍스트 기반, 그리고 블록/텍스트 혼합 방식이 초보자 프로그래밍 관행에 어떤 영향을 미치는가."  국제 아동-컴퓨터 상호작용 저널 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: