이 글은 [챗GPT와 함께 배우는 엔트리 마스터하기]에서 발췌했습니다.
저자 김종훈, 김현경, 김동건 / 골든래빗 출판사
엔트리 작품을 만들기 앞서 엔트리란 무엇이고 어떻게 사용하는지 알아봅시다. 또한 대화형 인공지능 챗GPT란 무엇이고, 엔트리로 작품을 만들 때 챗GPT가 어떻게 활용되는지 알아봅시다.
1. 엔트리 시작하기
엔트리는 소프트웨어 교육을 누구나 쉽게 무료로 받을 수 있도록 2013년에 개발된 교육용 프로그래밍 언어입니다. 현재는 네이버의 비영리 교육 기관인 커넥트 재단에서 운영하는 창작 플랫폼으로써 소프트웨어 교육을 통해 미래를 꿈꾸고 함께 성장하는 데 활용되고 있습니다. 프로그래밍을 처음 접하는 사람이라면 대부분 특유의 명령 기호나 문법 때문에 어렵게 느껴졌을 겁니다. 엔트리는 프로그래밍의 이러한 단점을 해소하고자 어려운 명령 기호나 문법을 몰라도 코딩을 할 수 있도록 만들어졌습니다.
엔트리는 블록 쌓기 놀이를 할 때처럼 마우스로 명령어 블록을 끌어다 연결해가며 프로그램을 만들기 때문에 프로그래밍을 처음 접하는 사람도 쉽게 배울 수 있습니다. 또한 그림, 애니메이션, 소리 등 다양한 미디어와 인공지능, 데이터 분석 기능을 지원하고 있어서 다양한 형식의 프로그램을 만들 수 있습니다. 그렇다면 엔트리를 어떻게 이용할 수 있는지 알아보겠습니다.
1.1 엔트리 회원 가입하기
엔트리는 회원 가입을 하지 않아도 무료로 사용할 수 있습니다. 그러나 내가 만든 작품을 저장하고 다른 사람과 공유하려면 회원 가입을 해야 합니다. 회원 가입을 진행하기 전에 엔트리 홈페이지는 어떻게 구성되어 있는지 알아본 다음 회원 가입을 진행하겠습니다. 먼저 엔트리 홈페이지에 접속하세요.
- 엔트리 홈페이지 : https://playentry.org
엔트리 메인 화면이 나오며 상단 메뉴와 엔트리 작품들이 보일 겁니다. 처음 접속했으니 다음 그림을 통해 메인 메뉴의 구성 요소를 먼저 살펴보겠습니다.
이제 엔트리 신규 회원으로 가입하는 방법을 설명하겠습니다.
02 새롭게 엔트리 계정을 만들기 위해 오른쪽 아래에 위치한 ① [회원 가입하기] 버튼을 누릅니다. ② 이용약관과 개인정보 수집 및 이용 동의를 체크한 후 ③ [아이디로 회원가입] 버튼을 누릅니다.
03 엔트리에서 사용할 ➊ 아이디, 비밀번호, 비밀번호 확인을 작성하고 ➋ [다음] 버튼을 눌러 이동합니다.
04 회원 정보 마지막 입력 단계입니다. 먼저 ① 회원 유형을 선택합니다. 선생님으로 가입하면 학급을 개설하여 학생을 관리할 수 있습니다. 유형에 맞는 선택을 한 다음 ② 성별, 닉네임, 출생 연도, 이메일을 입력하고 ③ [확인] 버튼을 누릅니다.
05 회원 가입 완료와 함께 환영 화면이 나오며 입력한 이메일 주소로 전송된 인증 메일에서 [이메일 인증하기]를 누르면 회원 가입이 완료됩니다.
1.2 엔트리 개발 환경 알아보기
회원 가입을 완료했다면 이제 엔트리 홈페이지에서 작품을 만드는 환경을 살펴보겠습니다.
01 엔트리 홈페이지에 접속하여 로그인 화면으로 이동한 다음 ① 아이디와 비밀번호를 입력하고 ② [아이디로 로그인] 버튼을 눌러 로그인합니다.
02 엔트리 메인 화면 상단 메뉴에서 [만들기] → [작품 만들기]를 클릭하면 엔트리로 프로그램을 개발할 수 있는 화면으로 이동합니다. 엔트리 작품 만들기가 처음이라면 다음 그림과 같이 각 항목에 대한 간단한 설명이 나옵니다.
구성 요소가 다양하고 많아서 복잡하게 보일 수 있습니다. 그러나 실제 작품을 만들면서 각각의 요소에 대한 기능을 이해하면 어렵지 않다는 것을 알게 될 것입니다. 우선 화면 상단의 메인 메뉴부터 차근차근 살펴보겠습니다.
03 화면 ① 왼쪽 상단에 네모 칸은 작품의 제목을 넣는 곳입니다. 임시로 ‘날짜_아이디 작품’으로 채워져 있으며 수정하면 됩니다. ② 오른쪽 프린터 모양의 버튼을 누르면 인쇄가 가능합니다. 바로 옆의 ③ 화살표 모양 아이콘은 되돌리기 버튼으로 클릭하면 ‘앞으로 가기 / 뒤로 가기’를 할 수 있습니다. ④ 로그인한 계정의 아이디가 보이며 클릭하면 회원 관련 정보 및 기능 설정으로 이동합니다. ⑤ 언어는 한국어와 영어 중에 선택할 수 있습니다.
04 이제 중간에 있는 아이콘을 살펴봅시다. 맨 왼쪽부터 차례대로 클릭하면 아래로 메뉴가 펼쳐집니다. 각 메뉴의 기능 설명은 다음 표를 통해 알아봅시다.
05 이번에는 엔트리 작품 만들기 화면에서 코딩할 때 사용하는 화면의 각 부분별 기능을 다음 표를 통해 살펴보겠습니다.
1.3 오브젝트와 블록을 알아보자!
오브젝트와 블록, 아직은 뭐가 뭔지 잘 모르겠죠? 여러분이 엔트리를 공부하면서 오브젝트나 블록이 무엇인지, 어떤 종류가 있는지 점차 알아갈 텐데요, 엔트리 작품을 구성하는 데 있어서 꼭 필요한 것이 바로 오브젝트와 블록입니다. 그럼 오브젝트와 블록이 무엇인지 알아봅시다.
실행 화면에서 움직이거나 연산하는 등 명령을 수행하는 캐릭터나 무대를 오브젝트라 합니다. 오브젝트의 종류는 엔트리봇뿐만 아니라 사람, 동물, 배경 등 다양합니다. 작품을 만들 때 ‘+ 오브젝트 추가하기’에서 원하는 오브젝트를 선택하고 추가하여 나만의 독창적인 작품을 만들 수 있습니다. 이런 오브젝트가 어떤 동작을 하는지를 나타내는 것이 코드 블록으로, 블록 탭을 보면 그 종류가 다양하게 제공됩니다. 여러분이 직접 블록 꾸러미에 있는 블록을 연결해서 오브젝트를 움직이게 할 수도 있고, 블록을 이용해 코딩하여 재미있는 작품을 만들 수도 있습니다. 자, 이제 나만의 오브젝트를 선택하고 블록을 이용해 코딩하여 재미있는 엔트리 작품을 만들어봅시다.
2. 챗GPT와 함께 엔트리 공부하는 방법
챗GPT는 질문에 답변해주는 대화형 인공지능 프로그램입니다. 카톡으로 채팅하듯이 서로 이야기를 주고받으며 원하는 질문에 대한 답을 빠르게 얻을 수 있죠. 많은 전문가들이 ‘미래에는 이 기술이 더 다양한 분야에서 활용될 것’이라 이야기합니다. 실제로 우리 주변의 전문 프로그래머도 챗GPT의 도움을 받아 일하고 있어요.
2.1 채팅창 만들어 챗GPT에게 질문하기
01 로그인을 하면 다음과 같은 화면이 나오며 왼쪽 상단 메뉴에 있는 [새 채팅] 아이콘을 클릭하면 새 채팅이 만들어집니다.
02 챗GPT가 엔트리 코딩을 돕는 도우미 역할을 하도록 만들어봅시다. 다음과 같이 챗GPT에게 엔트리 코딩 선생님이 되어 달라고 부탁하는 말만 입력하면 됩니다.
간단한 대화 한 번으로 AI 코딩 선생님이 생겼습니다. 챗GPT에게 엔트리 코딩에 대한 질문을 할 때는 꼭 이 채팅창을 이용하세요. 챗GPT가 이전 대화를 기억하고, 우리가 원하는 방향을 이해하며 답해줄 겁니다.
2.2 챗GPT로 블록코딩 질문하기
이제 엔트리와 챗GPT가 준비되었으니 챗GPT에게 엔트리로 블록코딩하는 방법을 물어보겠습니다.
🙋♂️ 챗GPT에게 질문하기
블록 기반 코딩 플랫폼인 엔트리로 반복 구조를 사용하여 회문인지 판별하는 프로그램을 작성하는 방법을 설명해주세요. 단, 반복 횟수를 의미하는 변수를 사용합니다.
🧠 챗GPT의 답변 확인하기
엔트리(Entry)에서 반복 구조와 변수를 사용하여 문자열이 회문인지 판별하는 프로그램을 작성하는 방법을 설명하겠습니다. 여기서는 반복 횟수를 의미하는 변수를 사용하여 문자열의 앞뒤를 비교하여 회문인지 확인합니다.
- 엔트리 블록 기반 코딩 플랫폼 열기
먼저, 엔트리 사이트(https://playentry.org/)에 접속하여 로그인하거나, 게스트로 코딩할 수 있는 프로젝트를 시작합니다.
- 새로운 프로젝트 생성
새 프로젝트를 생성합니다. 예를 들어, ‘엔트리봇’ 캐릭터를 사용합니다.
- 변수 및 문자열 입력
회문 판별에 사용할 문자열을 저장하고, 결과를 저장할 변수를 생성합니다.
- 변수 메뉴에서 변수 만들기를 클릭합니다.
- 변수 이름을 input_string, is_palindrome, count로 설정합니다.
- 블록 구성
반복 구조와 조건문을 사용하여 문자열의 앞뒤를 비교하여 회문인지 판별하는 알고리즘을 블록으로 구현합니다.
블록 코드 예시
① 시작하기 버튼을 클릭했을 때
- 시작하기 버튼을 클릭했을 때 블록을 사용합니다.
② 변수 초기화
- 변수 “input_string”을 원하는 문자열로 설정합니다.
- 변수 “is_palindrome”을 “참”으로 초기화합니다.
- 변수 “count”를 1로 초기화합니다.
③ 회문 판별 알고리즘
- 반복문을 사용하여 문자열의 앞뒤를 비교합니다.
- 만약 앞뒤 문자가 다르면 is_palindrome 변수를 “거짓”으로 설정합니다.
[시작하기 버튼을 클릭했을 때]
└─ [변수 “input_string”을 “level”로 정하기] # 판별할 문자열
└─ [변수 “is_palindrome”을 “참”으로 정하기] # 초기값을 참으로 설정
└─ [변수 “count”를 1로 정하기] # 반복 횟수를 의미하는 변수 초기화
└─ [반복하기 ((글자 수 (변수 “input_string”)) // 2)번]
└─ [ 만약 (변수 “input_string”의 (변수 “count”)번째 글자) ≠ (변수 “input_string”의 ((글자 수 (변수 “input_string”) - 변수 “count”) + 1)번째 글자)면]
└─ [변수 “is_palindrome”을 “거짓”으로 정하기]
└─ [변수 “count”를 (변수 “count” + 1)로 정하기]
└─ [만약 (변수 “is_palindrome” = “참”)면]
└─ [말하기 “입력한 문자열은 회문입니다” (2초 동안)]
└─ [아니면]
└─ [말하기 “입력한 문자열은 회문이 아닙니다” (2초 동안)]
단계별 설명
① 시작하기 버튼을 클릭했을 때 : 프로그램이 시작되면 실행됩니다.
② 변수 초기화 : input_string 변수를 원하는 문자열로 설정하고, is_palindrome 변수를 “참”으로 초기화합니다. count 변수를 1로 초기화합니다.
③ 반복문 사용 : 문자열 길이의 반만큼 반복하면서 각 문자의 앞뒤를 비교합니다.
④ 조건문 사용 : 만약 앞뒤 문자가 다르면 is_palindrome 변수를 “거짓”으로 설정합니다.
⑤ 결과 출력 : is_palindrome 변수를 확인하여 문자열이 회문인지 여부를 출력합니다.
- 실행 및 확인
프로그램을 실행하여 문자열이 회문인지 판별하고 올바르게 결과를 출력하는지 확인합니다.
이와 같은 단계로 엔트리에서 반복 구조를 사용하여 문자열이 회문인지 판별하는 프로그램을 작성할 수 있습니다.
챗GPT를 이용해서 엔트리로 반복 구조를 사용하여 회문인지 판별하는 프로그램의 작성법을 확인했습니다. 이같은 방법으로 챗GPT를 활용한 블록코딩 교육을 실천할 수 있습니다.
챗GPT의 답변대로 블록코딩을 진행해도 프로그램이 작동하지 않을 수도 있습니다. 챗GPT가 모든 걸 알고 있는 건 아니니까요. 그러므로 챗GPT의 답변을 살펴보면서 프로그래밍의 개념을 파악하고, 스스로 블록코딩할 수 있도록 하는 연습이 꼭 필요합니다.
저자 김종훈
안녕하세요, 독자 여러분? 저는 제주대학교 교수로 학부, 대학원, 과학영재교육원에서 SW·AI 교육을 가르치고 있습니다. 다수의 컴퓨터 분야 베스트셀러를 포함해 30여 권을 집필한 작가이기도 하죠. SW·AI 교육 관련 정보를 공유하기 위해 SW 교육 카페도 운영하고 있어요.
저자 김현경
안녕하세요, 독자 여러분? 저는 김포한가람중학교 정보·컴퓨터 교사로 학생들에게 올바른 SW·AI 지식을 전달하기 위해 노력하고 있어요. 어려서부터 컴퓨터 교사를 꿈꾸며 컴퓨터 분야에 관심이 많아 재학 시절 영재교육원 보조강사, 구름 SW·AI 유나이티드 캠프 멘토, 한국컴퓨터교육학회 학술대회 우수 논문상 수상 등 다양한 활동을 진행했습니다. 지식을 나누고자 엔트리 유튜브 채널을 운영하고 있어요.
저자 김동건
안녕하세요, 독자 여러분? 저는 KAIST 학생으로 SW를 활용하여 건강한 세상을 만들기 위해 노력하고 있어요. 초등학생 때 한국정보올림피아드 전국대회에서 은상을 수상한 경험이 있으며 고등학생 때 몬테카를로 방법을 이용한 정적분 시뮬레이션, 머신러닝 예측 모델 개발, 딥러닝 모델 개발 등을 연구했습니다. 현재는 학술대회에서 3편의 논문 발표와 교육 관련 멘토 등 SW·AI 관련 활동을 꾸준히 해오고 있어요.