2과 : 시퀀싱 및 알고리즘

Overview

Lesson Objectives

이 수업이 끝나면 학생들은 시퀀스 명령을 사용하는 간단한 프로그램을 설계할 수 있습니다.

Expected Outcomes

  • 모든 학생: 최소 두 개의 Play 포드를 사용하여 명령 시퀀스를 만들 수 있습니다.
  • 대부분의 학생: 최소 3개의 Play 포드를 사용하여 명령 시퀀스를 만들고 사운드를 설정할 수 있습니다.
  • 일부 학생: 노래에서 음계나 단어를 생성하는 시퀀스의 명령어를 만들 수 있습니다.

Lessons Plan Structure

  • 언플러그드 활동
  • 코드 점퍼 안내 활동
  • 탐색
  • 이해도 확인

Resources

 

Key Vocabulary

  • 시퀀스(Sequence): 시퀀스는 한 동작 뒤에 다른 동작이 이어지는 것을 말합니다.
  • 알고리즘(Algorithm): 작업을 완료하기 위한 단계별 프로세스입니다.
  • 명령(Command): 컴퓨터에게 지시하는 것입니다. 여러 명령(Command)이 모여 알고리즘과 컴퓨터 프로그램을 구성합니다.
  • 컴퓨터 프로그램(Computer Program) : 컴퓨터에게 지시하는 것입니다. 많은 명령이 모여 알고리즘과 컴퓨터 프로그램을 구성합니다.

Materials

  • 코드 점퍼 앱에서 사운드 카테고리를 먼저 선택합니다.
      1. Thread 1 : MIDI 악기 : 피아노
      1. Thread 2 : Sample Sounds : Nature
  • 교사가 설정하고 실행하는 샘플 프로그램(음계)
 

Unplugged Activity: Creating a Sequence

Objective

학생들에게 과제를 완료하기 위해 개별 동작을 어떻게 수행할 수 있는지에 대한 아이디어를 소개합니다.

Vocabulary

소개하다

Materials

학생당 인덱스 카드 한 장, 펜/연필 또는 기타 필기구, 의자
여러 개의 의자가 일렬로 늘어선 사진여러 개의 의자가 일렬로 늘어선 사진
여러 개의 의자가 일렬로 늘어선 사진
  1. 의자를 한 줄로 세웁니다(학생당 하나씩). 학생 수가 많은 경우 5~6명의 학생으로 구성된 그룹을 선정하여 이 과제를 수행하고 나머지 학생은 관찰하고 토론에 참여하도록 할 수 있습니다.(시각 장애가 있는 학생은 무슨 일이 일어나고 있는지 관찰할 수 없으므로 모든 학생이 경험을 공유할 수 있도록 모든 학생이 테이블 그룹 또는 5~6명씩 그룹을 구성하게 하세요.)
  1. 학생들에게 아침에 등교 준비를 위해 무엇을 하는지 생각해 보도록 합니다. 가능한 단계는 다음과 같습니다:
    1. 일어나기
    2. 양치질하기
    3. 옷 입기
    4. 머리 빗기
    5. 아침 식사하기
    6. 학교까지 버스 타기 의자 줄에 있는 학생에게 필요한 만큼 단계를 추가합니다.
  1. 각 단계를 색인 카드에 적습니다. 이 작업은 교사나 학생이 할 수 있습니다. 학생들에게 어떤 과제가 있는지 발표하게 합니다.
  1. 학생들에게 자신의 과제를 기억하고 카드를 내려놓으라고 요청합니다.
  1. 학생들은 손을 맞잡아야 합니다. 교사가 "실행”이라고 말하면 첫 번째 학생이 주어진 과제를 말한 다음 줄에 선 다음 학생의 손을 잡고, 그 학생이 카드에 적힌 단어를 말한 다음 줄에 선 다음 학생의 손을 잡는 식으로 진행합니다. 이 과정은 줄의 끝에 도달할 때까지 반복됩니다.
