분해는 코딩 문제를 해결하는 방법에 대한 학생들의 장기적인 이해를 발전시키는 데 필수적인 기본적인 컴퓨터 과학 기술입니다. 이 기사에서는 분해가 무엇인지, 왜 중요한지, 학생들의 분해 학습을 촉진하는 방법을 탐구합니다.

분해란 무엇입니까?

분해는 복잡한 문제를 더 작고 관리하기 쉬운 부분으로 나누는 프로세스입니다. 이는 학생들이 한 번에 문제의 한 구성 요소를 해결할 수 있도록 함으로써 코딩 프로젝트를 만드는 과정을 단순화합니다.

분해가 왜 중요한가요?

학생들이 코딩을 배우기 시작하면 언어에 대해 새롭고 도전적인 방식으로 생각하게 됩니다. 추론과 뉘앙스가 가득한 구어체 의사소통에서 코딩에 필요한 정확하고 논리적인 구조로 의사소통을 전환해야 합니다. 이러한 조정은 학생들에게 매우 어렵고 종종 성공을 방해합니다. 분해는 학생들이 성공적으로 코딩하기 위해 습득해야 하는 중요한 컴퓨터 과학 기술입니다. 이를 통해 학생들은 음성 언어로 시작하여 코딩 프로젝트에 사용할 수 있을 때까지 이를 다듬을 수 있습니다.

문제를 분해하면 작은 단위로 문제를 해결할 수 있어 문제가 학생들에게 부담이 되는 것을 방지할 수 있습니다. 학생들이 코딩을 시작하기 전에 문제를 더 작은 부분으로 분해하면 프로젝트의 각 작은 부분을 구축하고 다음 부분으로 넘어가기 전에 예상대로 작동하는지 테스트할 수 있습니다. 이는 목표를 달성하는 데 필요한 모든 단계를 한꺼번에 코딩하는 것보다 훨씬 쉽고, 학생들이 오류를 해결하려고 할 때 긴 프로젝트에서 길을 잃는 좌절감을 방지합니다.

분해 과정은 또한 학생들에게 프로젝트 구축에 대한 체계적인 접근 방식을 제공하여 학생들이 해결책을 추측하고 확인해야 할 유혹을 제거합니다. 추측하고 확인하는 것은 문제를 해결하는 비효율적인 방법이며, 학생들이 점점 더 복잡한 코딩 문제에 참여하기 시작하면 비효율적이 됩니다.

또한 프로젝트를 분해하면 학생들이 코드의 패턴을 식별하고 코드 섹션을 구축, 수정 및 재사용할 수 있습니다. 이를 통해 프로젝트 구축과 문제 해결이 더 쉬워지며, 학생들이 자신이 생성하는 코드에 대해 더 깊이 이해할 수 있게 되어 향후 프로젝트에서 이러한 이해를 활용할 수 있습니다.

마지막으로, 분해는 학생들이 함께 작업하여 그룹으로 로봇 공학 프로젝트를 만들 때 학생들 간의 협업을 촉진합니다. 엔지니어링 노트북에 기록된 분해된 프로젝트는 학생들이 그룹 프로젝트를 토론하거나 다른 그룹과 공유할 때 사용할 수 있는 산출물을 제공합니다.

분해촉진

분해는 학생들이 프로젝트 구축을 시작하기 전, 계획 단계에 있을 때 발생합니다. 학생들은 코딩을 시작하기 전에 분해 과정을 공학 노트에 기록하고 이를 공유해야 합니다. 학생들과 함께 엔지니어링 노트북을 사용하는 방법에 대한 자세한 내용은 이 문서를 참조하세요.

학생들에게 분해 접근을 위한 간단한 3단계 프레임워크를 제공하십시오.

  1. 프로젝트가 성공했을 때 로봇이 보여줄 결과를 언급하여 프로젝트 의 주요 목표를 식별합니다. 이 목표를 엔지니어링 노트에 기록하세요.
  2. 목표를 달성하기 위해 로봇이 수행해야 하는 주요 단계를 결정합니다. 목표를 달성하기 위해 로봇이 완료해야 하는 주요 또는 큰 그림 단계를 고려하고 기록합니다. 이러한 개략적인 단계를 엔지니어링 노트북에 기록하세요.
  3. 주요 단계를 로봇 동작의 가능한 최소 단위로 나눕니다. 각 주요 단계를 로봇이 완료할 수 있는 가장 작은 행동으로 세분화합니다. 이러한 분해된 단계를 엔지니어링 노트북에 기록하세요.
    • 각 로봇 동작은 하나의 해당 블록이나 명령과 일치할 수 있어야 합니다. 그렇지 않은 경우 단계를 더 분해할 수 있습니다.

 

VEX 로봇 장비를 갖춘 교실 환경을 보여주는 그림으로, 학생들이 실습 학습 활동에 참여하고 협업과 STEM 교육을 강조하고 있습니다.

이 예에서 학생들은 VEXcode VR Wall Maze + Playground에서 미로를 완성하기 위해 프로젝트를 분해하고 있습니다.

 

