
안녕하세요. 파이쌤입니다. 😁
요즘 ‘바이브 코딩’이라는 말을 정말 자주 듣게 됩니다. 만들고 싶은 프로그램을 자연어로 설명하면 AI가 코드를 작성해 주고, 우리는 실행 결과를 확인하며 대화를 이어 가듯 프로그램을 완성해 나갈 수 있게 되었습니다. 코딩을 처음 접하는 사람도 아이디어만 있다면 멋진 결과물을 만들 수 있는 시대가 된 것입니다.
그렇다면 바이브 코딩을 정보 수업에서는 어떻게 활용할 수 있을까요?
단순히 재미있는 프로그램을 만드는 데서 그치지 않고, 학생들이 수업에서 배운 개념을 직접 움직여 보고 확인할 수 있는 시뮬레이션을 만들어 보면 좋겠다는 생각이 들었습니다. 교과서 속 알고리즘이 실제 상황에서 어떻게 작동하는지 눈으로 확인할 수 있다면, 학생들도 개념을 훨씬 쉽고 흥미롭게 이해할 수 있겠지요?
그래서 이번에는 순차 탐색과 이진 탐색을 주제로 드론 시뮬레이션을 만들어 보았습니다. 드론이 여러 지역을 차례대로 탐색하거나 탐색 범위를 절반씩 줄여 가며 목표를 찾는 과정을 시뮬레이션으로 구현하고, 두 알고리즘의 차이를 직접 비교해 볼 수 있도록 하였습니다.
이번 글에서는 바이브 코딩으로 정보 수업에 활용할 드론 시뮬레이션을 구상하고 완성해 간 과정을 편안하게 소개해 보려고 합니다.

시뮬레이션의 목표는 드론이 모든 정찰 지역을 촬영할 수 있는 가장 낮은 비행 고도를 찾는 것입니다. 드론은 고도가 높아질수록 더 넓은 지역을 촬영할 수 있지만, 무조건 높이 비행하는 것이 정답은 아닙니다. 모든 지역을 촬영하면서도 가능한 한 낮은 고도로 비행해야 효율적이기 때문입니다.
시뮬레이션에서는 드론의 비행 고도와 촬영 반경이 함께 증가하도록 설정하였습니다. 드론의 고도가 30m라면 촬영 반경도 30m가 됩니다. 따라서 고도를 조금씩 높여 가며 모든 정찰 지점이 촬영 범위 안에 들어오는 순간을 찾으면, 드론의 최소 비행 고도를 구할 수 있습니다.

먼저 화면 왼쪽 위에서 정찰 지역의 수에 따라 초급, 중급, 고급 난이도를 선택할 수 있습니다. 초급은 5개, 중급은 20개, 고급은 50개의 지역을 탐색하도록 구성하였습니다. 탐색 방법은 ‘선형 탐색 모드 시작’과 ‘이진 탐색 모드 시작’ 버튼을 눌러 선택할 수 있습니다.
오른쪽 화면에서는 현재 비행 고도와 촬영 반경, 정찰에 성공한 지역의 수, 탐색을 수행한 횟수를 실시간으로 확인할 수 있습니다.
먼저 순차 탐색은 가장 낮은 고도인 1m부터 시작합니다. 1m에서 모든 지역을 촬영할 수 있는지 확인하고, 실패하면 2m, 3m, 4m와 같이 고도를 1m씩 높여 가며 다시 확인합니다. 그러다가 모든 정찰 지역이 촬영 범위 안에 들어오면 탐색을 멈춥니다.

예를 들어 모든 지역을 정찰할 수 있는 최소 고도가 71m라면 순차 탐색은 1m부터 71m까지 총 71번을 확인해야 합니다. 탐색 과정이 단순하고 빠뜨리는 값이 없다는 장점이 있지만, 정답이 뒤쪽에 있을수록 확인해야 하는 횟수가 많아집니다.
시뮬레이션에서 ‘선형 탐색 모드 시작’ 버튼을 누르면 드론의 고도가 1m씩 높아지는 모습을 확인할 수 있습니다. 촬영 가능한 지역이 점차 늘어나고, 모든 지역의 색이 바뀌는 순간 최적 고도가 결정됩니다. 순차 탐색의 과정을 눈으로 직접 볼 수 있어 알고리즘의 원리를 이해하기 쉽습니다.