(다른 전략으로는 학생들이 카드를 들고 옆 사람과 팔꿈치를 맞대는 것입니다. 학생은 손을 꽉 쥐는 대신 옆 학생의 팔꿈치를 가볍게 밀 수 있습니다. 이렇게 하면 학생들이 카드를 들고 있으면서도 활동을 수행할 수 있습니다.)
  1. 알고리즘이란 "작업을 완료하기 위한 단계별 과정"이라고 설명합니다. 어린 학생들을 위해 더 간단하게 설명하는 방법은 "작업을 완료하기 위한 단계 목록"이라고 설명하는 것입니다.
  1. 이 활동은 알고리즘을 실행하는 것과 유사하며 각 학생은 알고리즘의 명령어를 나타낸다고 설명합니다.
  1. 두 학생에게 손을 떨어뜨리거나 팔꿈치를 만지는 것을 멈추게 한 다음(즉, 서로의 연결을 끊게 한 다음), 알고리즘이 실행되면 어떤 일이 일어날 것이라고 생각하는지 물어봅니다. (예상 답변: 끊어진곳에서 멈출 것입니다.)
  1. 두 학생에게 자리를 바꾸게 한 다음(명령의 순서가 바뀔 것입니다), 알고리즘이 실행될 때 어떤 일이 일어날 것이라고 생각하는지 물어봅니다. (예상 답변: 작업이 올바른 순서나 순서대로 수행되지 않을 것입니다.)
  1. 학생들은 알고리즘을 다시 실행하여 자신이 예상하는 것이 어떻게 실행 되는지 테스트해봅니다.
  1. 학생들이 시퀀스라는 일종의 알고리즘을 만들었는데, 시퀀스는 지시 또는 명령의 집합으로, 나타나는 순서대로 한 번에 하나씩 수행된다고 설명합니다.

Guided Activity: Creating a Sequence with Code Jumper

Objective

플레이팟을 소개하고 학생들이 팟을 결합하여 사운드 시퀀스를 만들도록 합니다.

Vocabulary

  • 시퀀스(Sequence): 시퀀스는 한 동작 뒤에 다른 동작이 이어지는 것을 말합니다.
  • 알고리즘(Algorithm): 작업을 완료하기 위한 단계별 프로세스입니다.
  • 명령(Command): 컴퓨터에게 지시하는 것입니다. 여러 명령(Command)이 모여 알고리즘과 컴퓨터 프로그램을 구성합니다.
  • 컴퓨터 프로그램(Computer Program) : 컴퓨터에게 지시하는 것입니다. 많은 명령이 모여 알고리즘과 컴퓨터 프로그램을 구성합니다.

Materials

코드점퍼 킷트 : 허브와 플레이팟 8개

Instruction

  1. 알고리즘은 컴퓨터 프로그램과 다르다고 설명하세요. 알고리즘은 사람이 수행하거나 컴퓨터 프로그램으로 전환할 수 있는 일련의 단계입니다. 컴퓨터 프로그램은 "컴퓨터에게 작업을 수행하도록 지시하는 일련의 명령어"입니다. 알고리즘을 컴퓨터 프로그램으로 바꾸려면 코드를 사용해야 합니다.
  1. 코드 점퍼를 소개합니다. 학생들에게 코드 점퍼는 물리적 프로그래밍 도구이며 컴퓨터에 텍스트를 입력하는 대신 물리적 포드를 사용하여 프로그래밍할 수 있다는 것을 상기시킵니다.
  1. 코드 점퍼 키트 중 하나를 열고 각 학생 또는 그룹에게 플레이팟 중 하나를 건네줍니다. 학생들에게 포드를 손에 들고 살펴보라고 합니다.
  1. 각 학생이 플레이팟을 가지고 검사할 시간을 가진 후, 팟의 모양을 설명하고 어떤 기능을 하는지 추측하게 합니다. 각 팟은 프로그램의 명령어이며 다른 팟과 연결하여 시퀀스를 구성할 수 있다고 설명합니다.
    1. 플레이팟 사진플레이팟 사진
      플레이팟 사진
       
  1. 학생들에게 팟에 다이얼이 몇 개 있는지 물어봅니다(2개). 플레이팟의 다이얼은 어떤 색인가요(파란색). 다이얼의 느낌은 어떤가요(하나는 도넛 모양으로 더 뚱뚱하고 짧으며, 다이얼 주위에 돌기가 있는 다른 다이얼보다 길어요. 다른 하나는 더 얇고 키가 크며 다이얼 바깥쪽을 따라 위아래로 돌기가 있습니다)
  1. 학생들에게 팟을 귀에 대고 다이얼을 천천히 돌려서 다이얼이 회전할 때마다 딸깍거리는 소리를 들을 수 있도록 합니다. 다이얼을 클릭할 때마다 팟이 조금씩 다른 동작을 하게 된다고 설명합니다.
  1. 학생들에게 허브에 손을 대고 무엇이 있는지 설명해 보라고 합니다. 허브는 컴퓨터와 통신하고 소리를 내며 프로그램을 시작하고 중지하는 코드 점퍼의 일부라고 알려줍니다. (허브의 모든 부분에 대한 설명과 설명은 허브 튜토리얼 비디오를 참조하세요.) 모든 프로그램은 허브에서 시작하여 허브에서 나오는 각 팟을 따라 진행된다고 설명합니다.
    1. 코드 점퍼 허브 사진코드 점퍼 허브 사진
      코드 점퍼 허브 사진
  1. 학생들에게 코드 점퍼 앱을 소개합니다. 코드 점퍼 앱은 허브와 통신하여 허브에 어떤 포드가 연결되어 있는지, 연결된 포드의 다이얼이 어떤 방향으로 돌아가는지 알려주는 프로그램입니다.