학생들이 실습 학습 활동에 참여하는 교실 환경을 보여주는 그림으로, 교육 도구와 협업 작업을 소개하고, 교육 환경에서의 대화형 교육 방법을 강조합니다.

1단계: 프로젝트의 주요 목표를 식별합니다. 엔지니어링 노트에 목표를 기록하세요.

 

학생들이 VEX 로봇 키트를 사용하여 실습 학습 활동에 참여하는 교실 환경을 통해 교육 분야에서의 협업과 혁신을 선보입니다.

2단계: 목표를 달성하기 위해 로봇이 취해야 하는 주요 단계를 결정합니다. 

  • 여기에서 학생은 미로의 시작점에서 끝점까지 주행하기 위해 로봇이 취해야 할 모든 행동을 생각하고 이를 엔지니어링 노트에 순서대로 나열했습니다.

 

VEX 로봇 장비와 학생들이 교실 활동에 참여하는 모습을 담은 그림. STEM 교육에서의 실습 학습과 협업을 강조하고 있습니다.

3단계: 주요 단계를 로봇 동작의 가장 작은 단위로 나눕니다. 

  • 학생들은 각 단계를 완료하는 데 필요한 대략적인 값을 결정하기 시작할 수 있습니다. VEXcode에서 프로젝트를 빌드할 때 이러한 값을 테스트하고 조정해야 합니다.
  • 학생들은 분해된 각 단계가 하나의 VEXcode 블록과 직접적으로 일치하는지 확인해야 합니다. 그렇지 않은 경우 단계를 더 분해해야 합니다.

학생들이 프로젝트를 개별 블록이나 명령 수준으로 분해하면 프로젝트 계획 단계에서 구현 단계로 이동할 수 있습니다. 2단계에서 결정된 주요 단계를 주석으로 전송한 다음, 프로젝트를 빌드하기 위해 3단계에서 완전히 분해된 각 동작에 해당하는 블록이나 명령을 각 주석에 추가해야 합니다. 

학생들이 실습 학습 활동에 참여하는 교실 환경을 묘사한 그림으로, 교실 경험을 향상시키기 위한 교육 도구와 리소스를 강조하고 있습니다.

학생들은 다음 단계로 넘어가기 전에 각 동작(또는 논리적으로 그룹화된 동작 집합)을 테스트하여 한 번에 한 단계씩 분해된 프로젝트를 구축해야 합니다. 이 단계에서는 학생들이 올바른 매개변수 값을 결정하기 위해 보유한 리소스를 사용해야 합니다. 예를 들어 위의 VEXcode VR 예에서 거리 값은 각 미로 사각형의 너비가 300mm라는 지식을 사용하여 결정되었습니다. 값을 결정하는 방법은 상황에 따라 다르지만, 코딩 프로젝트를 만드는 과정에서 항상 값을 테스트하고 조정해야 합니다.

학생들이 분해를 배울 수 있도록 지원

학생들이 STEM Lab 또는 기타 VEXcode 프로젝트의 과제 작업을 시작하기 전에 시간을 내어 직접 분해 작업을 진행하여 학생들이 가질 수 있는 질문에 답할 수 있도록 준비하세요. 학생들이 코딩을 시작하기 전에 프로젝트에 대한 분해된 계획을 보여주도록 격려하여 분해 프로세스를 강화하고 작업을 가능한 가장 작은 로봇 동작으로 세분화했는지 확인할 수 있습니다. 학생들에게 각 행동에 해당하는 블록이나 명령을 식별할 수 있어야 함을 상기시킵니다.

  • 학생들이 프로젝트 목표를 달성하기 위해 로봇이 취해야 하는 주요 단계 또는 큰 그림 단계를 구상하는 데 어려움을 겪는 경우 다음을 권장하십시오.
    • 로봇이 목표를 달성하기 위해 거쳐야 할 경로를 그려보세요.
    • 목표를 달성하기 위해 로봇이 취해야 할 단계를 연기해 보세요.
    • 목표를 달성하기 위해 로봇이 취해야 할 단계를 설명합니다.
  • 학생들이 자신의 단계가 개별 블록이나 명령 수준으로 분해되었는지 확인하는 데 어려움을 겪고 있는 경우 다음과 같이 질문하십시오.
    • 로봇이 해당 행동을 완료하려면 얼마나 많은 블록이나 명령이 필요합니까?
    • 로봇이 단 하나의 블록이나 명령을 사용하여 해당 단계를 완료할 수 있습니까?
    • 어떻게 그 행동을 더 작은 로봇 행동으로 분해할 수 있습니까?

학생들이 분해하는 법을 배울 수 있도록 지원하면 미래의 컴퓨터 과학 문제 해결을 위한 탄탄한 기반을 마련할 수 있습니다. 

교실에서 학생들의 분해 학습을 촉진하는 방법에 대해 더 궁금한 점이 있습니까? PD+ 커뮤니티또는 에서 VEX 전문가와 대화할 수 있는 1:1 세션 을 예약하세요.

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

Last Updated: