수업 정보
학년: 8~12(13세 이상 학생만 수업에 참여할 수 있음)
강좌 시간: 1시간
사용 툴: 포크리
수업/교육 환경: 포트나이트를 구동할 수 있으며 인터넷이 연결되어 있는 장치를 1인당 1개씩 사용합니다. 컴퓨터실, 이동식 노트북 거치대가 있는 환경이 이상적입니다.
작성자 연락처
작성자: Steven Isaacs, Brian Dickman
이메일: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
수업/교육 환경 설명
본 수업은 컴퓨터 공학 교육 주간 중 아워 오브 코드를 위해 디자인되었습니다.
단일 수업으로 이용해도 좋고, 다른 활동과 조합하여 대규모 프로젝트를 만들 수도 있습니다.
작성자 Steve Isaacs는 목적 또는 선택을 기반으로 한 교육 환경으로서 게임 디자인과 개발을 가르쳐, 학생들이 콘텐츠와 프로젝트 옵션 면에서 학생이 자신의 관심사에 따라 여러 가지 접근 방식으로 수업 결과에 도달할 수 있는 기회를 제공합니다.
작성자 Brian Dickman은 컴퓨터 공학 전공자로, 게임 개발 전문 스튜디오를 운영하며 인기 동영상 게임 내에서 오락 및 교육을 위한 콘텐츠를 제작하고 있습니다.
강좌 개요
퀴즈 타워에서 탈출할 수 있을까요? 더 나아가, 퀴즈 타워 탈출 게임을 만들 수 있을까요?
이 활동은 플레이어가 퀴즈를 풀며 탈출하는 게임을 만들 때 포크리의 함수(기능)을 활용하는 방법을 보여줍니다. 정답을 맞출 때마다 함수가 트리거되어, 만족스러운 음악 및 시각 효과와 함께 플레이어가 다음 단계로 이동할 수 있습니다. 답이 틀리면 유쾌하지 않은 사운드와 시각 효과가 트리거되고, 플레이어는 다시 시도해야 합니다.
이 활동을 완료하면 학생들은 시퀀서와 여러 가지 장치를 활용하여 코딩하며 함수의 기본을 이해하게 됩니다.
목표 결과
학생들의 학습 성과는 무엇일까요?
필수 질문/중요 아이디어
학생들이 단순히 문법을 단독적인 기술로서 배우는 것이 아니라 의미 있는 활동의 일부로 컴퓨터 공학 콘셉트를 익힐 수 있는가?
포크리 활동을 통해 함수와 같은 컴퓨터 공학 콘셉트를 학습하면 코딩 환경에서 콘셉트를 이해하는 데 도움이 되는가?
학생들이 게임 메카닉을 통해 컴퓨터 공학 개념을 배울 수 있는가?
게임이라는 환경에서 컴퓨터 공학의 콘셉트를 소개하면 학생들의 학습 의지를 높이는 데 도움이 되는가?
학습 활동
함수 소개
함수란 큰 코드 구조 내에서 주로 역할에 따라 정의되는 코드 단위입니다. 정확히 말해, 함수에는 다양한 입력을 통해 작동하는 코드 단위가 들어 있습니다. 그중 다수가 변수이며, 입력에 따라 변수의 값을 변화시키거나 실제 동작을 수행하는 등 구체적인 결과를 도출하게 됩니다.
– 출처 Techopedia.com
간단히 말하면 아래와 같습니다.
함수란 손쉽게 반복 호출할 수 있는 코드 조각입니다.
– 출처 code.org
예를 들어 이번 수업의 활동에서는 학생들이 포크리에서 퀴즈 게임 쇼를 진행하기 위해 여러 가지 함수를 구성하게 됩니다. 기본적으로 각 함수(이 경우는 시퀀서)는 게임 내에서 (장치를 통해) 각종 명령어를 실행하게 됩니다.
의사코드는 코드로 만들고자 하는 아이디어를 나타내기 위해 코드 작성을 시뮬레이션하는 행위입니다. 수도코드는 일반적인 구조를 보여줄 뿐, 실제 문법을 따를 필요는 없습니다. 이 수업에서는 종종 수도코드를 활용하여 개념을 설명할 것입니다.
수도코드로 표현하자면 다음과 같은 형태입니다.
함수 1(질문제시): 라운드 시작/플레이어에게 질문하기 함수 2(타이머시작): 카운트다운 타이머
나의함수(질문제시) 아래 실행 답변 버튼 초기화 음향 재생 퀴즈 질문용 랜덤 숫자 선택 질문 제시 나의함수(타이머시작) 카운트다운 타이머 시작 카운트다운 0 도달 시 시간 종료 음향 재생 메시지 표시("죄송합니다. 답변 시간이 초과되었습니다.") 다음 질문 활성화 함수 종료 함수 종료
함수 3: (정답) 나의함수(정답) 아래 실행 행복한 음향 재생 메시지 표시("맞혔습니다! 좋습니다!!") 총점에 점수 추가 다음 질문 활성화 함수종료 함수종료
함수 4: (오답) 나의함수(오답) 아래 실행 우울한 음향 재생 메시지 표시("죄송합니다. 다시 시도하세요!") 다음 질문 활성화 함수종료
위 예시에서 함수 (질문제시)가 시작되면 몇 가지 일이 발생합니다.
답변 버튼을 초기화합니다.
음향이 재생되어 질문이 나온다는 것을 알립니다.
랜덤 숫자를 선택하여 어떤 퀴즈 질문이 나올지 결정합니다.
플레이어에게 질문을 제시합니다.
이후 나올 또 다른 함수 (타이머시작)은 다음 과정을 시작합니다.
카운트다운 타이머를 시작합니다.
타이머가 0에 도달하면 음향을 재생하여 질문에 답변할 기회를 종료합니다.
2가지 함수 (정답)과 (오답)을 추가합니다. 아래 과정이 시작됩니다.
음향을 재생합니다.
해당하는 경우 점수를 조정합니다.
메시지를 표시합니다.
다음 질문을 활성화합니다.
함수 설명 동영상은 다음과 같습니다.
함수는 모든 코딩 언어에서 사용할 수 있고, 포크리와 같은 환경에서도 가능합니다.
포트나이트에서는 시퀀서를 사용하고 이벤트/액션을 시퀀서 안에 배치하는데, 시퀀서가 활성화되면 그 안의 액션이 실행됩니다.
활동
단계별 활동 과정은 학생 안내와 교사 도움말을 참조하세요.
학생은 학생 안내를 보고 작업해야 합니다.
표제를 다운로드하여 학생의 작품을 평가하세요.
외부 자료
CS Principles: 변수 소개 파트 1 CS Principles: 변수 소개 파트 2 변수 정의
일반 매핑
1A-AP-09 숫자와 기타 기호를 사용하여 정보를 표시함으로서 프로그램이 데이터를 저장하고 조작하는 방식을 모델링합니다.
1B-AP-10 시퀀스, 이벤트, 루프, 조건문이 있는 프로그램을 만듭니다.
1B-AP-12 기존 프로그램을 수정, 재구성, 자기 작품에 일부 통합하여 새로운 프로그램을 만들거나 고급 기능을 추가합니다.
1B-AP-15 프로그램 또는 알고리즘을 테스트하고 디버그(오류를 찾고 수정)하여 의도대로 작동하게 합니다.
2-AP-10 흐름도나 수도코드를 이용해 알고리즘으로 복잡한 문제를 해결합니다.
2-AP-13 문제와 하위 문제를 여러 부분으로 나누어 프로그램을 디자인, 구현, 검토합니다.
2-AP-14 파라미터로 절차를 만들고 코드를 정리하여 재사용하기 용이하게 합니다.
2-AP-17 여러 가지 실험 사례를 이용해 프로그램을 체계적으로 테스트하고 개선합니다.
3A-AP-13 학생의 사전 지식과 개인적 관심사를 활용하여 컴퓨터와 관련된 문제를 해결하는 알고리즘 프로토타입을 만듭니다.
3A-AP-16 실용적인 목적, 개인적 표현 수단, 사회적 문제 해결을 위해 이벤트로 지시를 시작하는 컴퓨터로 인공물을 디자인하고 반복적으로 개발합니다.
3A-AP-17 절차, 모듈, 목표 등의 구성물로 체계적인 분석을 통해 문제를 더 작은 요소로 분해합니다.
3A-AP-18 프로그램 내 절차, 데이터와 절차의 조합, 독립적이지만 서로 관계가 있는 프로그램 중 하나를 사용하여 아티팩트를 만듭니다.
3A-AP-22 협업 도구를 사용해 팀 역할로 작업하며 컴퓨터 인공물을 디자인하고 개발합니다.
학제적 및 21세기적 연계
본 수업은 코딩/컴퓨터 공학 관련 분야를 다룹니다.
21세기적 연계
비판적 사고
창의력
협동
커뮤니케이션
기술적 소양
유연성
리더십
이니셔티브
사회적 스킬
수정과 조정
학생의 필요, IEP, 504 등에 맞춰 수정과 조정을 제공합니다.
학생은 팀으로 작업하여 협동식 프로그래밍 접근법을 이용할 수 있습니다.
학생들이 분해/수정할 수 있는 샘플 맵을 제공해도 좋습니다.
필요시 적응형 컨트롤러/게임 컨트롤러를 제공합니다.