코드 점퍼 앱의 홈 페이지 스크린샷입니다. 여기에는 코드 점퍼 로고, 6개의 버튼, 4개의 스레드가 표시되어 있으며, 각 스레드에는 사운드 세트의 이름이 표시됩니다. 버튼은 왼쪽에서 오른쪽으로 표시됩니다: 블루투스, 사운드, 정보, 재생, 읽기 및 중지. 사운드 세트의 이름은 왼쪽에서 오른쪽으로 다음과 같습니다: 반짝반짝, 반짝반짝; 타악기; 카우보이 컨트리; 동물.코드 점퍼 앱의 홈 페이지 스크린샷입니다. 여기에는 코드 점퍼 로고, 6개의 버튼, 4개의 스레드가 표시되어 있으며, 각 스레드에는 사운드 세트의 이름이 표시됩니다. 버튼은 왼쪽에서 오른쪽으로 표시됩니다: 블루투스, 사운드, 정보, 재생, 읽기 및 중지. 사운드 세트의 이름은 왼쪽에서 오른쪽으로 다음과 같습니다: 반짝반짝, 반짝반짝; 타악기; 카우보이 컨트리; 동물.
코드 점퍼 앱의 홈 페이지 스크린샷입니다. 여기에는 코드 점퍼 로고, 6개의 버튼, 4개의 스레드가 표시되어 있으며, 각 스레드에는 사운드 세트의 이름이 표시됩니다. 버튼은 왼쪽에서 오른쪽으로 표시됩니다: 블루투스, 사운드, 정보, 재생, 읽기 및 중지. 사운드 세트의 이름은 왼쪽에서 오른쪽으로 다음과 같습니다: 반짝반짝, 반짝반짝; 타악기; 카우보이 컨트리; 동물.
 
  1. 학생에게 허브의 포트 1에 플레이팟 하나를 연결하여 첫 번째 프로그램을 만들도록 합니다. 스레드1을 선택하고 샘플 사운드를 선택합니다: 동물을 선택합니다. 학생들에게 짧은 다이얼을 고양이로, 긴 다이얼을 1배속으로 돌리도록 합니다.
    1. 코드점퍼 허브의 포트1에 플레이팟이 연결된 사진코드점퍼 허브의 포트1에 플레이팟이 연결된 사진
      코드점퍼 허브의 포트1에 플레이팟이 연결된 사진
 
  1. 포드가 허브에 연결될 때 재생되는 소리를 가리킵니다. 들리는 소리가 코드 점퍼 앱에 표시되는 텍스트와 일치한다는 것을 보여주세요. (참고: 스레드는 데이터 단원에서 정의됩니다.)
  1. 학생들에게 허브의 재생 버튼을 누르게 합니다. 이렇게 하면 자신이 만든 프로그램을 실행할 수 있다고 설명합니다.
  1. 학생들에게 "코드 추적" 기법을 소개합니다. 이 기법은 프로그래머가 프로그램이 실행되는 동안 코드의 경로를 따라가는 기법입니다.
      • 학생에게 허브에 연결된 팟에 손을 대고 시작하여 소리가 재생되는 각 팟을 터치하게 합니다.
      • 팁: 코드를 추적할 때는 학생들이 다이얼이 아닌 포드의 흰색 또는 몸체에 손가락을 대도록 하세요.
      코드 점퍼 허브와 두 개의 플레이팟의 사진입니다. 하나의 플레이팟은 포트1의 허브에 직접 연결되어 있고, 다른 하나는 첫 번째 플레이팟의 반대쪽 끝에 연결되어 있습니다. 어린이의 손이 첫 번째 플레이팟을 가리키고 있으며 코드 추적을 나타냅니다.코드 점퍼 허브와 두 개의 플레이팟의 사진입니다. 하나의 플레이팟은 포트1의 허브에 직접 연결되어 있고, 다른 하나는 첫 번째 플레이팟의 반대쪽 끝에 연결되어 있습니다. 어린이의 손이 첫 번째 플레이팟을 가리키고 있으며 코드 추적을 나타냅니다.
      코드 점퍼 허브와 두 개의 플레이팟의 사진입니다. 하나의 플레이팟은 포트1의 허브에 직접 연결되어 있고, 다른 하나는 첫 번째 플레이팟의 반대쪽 끝에 연결되어 있습니다. 어린이의 손이 첫 번째 플레이팟을 가리키고 있으며 코드 추적을 나타냅니다.
       
  1. 학생들에게 팟에서 재생되는 소리와 그 소리가 재생되는 시간을 변경하는 방법을 알아낼 수 있는지 물어봅니다. 플레이팟의 양쪽 다이얼을 사용하여 변경하게 하고 각 다이얼의 기능을 파악하게 합니다.
  1. 학생들에게 첫 번째 팟에 세 개의 플레이팟을 더 연결하고 새 프로그램을 실행하게 합니다. 학생들에게 재생되는 팟의 순서를 결정할 수 있는지 물어봅니다. 프로그램은 항상 허브에서 시작되며 팟은 연결된 순서 차례로 재생된다는 것을 알려줍니다. 학생들은 허브에 손을 대고 각 팟을 터치하면서 각 팟이 내는 소리를 들으며 프로그램을 추적해야 합니다.
  1. 이제 학생들이 팟을 연결하는 방법과 앱이 무엇인지에 대해 기본적으로 이해했으므로 학생들에게 세 개 이상의 팟을 사용하여 자신만의 시퀀스를 만들도록 요청합니다. 학생들은 트윙클, 트윙클에 설정된 사운드를 변경하고 노래를 다시 만들 수 있습니다.
 

