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

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

스크린샷 2023-08-01 오후 1시 20분 50초.png

스위치 블록 사용

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


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

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

Switch는 VEXcode VR Premium 라이선스로 사용할 수 있습니다. 여기에서 VEXcode VR 구독에 대해 자세히 알아보세요.

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

교실에서 전환

오스틴은 수년 동안 블록 코딩을 해온 학생입니다. 수업에 참여하는 일부 학생은 아직 새로운 코더이지만 Austin은 Python에 대해 자세히 알아보고 텍스트를 사용하여 VR 로봇을 코딩하는 방법을 배우고 싶어합니다. 컴퓨터 과학 교사인 Ms. Hunter는 오스틴이 추가적인 도전을 할 준비가 되어 있다는 것을 알아차리고 오스틴의 학습을 지원하고 텍스트 기반 코딩을 도입하는 데 도움이 되는 Switch를 도입했습니다. Hunter 씨는 블록 변환 및 각 블록에 대한 Switch Python 명령에 대해 자세히 알아보기 위한 도움말 열기와 같은 몇 가지 기본 사항을 시연했습니다. 

오늘 Hunter 선생님은 산호초 청소 활동 학급에 배정하셨습니다. 그녀는 자신의 교육을 차별화하고 동일한 활동으로 다양한 코딩 수준의 학생들에게 접근할 수 있다는 것을 알고 있기 때문에 코딩 수업에 VEXcode VR을 사용합니다. 스위치 모드는 오스틴과 같은 학생들의 차별화를 촉진하는 데 도움이 됩니다. 산호초 청소 활동의 목표는 VR 로봇의 배터리가 방전되기 전에 최대한 많은 쓰레기를 수집하는 것입니다. 문제와 기본 알고리즘 코딩 방법을 이해한 Austin은 아래쪽 눈 센서를 사용하여 놀이터의 경계를 감지하고 산호에 해를 끼치지 않도록 역방향으로 운전하는 VEXcode VR 프로젝트를 만듭니다.

스크린샷_2023-03-07_at_3.47.02_PM.png

단일 블록을 스위치로 변환

1블록 변환


이제 오스틴은 테스트하고 작동을 확인한 프로젝트를 갖고 있으므로 다음 단계는 Python 탐색을 시작하기 위해 블록을 Switch로 변환하는 것입니다. 


여기 비디오에 표시된 대로 블록을 길게 누르거나 마우스 오른쪽 버튼으로 클릭한 다음 '스위치 블록으로 변환' 옵션을 선택하면 블록을 스위치로 변환할 수 있습니다.

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

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

도움말 열기


도움말에서 Switch Python Command 정보를 보기 위해 오스틴은 도움말 창을 열고 [Drive for] 블록을 선택한 다음 여기 영상과 같이 맨 아래로 스크롤합니다. 

Hunter 씨는 체크인하여 Austin이 [Drive for] 블록에 대해 더 많이 배우고 있음을 알 수 있었습니다. 그녀는 블록을 변환하고 새 블록에 입력하면서 배운 내용을 적용해 보라고 그에게 요청했습니다. 그녀는 Switch 블록을 드래그하는 방법을 보여주고 오스틴에게 블록에 Turn_for 명령을 입력하도록 했습니다. 오스틴은 블록에 대한 도움말을 열고 명령 구조에 대해 기록합니다. 

스위치 블록 입력

블록 추가


도움말을 확인하여 Python 명령을 알고 있는 Austin은 Switch 블록에 직접 입력하고 싶어합니다. 오스틴은 도구 상자에서 [Switch Stack] 블록을 끌어 [Turn for] 블록 위에 추가합니다. 

블록을 입력하세요.


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


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

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

복사 및 붙여 넣기


[Switch Stack] 블록에는 여러 줄의 코드를 입력할 수 있습니다. Austin은 여기 비디오에 표시된 대로 Turn_for 텍스트를 복사하여 위 블록에 붙여넣습니다.

 