Closure

1. 학생들에게 프로그램의 각 포드가 한 줄의 코드를 나타낸다고 설명합니다. 2. 학생들에게 오늘 몇 줄의 코드를 작성했는지 물어봅니다. 3. 재미있는 사실: Microsoft Windows는 5천만 줄의 코드로 구성되어 있습니다!
 

Exploration/Challenge

Objective

학생들은 8개의 플레이팟으로 프로그램을 만들고, 각 팟에서 사운드를 설정하고, 프로그램을 실행하고 추적합니다.

Vocabulary

학생들

Materials

  • 코드점퍼 킷Code Jumper Kit
  • 시퀀스 및 알고리즘 탐색 코드

Instruction

교사는 다음과 같이 음악 스케일 프로그램을 설정하고 실행합니다: 먼저, 프로젝트 코드 점퍼 앱에서 스레드 1의 사운드 카테고리를 샘플 사운드로 설정하고 사운드 세트를 피아노로 설정합니다. 그런 다음 8개의 플레이팟 허브의 포트 1에 연결합니다. 마지막으로 다음 사운드가 순서대로 재생되도록 포드의 다이얼을 조정합니다:
THREAD 1 Piano
PLAY C5 for 1/2 beat
PLAY D5 for 1/2 beat
PLAY E5 for 1/2 beat
PLAY F5 for 1/2 beat
PLAY G5 for 1/2 beat
PLAY A5 for 1/2 beat
PLAY B5 for 1/2 beat
PLAY C6 for 1/2 beat
END THREAD
  • 미디 악기 음표 이름 지정에 대해서는 사용자 가이드의 참고 사항을 참고하세요.
  • 팁: 학생들에게 작성된 코드의 사본을 제공하려면 레슨 마지막에 있는 시퀀스 및 알고리즘 탐색 코드 카드를 복사하여 학생에게 적합한 형식으로 붙여넣으세요.
이것은 하나의 스레드에 8줄의 코드가 있는 스크린샷입니다. 줄은 위 프로그램에 표시된 것과 동일합니다.이것은 하나의 스레드에 8줄의 코드가 있는 스크린샷입니다. 줄은 위 프로그램에 표시된 것과 동일합니다.
이것은 하나의 스레드에 8줄의 코드가 있는 스크린샷입니다. 줄은 위 프로그램에 표시된 것과 동일합니다.
 
Code Jumper Hub와 8개의 플레이팟 사진입니다. 하나의 플레이팟은 포트 1에서 허브에 직접 연결되고, 두 번째 플레이팟은 첫 번째 플레이팟의 반대쪽 끝에 연결되며, 세 번째는 두 번째의 반대쪽 끝에 연결되는 식으로 연결됩니다.Code Jumper Hub와 8개의 플레이팟 사진입니다. 하나의 플레이팟은 포트 1에서 허브에 직접 연결되고, 두 번째 플레이팟은 첫 번째 플레이팟의 반대쪽 끝에 연결되며, 세 번째는 두 번째의 반대쪽 끝에 연결되는 식으로 연결됩니다.
Code Jumper Hub와 8개의 플레이팟 사진입니다. 하나의 플레이팟은 포트 1에서 허브에 직접 연결되고, 두 번째 플레이팟은 첫 번째 플레이팟의 반대쪽 끝에 연결되며, 세 번째는 두 번째의 반대쪽 끝에 연결되는 식으로 연결됩니다.
 
팁: 가능하면 코드를 일직선으로 배치하여 코드를 쉽게 추적하고 포드를 연결하세요.
  1. 프로그램을 실행하고 추적하면서 각 포드를 터치합니다.
  1. 학생들에게 스케일을 재현하는 데 몇 개의 팟이 필요한지 물어봅니다(8개).
  1. 학생들에게 코드 점퍼 키트를 사용하여 프로그램을 다시 만들도록 요청합니다.
  1. 학생들에게 천천히 프로그램을 생성하고 변경할 때마다 프로그램을 실행하여 각 포드가 추가되거나 수정된 후 프로그램을 추적하도록 권장합니다. 학생들이 천천히 체계적으로 프로그램을 만들게 함으로써 향후 수업을 위한 좋은 습관을 기를 수 있습니다.

Closure

  1. 학생들이 프로그램을 정확하게 재현했다고 느끼면 컴퓨터 일지에 순서를 쓰게 합니다. 각 줄에는 하나의 재생 팟과 음표, 그리고 음표 길이가 적혀 있어야 합니다.

Standards and Check for Understanding

CSTA Standards:

  • 1A-AP-08: 알고리즘(단계별 지침 세트)을 만들고 그에 따라 작업을 완료하여 일상적인 프로세스를 모델링합니다.
  • 1A-AP-12: 프로그램의 이벤트 순서, 목표 및 예상 결과를 설명하는 계획을 개발합니다.
  • 1B-AP-10: 시퀀스, 이벤트, 루프 및 조건문을 포함하는 프로그램을 작성합니다.

National Curriculum of England:

Key Stage 1:
  • 알고리즘이 무엇인지, 알고리즘이 디지털 장치에서 프로그램으로 어떻게 구현되는지, 프로그램이 정확하고 명확한 지침에 따라 실행되는지 이해합니다.
  • 논리적 추론을 사용하여 간단한 프로그램의 동작을 예측합니다.
Key Stage 2:
  • 프로그램에서 순서, 선택, 반복을 사용하고 변수와 다양한 형태의 입력 및 출력으로 작업합니다.
  • 논리적 추론을 통해 간단한 알고리즘의 작동 방식을 설명하고 알고리즘과 프로그램의 오류를 감지하고 수정할 수 있습니다.
  • 안전하고 정중하며 책임감 있게 기술을 사용하고, 허용되는 행동과 허용되지 않는 행동을 인식하며, 콘텐츠 및 접촉에 대한 우려 사항을 보고하는 다양한 방법을 파악합니다.

Closing Activities and Check for Understanding

학생들에게 컴퓨터 과학 일지에 일상적인 활동에 대한 일련의 지침을 적거나, 터치 타이핑하거나, 구두로 말하게 합니다.
가능한 예는 다음과 같습니다:
  • 애완동물에게 먹이 주기
  • 신발 끈 묶기
  • 테이블 세팅하기
  • 옷 입기
  • 방 청소하기
  • 잠자리 준비하기
학생들은 예제를 단계로 나누고 논리적인 순서로 단계를 순서대로 수행할 수 있어야 합니다.
 
Check for understanding
Completed
학생들은 순차적인 단계로 구성된 일상 활동을 식별하고 논리적인 순서로 단계를 순서대로 나열할 수 있습니다.
Yes / No