Austin은 키보드의 'enter' 또는 'return'을 누르면 블록에 추가 줄이 추가될 수 있음을 확인하고 Python 명령을 계속 추가합니다.

Python의 Drivetrain 명령 마스터가 된 느낌을 받은 Austin은 인증서를 인쇄하고 다음 번에 사용할 수 있도록 프로젝트를 저장합니다.

스택을 스위치로 변환

학년 후반에 Hunter 선생님은 산호초 청소 활동을 다시 방문하여 학생들에게 더 높은 점수를 얻거나 텍스트 기반 코딩을 사용하도록 도전합니다. 오스틴이 Switch 블록에서 Drivetrain 명령을 사용하고 있는 동안, 이 활동은 Python의 'C' 블록 및 부울에 해당하는 것에 대해 자세히 배울 수 있는 기회입니다. 

래퍼 변환


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


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

추가 스위치 블록

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

스위치 블록은 다른 블록과 동일한 모양 규칙을 따릅니다. 다음 표는 블록 모양, 의미, 동일한 유형의 스위치 블록 간의 비교를 보여줍니다.

블록 모양 설명 블록 예시 스위치 예
모자 블록 블록 더미를 시작하고 그 아래에 블록을 부착할 수 있는 모양을 만듭니다. 인쇄 이름 블록 정의 스크린샷 2023-07-28 at 17.09.19.png
블록 쌓기 주요 명령을 수행합니다. 다른 스택 블록 위나 아래에 부착할 수 있는 모양입니다. 스택 블록용 드라이브 2023-07-28 17.09.22.png 스크린샷
부울 블록 조건을 true 또는 false로 반환하고 다른 블록에 대한 육각형(6면) 입력이 있는 블록 내부에 맞습니다. 왼쪽 범퍼 프레스 블록 2023-07-28 17.09.27.png 스크린샷
기자 차단 숫자 형태로 값을 보고하고 다른 블록에 대한 타원형 입력이 있는 블록 내부에 맞습니다. 타이머(초 단위) 2023-07-28 17.09.30.png 스크린샷
C 블록 그 안에 있는 블록을 반복하거나 조건이 참인지 거짓인지 확인하세요. 스택 블록을 위, 아래 또는 내부에 부착할 수 있는 모양입니다. 영원히 루프 블록 그렇다면 else 차단 2023-07-28 17.09.34.png 스크린샷 2023-07-28 17.09.38.png 스크린샷

함께 모아서

Hunter 선생님은 오스틴이 Switch 블록에 다양한 Python 명령을 입력하는 테스트를 지켜보면서 Switch를 통해 학생들이 어떻게 자신의 학습을 발판으로 삼을 수 있는지 확인할 수 있었습니다. 그녀의 학생들은 수업을 시작하기 전에 모두 다른 코딩 경험을 갖고 있었으며 VEXcode VR 내의 과제를 통해 학생들은 자신의 수준에 맞게 코딩할 수 있습니다. 일부 학생들은 Blocks로만 코딩하고, 일부 학생들은 Python으로 코딩하고, Austin과 같은 다른 학생들은 Switch를 사용하여 Python 코딩으로 전환합니다. 다음 몇 달 동안 오스틴은 Python 코딩에만 전념했으며 Switch를 사용하여 배운 내용을 적용하여 블록에서 텍스트로의 전환을 훨씬 더 쉽고 원활하게 만들었습니다. 

VEXcode VR Switch를 사용하면 Ms. Hunter와 같은 교사가 학습 촉진자가 될 수 있으며, 다양한 코딩 수준의 학생들이 동일한 과제를 완료할 수 있습니다. 오스틴과 같은 학생들은 VEXcode VR Switch를 사용하여 블록에서 텍스트로 전환하면서 코딩 활동을 해결하는 새로운 방법을 시도할 수 있는 힘을 느낍니다.


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: