dnc0 / app.py
ll7098ll's picture
Update app.py
d58b965 verified
import os
import time
import streamlit as st
import google.generativeai as genai
from streamlit_extras.colored_header import colored_header
from streamlit_extras.add_vertical_space import add_vertical_space
import markdown
import pyperclip
# Google Gemini API 키 설정
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
# 모델 설정
generation_config = {
"temperature": 0.7, # 창의성 조절 (0에 가까울수록 반복적인 텍스트 생성)
"top_p": 0.85, # 상위 확률 기반 토큰 샘플링 범위
"top_k": 40, # 상위 k개 토큰 고려
"max_output_tokens": 8192, # 최대 출력 토큰 수 제한
"response_mime_type": "text/plain",
}
model = genai.GenerativeModel(
model_name="gemini-2.5-flash",
generation_config=generation_config,
)
def generate_dnc_plan(objective):
"""
Dick & Carey 체제적 교수 설계를 생성합니다.
Args:
objective: 학습 목표
Returns:
생성된 Dick & Carey 체제적 교수 설계
"""
prompt = [
"INSTRUCTIONAL DESIGN USING THE DICK AND CAREY SYSTEMS APPROACH, 주어진 학습목표를 분할정복 방법으로 분석하여 Dick & Carey 시스템 접근법을 활용한 교수 설계",
"input: 학습 목표",
"output: Dick & Carey 시스템 접근법을 활용한 교수 설계 1. 교수 목표 분석\n\n목표: 측정가능한 목표로 설정\n\n세부 목표:\n(1) 언어적 정보:\n\n(2) 지적 기능:\n\n(3) 운동 기능:\n\n(4) 태도:\n\n(5) 인지 전략:\n\n2. 지식, 이해, 기능 목표의 하위 요소 분석\n학습 목표를 A, B, C 영역으로 나누기\nA-1, A-2, A-3 등으로 하위 목표 설정\n*하위요소 분석은 분할 정복을 활용하여, 구체적으로, 단계적으로, 위계적으로 작성할 것\n\n3. 출발점 기능 및 오개념 진단\n\n이 단원의 학습을 시작하기 전에 학생들이 갖추고 있어야 할 기본적인 기능과 예상되는 오개념을 진단하는 것은 매우 중요합니다. 이를 통해 학생들의 수준을 정확히 파악하고, 그에 맞는 수업을 설계할 수 있습니다.\n\n3.1 출발점 기능:\n\n학습 목표를 성공적으로 달성하기 위해 다음과 같은 최소 수준의 지식과 기능을 갖추고 있어야 한다.\n\n3.2 오개념 진단 및 중재 방안:\n\n학생들이 학습하면서 나타날 수 있는 대표적인 오개념과 이에 대한 구체적인 진단 방법, 그리고 오개념을 바로잡기 위한 중재 방안을 다음과 같이 제시합니다.\n\n3.3 진단 활동 예시:\n\n3.4 진단 결과 활용:\n\n\n4. 수행 목표 및 수행 과제 (GRASPS)\n\n5. 교수 설계: 수업 방법, 단계별 수업의 구체적 계획 (n차시)\n\n6. 활용 가능한 자료\n\n7. 평가 방법 및 도구, 평가 루브릭(상, 중, 하)", "input: 나눗셈의 원리를 이해하여, 세자리 수 나누기 두 자리수 나눗셈 연산을 할 수 있다.",
"input: 나눗셈의 원리를 이해하여, 세자리 수 나누기 두 자리수 나눗셈 연산을 할 수 있다.",
"output: Dick & Carey 시스템 접근법을 활용한 교수 설계 Dick & Carey 시스템 접근법을 활용한 교수 설계: 세 자리 수 ÷ 두 자리 수 나눗셈 연산\n\n1. 교수 목표 분석\n\n목표: 학생들은 나눗셈의 원리를 이해하고, 이를 바탕으로 세 자리 수 ÷ 두 자리 수 나눗셈을 80% 이상의 정확도로 10문제 중 8문제 이상 해결할 수 있다. 또한, 다양한 문제 상황에서 나눗셈을 적절하게 활용하고, 그 결과를 해석하고 설명할 수 있다.\n\n세부 목표:\n(1) 언어적 정보:\n나눗셈 용어 (피제수, 제수, 몫, 나머지)를 정확하게 이해하고, 문맥에 맞게 사용하여 자신의 생각을 표현할 수 있다.\n나눗셈 과정을 단계별로 말과 글로 설명할 수 있다.\n나눗셈 결과를 실생활 상황과 연관 지어 문장으로 해석하고, 자신의 생각을 명확하게 전달할 수 있다.\n\n(2) 지적 기능:\n나눗셈의 개념과 원리를 곱셈, 뺄셈과 연관 지어 설명할 수 있다.\n세 자리 수 ÷ 두 자리 수 나눗셈 문제 상황을 분석하고, 적절한 해결 전략을 선택하여 문제를 해결할 수 있다.\n어림셈 (반올림, 올림, 내림)을 활용하여 몫의 자릿수를 추측하고, 계산 결과의 합리성을 판단할 수 있다.\n몫과 나머지의 의미를 정확하게 이해하고, 이를 활용하여 나눗셈 결과를 다양한 방법으로 표현할 수 있다.\n\n(3) 운동 기능:\n나눗셈 계산 과정을 노트에 정확하고 깔끔하게 자릿수를 맞춰 적을 수 있다.\n나눗셈 문제 해결 과정에서 곱셈, 뺄셈을 정확하게 계산하고 활용할 수 있다.\n\n(4) 태도:\n나눗셈 문제 해결 과정에 흥미와 자신감을 가지고, 적극적으로 참여한다.\n정확한 계산을 위해 노력하고, 끈기 있게 문제를 해결하려는 태도를 갖는다.\n모둠 활동에 적극적으로 참여하고, 다른 사람의 의견을 존중하며 경청하는 태도를 갖는다.\n자신의 생각을 논리적으로 표현하고, 다른 사람과 의사소통하는 과정에서 수학적 사고 능력을 키운다.\n\n(5) 인지 전략:\n나눗셈 문제 해결에 필요한 정보 (피제수, 제수, 몫, 나머지)를 문제 상황에서 파악하고, 곱셈과 뺄셈을 활용하여 나눗셈 계산을 수행한다.\n어림셈을 활용하여 몫의 자릿수를 예측하고, 계산 결과를 검산을 통해 정확성을 확인한다.\n문제 해결 과정을 반성하고, 오류를 스스로 수정하며, 더 효율적인 방법을 찾으려고 노력한다.\n\n2. 지식, 이해, 기능 목표의 하위 요소 분석\n\nA. 나눗셈의 개념과 원리를 이해한다.\nA-1. 나눗셈 상황을 똑같이 나누어야 하는 실생활 상황과 연결하여 이해한다. (예: 사탕 12개를 4명에게 똑같이 나누어 주는 상황)\nA-2. 나눗셈이 같은 수를 몇 번 빼는가를 나타내는 연산임을 반복 뺄셈과의 관계를 통해 설명할 수 있다. (예: 12 - 4 - 4 - 4 = 0, 12 ÷ 4 = 3)\nA-3. 나눗셈은 곱셈의 역연산임을 이해하고, 곱셈식과 나눗셈식을 연결하여 설명할 수 있다. (예: 3 x 4 = 12 ↔ 12 ÷ 4 = 3)\nA-4. 나눗셈 용어 (피제수, 제수, 몫, 나머지)를 구분하고, 각 용어의 의미를 실제 나눗셈 상황 속에서 설명할 수 있다. (예: 13 ÷ 4 = 3 ... 1 에서 13은 피제수, 4는 제수, 3은 몫, 1은 나머지)\nA-5. 피제수, 제수, 몫, 나머지의 관계를 식과 그림(묶음 그림, 수 모형 등)으로 나타내고 설명할 수 있다.\n\nB. 세 자리 수 ÷ 두 자리 수 나눗셈을 수행한다.\nB-1. 세 자리 수 ÷ 두 자리 수 나눗셈의 계산 원리를 두 자리 수 ÷ 한 자리 수 나눗셈과의 공통점과 차이점을 비교하며 이해한다.\nB-2. 어림셈(반올림, 올림, 내림)을 통해 몫의 자릿수를 추측하고, 그 이유를 제수와 몫의 관계를 바탕으로 설명할 수 있다. (예: 78 ÷ 20 에서 20을 20으로 어림하고, 20 x 3 = 60, 20 x 4 = 80 이므로 몫은 3~4 사이의 수임을 예측)\nB-3. 제수와 몫의 곱을 이용하여 나누어지는 수를 구하고, 곱셈과 나눗셈의 관계를 활용하여 계산 과정을 설명할 수 있다.\nB-4. 뺄셈을 이용하여 나머지를 구하고, 나머지가 항상 제수보다 작아야 함을 이해하고 설명할 수 있다.\nB-5. 몫과 나머지를 이용하여 나눗셈 결과를 완성된 문장으로 실생활 상황에 맞게 표현할 수 있다. (예: 34개의 사탕을 5명에게 나누어 주면 한 명당 6개씩 가지고, 4개가 남습니다.)\n\nC. 나눗셈을 활용하여 실생활 문제를 해결한다.\nC-1. 다양한 실생활 문제 상황(물건 구입, 여행 계획, 시간 분배 등)에서 나눗셈이 필요한 상황을 찾고 문제를 구조화할 수 있다.\nC-2. 문제 상황에서 주어진 정보와 조건을 파악하고, 필요한 정보와 불필요한 정보를 구분할 수 있다.\nC-3. 문제 해결에 적합한 전략(어림셈, 식 세우기, 표 그리기 등)을 선택하고, 나눗셈을 이용하여 문제를 해결할 수 있다.\nC-4. 문제 해결 과정을 논리적으로 설명하고, 답의 타당성을 검토하며, 결과를 문제 상황에 맞게 해석할 수 있다.\n\n3. 출발점 기능 및 오개념 진단\n\n이 단원의 학습을 시작하기 전에 학생들이 갖추고 있어야 할 기본적인 기능과 예상되는 오개념을 진단하는 것은 매우 중요합니다. 이를 통해 학생들의 수준을 정확히 파악하고, 그에 맞는 수업을 설계할 수 있습니다.\n\n3.1 출발점 기능:\n\n학생들이 세 자리 수 ÷ 두 자리 수 나눗셈 학습 목표를 성공적으로 달성하기 위해 다음과 같은 최소 수준의 수학적 지식과 기능을 갖추고 있어야 한다.\n\n(1) 곱셈 구구의 완벽한 이해 및 활용:\n곱셈 구구를 암기하고, 이를 활용하여 곱셈 문제를 능숙하게 해결할 수 있어야 한다.\n곱셈 구구표를 보고, 특정 숫자의 배수를 빠르게 찾을 수 있어야 한다.\n나눗셈을 곱셈의 역연산으로 이해하고, 곱셈 구구를 나눗셈 계산에 활용할 수 있어야 한다.\n\n(2) 두 자리 수 곱셈:\n두 자리 수 곱셈의 원리를 이해하고, 자릿수를 맞춰 정확하게 계산할 수 있어야 한다.\n받아올림이 있는 두 자리 수 곱셈도 능숙하게 수행할 수 있어야 한다.\n나눗셈 과정에서 몫의 확인 및 검산을 위해 두 자리 수 곱셈을 정확하게 활용할 수 있어야 한다.\n\n(3) 두 자리 수 ÷ 한 자리 수 나눗셈:\n나눗셈의 기본 개념과 원리를 이해하고, 두 자리 수를 한 자리 수로 나누는 계산을 정확하게 수행할 수 있어야 한다.\n몫과 나머지의 개념을 정확하게 이해하고, 나눗셈의 결과를 몫과 나머지를 사용하여 나타낼 수 있어야 한다.\n나머지는 항상 제수보다 작다는 것을 이해하고, 이를 계산 과정에 적용할 수 있어야 한다.\n\n(4) 받아내림이 있는 뺄셈:\n받아내림이 있는 뺄셈의 원리를 이해하고, 정확하게 계산할 수 있어야 한다.\n나눗셈 과정에서 연속적으로 뺄셈을 수행해야 하므로, 빠르고 정확한 뺄셈 능력이 요구된다.\n\n(5) 기본적인 문제 해결 능력:\n문제 상황을 이해하고, 주어진 정보를 파악할 수 있어야 한다.\n간단한 문제 해결 전략(그림 그리기, 표 만들기 등)을 사용해 본 경험이 있어야 한다.\n\n3.2 오개념 진단 및 중재 방안:\n\n학생들이 세 자리 수 ÷ 두 자리 수 나눗셈을 학습하면서 나타날 수 있는 대표적인 오개념과 이에 대한 구체적인 진단 방법, 그리고 오개념을 바로잡기 위한 중재 방안을 다음과 같이 제시합니다.\n\n(1) 나머지를 항상 0으로 만들려고 하는 경우: 이는 학생이 나눗셈의 개념을 완전히 이해하지 못하고, 나머지가 없는 나눗셈에 익숙해져서 나타나는 오개념입니다.\n진단: 다양한 나눗셈 문제를 제시하고 몫과 나머지를 구하도록 하면서, 특히 나머지가 발생하는 문제에 대한 학생의 반응을 살펴봅니다. 나머지를 0으로 만들기 위해 몫을 임의로 조정하거나, 나머지가 있는 답을 아예 쓰지 못하는 경우 이 오개념을 의심해 볼 수 있습니다.\n중재:\n바둑돌, 칩 등 구체물을 활용하여 나눗셈 상황을 직접 만들어보고, 나머지가 발생하는 경우를 자연스럽게 경험하도록 합니다. 예를 들어, 13개의 바둑돌을 4명에게 똑같이 나누어 주는 상황을 연출하고, 남는 바둑돌의 의미를 생각해 보도록 유도합니다.\n나머지가 0이 아닌 경우에도 나눗셈이 가능함을 명확하게 설명하고, 몫과 나머지를 함께 나타내는 연습을 합니다. \"13 ÷ 4 = 3 ... 1\"과 같이 몫과 나머지를 함께 표기하는 방식을 익히고, 이것이 3개씩 나누어 가진 후 1개가 남는 상황을 나타냄을 이해하도록 합니다.\n실생활에서 나머지가 발생하는 나눗셈 상황을 예시로 들어 설명합니다. 예를 들어, 사탕 13개를 4명에게 나누어 주면 1개가 남는 상황, 21명의 학생을 5명씩 한 모둠으로 구성할 때 1명이 남는 상황 등을 제시하여 나머지의 개념을 보다 쉽게 이해하도록 돕습니다.\n\n(2) 몫의 자릿수를 잘못 결정하는 경우: 이는 자릿값 개념이 부족하거나, 어림셈을 활용하지 못해서 발생하는 오개념입니다.\n진단: 몫이 두 자리 수, 세 자리 수인 나눗셈 문제를 제시하고 몫의 자릿수를 예측하도록 합니다. 만약 학생이 몫의 자릿수를 지속적으로 잘못 쓰거나, 어림 없이 무작정 계산을 시작하는 경우 이 오개념을 의심해 볼 수 있습니다.\n중재:\n수 모형, 자릿값 표를 활용하여 세 자리 수와 두 자리 수의 크기를 비교하고, 몫의 자릿수를 예측하는 방법을 시각적으로 제시합니다. 예를 들어, 234 ÷ 12를 계산할 때, 234를 나타내는 수 모형을 12개씩 묶어 몫이 어느 자리 수에서 시작될지 시각적으로 확인하도록 합니다.\n제수를 이용한 묶음 곱셈을 통해 몫의 자릿수를 유추하는 방법을 단계별로 연습합니다. 예를 들어, 234 ÷ 12 = ? 에서 12 x 10 = 120, 12 x 20 = 240 임을 이용하여 몫이 10의 자리에서 시작하고 20보다는 작다는 것을 유추하도록 합니다.\n어림셈의 중요성을 강조하고, 다양한 어림 방법(반올림, 올림, 내림)을 활용하여 몫의 자릿수를 예측하는 연습을 합니다.\n\n(3) 나눗셈 과정에서 뺄셈을 잘못하는 경우: 이는 받아내림이 있는 뺄셈에 익숙하지 않아서 발생하는 오류입니다.\n진단: 나눗셈 과정에서 뺄셈을 수행하는 과정을 자세히 관찰하고, 뺄셈 오류가 발생하는 경우 어떤 부분에서 어려움을 느끼는지 질문하고 뺄셈 과정을 다시 한번 설명하도록 합니다.\n중재:\n받아내림이 있는 뺄셈 연습 문제를 충분히 제공하여 계산 능력을 향상시킵니다. 특히, 나눗셈 과정에서 자주 등장하는 뺄셈 유형을 중심으로 연습합니다.\n뺄셈 과정을 시각적으로 제시하는 자료(수직선, 숫자 카드 등)를 활용하여 뺄셈 과정을 명확하게 이해하도록 돕습니다.\n나눗셈 과정에서 뺄셈을 수행할 때, 각 자릿수를 정확하게 맞춰 쓰는 습관을 기르도록 지도합니다.\n\n(4) 나머지가 제수보다 크거나 같은 경우: 이는 나눗셈의 개념과 원리를 제대로 이해하지 못했거나, 계산 과정에 미숙함이 있어서 발생하는 오류입니다.\n진단: 나머지가 제수보다 크거나 같은 나눗셈 결과를 제시하고, 맞는지 묻습니다. 왜 틀렸는지, 어떻게 고쳐야 하는지 설명하도록 하여 학생의 이해도를 파악합니다.\n중재:\n바둑돌, 칩 등 구체물을 활용하여 나눗셈을 직접 수행하고, 나머지가 제수보다 작아야 함을 직관적으로 이해하도록 돕습니다.\n몫을 하나씩 늘려가면서 제수와 곱한 값을 비교하고, 나머지가 제수보다 작아지는 지점을 찾는 연습을 합니다.\n나눗셈 과정을 단계별로 써보고, 각 단계에서 나머지와 제수의 크기를 비교하는 습관을 기르도록 지도합니다.\n일반적인 중재 방안:\n모든 오개념에 대해 공통적으로, 오류의 원인을 명확히 파악하고 학생의 수준에 맞는 설명과 자료를 활용하는 것이 중요합니다.\n추상적인 설명보다는 구체적인 예시, 시각적 자료, 조작적 활동을 통해 학생들이 직접 참여하고 이해하도록 유도하는 것이 효과적입니다.\n충분한 연습과 피드백을 통해 학생들이 개념을 정확하게 숙달하도록 돕고, 자신감을 길러주는 것이 중요합니다.\n\n3.3 진단 활동 예시:\n\n사전 진단 평가: 단원 시작 전, 위에 제시된 출발점 기능과 오개념 관련 문제를 포함한 간단한 평가를 실시합니다.\n\n관찰 및 질문: 수업 중, 학생들의 활동 모습, 풀이 과정, 질문 내용을 통해 오개념이나 어려움을 겪는 부분을 파악합니다.\n\n오답 노트 작성: 학생들이 틀린 문제를 오답 노트에 적고, 왜 틀렸는지, 어떻게 해결해야 하는지 스스로 분석하고 반성하도록 합니다.\n\n3.4 진단 결과 활용:\n\n수준별 수업: 진단 결과를 바탕으로 학생들의 수준을 파악하고, 수준별 학습 자료 및 활동을 제공하여 개별 학습 needs를 충족시킵니다.\n\n보충 학습: 오개념을 보이는 학생들에게는 구체물 조작, 또래 교수, 개별 지도 등을 통해 개념을 다시 한번 설명하고 오개념을 바로 잡아줍니다.\n\n학습 과정 조절: 학생들의 이해 수준에 따라 수업 속도를 조절하고, 필요한 경우 추가적인 설명이나 활동을 제공합니다.\n\n4. 수행 목표 및 수행 과제 (GRASPS)\n\nGoal (목표): 우리 반 소풍 계획 담당자가 되어, 주어진 예산으로 최대한 많은 친구들이 즐길 수 있도록 버스 대여, 입장료, 간식 구입 등을 계획하고, 예산 계획 보고서를 작성하여 발표한다.\n\nRole (역할): 소풍 계획 담당자 (예산 담당, 교통 담당, 간식 담당 등 역할 분담 가능)\n\nAudience (청중): 같은 반 친구들과 선생님\n\nSituation (상황): 제한된 예산으로 반 친구들과 즐거운 소풍을 가야 하는 상황\n\nProduct/Performance (결과물/수행): 예산 계획 보고서 (계획표, 선택지별 가격 비교, 계산 과정, 예상 남는 금액, 결과 설명 포함) 작성 및 발표\n\nStandards (기준):\n\n나눗셈을 이용하여 문제 상황을 정확하게 해결했는가?\n\n어림셈을 활용하여 몫을 예측하고, 계산 결과를 확인했는가?\n\n계산 과정을 논리적으로 설명하고, 결과를 명확하게 제시했는가?\n\n예산 계획 보고서가 창의적이고, 효과적으로 정보를 전달하는가?\n\n모둠 활동에 적극적으로 참여하고, 다른 사람과 협력하는 모습을 보였는가?\n\n5. 교수 설계: 수업 방법, 단계별 수업의 구체적 계획 (5차시)\n\n<1차시: 나눗셈과 친해지기>\n\n도입 (10분)\n\n퀴즈: 곱셈, 뺄셈, 나눗셈 개념 복습 (Kahoot 활용)\n\n동기 유발: 일상생활에서 나눗셈이 사용되는 예시를 그림 카드로 제시 (예: 과자 똑같이 나누기, 용돈 나눠 쓰기, 학용품 나누어 주기)\n\n전개 (25분)\n\n활동 1: 모둠별 활동 - 실생활 나눗셈 상황 카드 제시, 상황극으로 표현하기 (모둠별 3~4개 상황 제시, 역할 분담하여 연기)\n\n활동 2: 전체 토의 - 각 모둠별 발표, 나눗셈의 필요성과 중요성 인식\n\n활동 3: 용어 복습 - 나눗셈 용어 카드 게임 (짝 활동, 빙고 게임 활용)\n\n정리 (5분)\n\n1차시 내용 정리: 나눗셈 용어 정리, 퀴즈 풀이 (Padlet 활용)\n\n차시 예고: 다음 시간에는 무엇을 배울지 간략하게 소개 (학습 목표 제시)\n\n<2차시: 나눗셈의 원리를 파헤치자!>\n\n도입 (10분)\n\n전시 학습 복습: 나눗셈 용어 퀴즈 (Quizizz 활용)\n\n동기 유발: 곱셈과 뺄셈을 이용하여 나눗셈 문제 해결하기 (칠판에 문제 제시, 학생들의 풀이 과정 공유)\n\n전개 (25분)\n\n활동 1: 직접 해보기 - 바둑돌을 이용하여 나눗셈의 원리 시각적으로 경험 (예: 12개 바둑돌을 4개씩 묶어 몇 묶음인지 세어보기)\n\n활동 2: 개념 설명 - 곱셈과 나눗셈의 관계 설명 (곱셈식과 나눗셈식 연결\n카드 활용), 나머지 개념 도입 및 설명 (그림 자료 활용)\n\n활동 3: 짝 활동 - 숫자 카드를 이용한 나눗셈 연습, 서로 설명하며 풀이 과정 확인 (다양한 난이도의 문제 제시)\n\n정리 (5분)\n\n2차시 내용 정리: 곱셈과 나눗셈의 관계, 나머지 개념 정리, 오늘 배운 내용을 활용한 문제 풀이 (Nearpod 활용)\n\n차시 예고: 다음 시간에는 세 자리 수 ÷ 두 자리 수 나눗셈을 어떻게 계산하는지 배우겠다고 예고 (학습 목표 제시)\n\n<3차시: 세 자리 수 ÷ 두 자리 수 나눗셈, 어렵지 않아요!>\n\n도입 (10분)\n\n전시 학습 복습: 나눗셈 개념 및 용어 복습 퀴즈 (Mentimeter 활용, 실시간 피드백 제공)\n\n동기 유발: 두 자리 수 ÷ 한 자리 수 나눗셈과 비교하며 세 자리 수 ÷ 두 자리 수 나눗셈 문제 제시, 해결 방법 탐색 (짝 활동)\n\n전개 (20분)\n\n활동 1: 개념 설명 - 세 자리 수 ÷ 두 자리 수 나눗셈 계산 원리 설명 (수 모형, 자릿값 표 활용), 어림셈의 중요성 강조 (예시 문제 풀이 시연)\n\n활동 2: 'Think-aloud' 전략 - 교사가 먼저 나눗셈 문제 해결 과정을 단계별로 생각하며 말하기, 학생들은 집중하여 듣고 질문 (학습 참여 유도)\n\n활동 3: 개별 연습 - 교과서 또는 학습지의 나눗셈 문제 풀이 (다양한 난이도 문제 제공, 개별 학습 수준 고려)\n\n정리 (5분)\n\n3차시 내용 정리: 중요 개념 및 풀이 과정 필기, 오늘 배운 내용을 활용한 문제 풀이 (Google Classroom 과제 제출)\n\n차시 예고: 다음 시간에는 나눗셈을 활용한 실생활 문제를 해결해 보겠다고 예고 (학습 목표 제시)\n\n<4차시: 나눗셈 실력을 발휘해 보세요!>\n\n도입 (10분)\n\n전시 학습 복습: 세 자리 수 ÷ 두 자리 수 나눗셈 문제 풀이 (3문제, 개별 풀이 후 짝과 함께 확인)\n\n동기 유발: 소풍 계획 시 필요한 예산 계산 상황 제시 (PPT 자료 활용, 실제 소풍 장소 사진 포함), 문제 상황 제시 (예: 제한된 예산으로 버스 대여, 입장료, 간식 구입)\n\n전개 (25분)\n\n활동 1: 모둠 구성 및 역할 분담 (4~5인 1모둠, 예산 담당, 교통 담당, 간식 담당 등 역할 분담, 협력 및 의사소통 강조)\n\n활동 2: 모둠별 활동 - 제공된 자료 (소풍 장소 정보, 버스 대여 업체, 간식 가격표 등)를 활용하여 예산 계획 세우기 (나눗셈 활용)\n\n활동 3: 예산 계획 보고서 작성 (계획표, 선택지별 가격 비교, 계산 과정, 예상 남는 금액, 결과 설명 포함) (PPT, Canva 등 활용)\n\n정리 (5분)\n\n4차시 내용 정리: 각 모둠별 예산 계획 간략하게 발표, 다른 모둠 계획과 비교하며 배우기 (모둠별 평가 및 자기 평가 실시)\n\n차시 예고: 다음 시간에는 최종 예산 계획 발표 및 평가 시간을 갖겠다고 예고 (발표 준비 당부)\n\n<5차시: 우리 반 소풍 계획 발표회>\n\n도입 (5분)\n\n발표회 안내 및 평가 기준 설명 (명확하고 구체적인 평가 기준 제시)\n\n전개 (30분)\n\n모둠별 발표 (5분 내외): 예산 계획 발표 (PPT, Canva 등 활용), 다른 모둠 발표에 대한 경청 및 질의응답 (적극적인 참여 유도)\n\n피드백 제공: 교사는 각 모둠 발표에 대한 긍정적인 피드백 제공, 개선점 제시 (구체적이고 발전적인 피드백 제공)\n\n정리 (5분)\n\n수업 내용 정리: 배운 내용 복습, 나눗셈의 활용 사례 공유, 소감 나누기\n\n최종 평가: 개별 평가지 (나눗셈 계산 문제, 실생활 문제 해결, 학습 내용 정리) (개별 학습 성취도 점검)\n\n6. 활용 가능한 자료\n\n교구: 모눈종이, 바둑돌, 숫자 카드, 수 모형, 자릿값 표, 칠판, 마커\n\n시각자료: PPT, 그림 카드, 실제 소풍 장소 사진, 버스 대여 업체 정보, 간식 가격표\n\nIT 기기 및 프로그램: 컴퓨터, 프로젝터, 인터넷, Kahoot, Quizizz, Mentimeter, Nearpod, Google Classroom, Padlet, PPT, Canva\n\n7. 평가 방법 및 도구, 평가 루브릭(상, 중, 하)\n\n평가 방법:\n\n관찰: 수업 중 참여도 및 태도, 모둠 활동 참여도, 문제 해결 과정 관찰 (체크리스트 활용)\n\n과제: 나눗셈 문제 풀이, 예산 계획 보고서 작성 (루브릭 활용)\n\n발표: 모둠별 프로젝트 발표 (루브릭 활용)\n\n자기 평가: 수업 참여도, 모둠 활동 참여도, 문제 해결 과정, 학습 내용 이해도 등을 스스로 평가 (자기 평가지 활용)\n\n동료 평가: 모둠 활동에서 다른 모둠원의 참여도 및 협력 정도를 평가 (동료 평가지 활용)\n\n평가 도구:\n\n체크리스트: 수업 참여도 및 태도 평가 (수업 시간에 집중하는가? / 질문에 적극적으로 대답하는가? / 모둠 활동에 적극적으로 참여하는가? / 다른 사람의 의견을 존중하는가?)\n\n루브릭: 나눗셈 문제 풀이, 예산 계획 보고서, 모둠별 발표 평가 (아래 루브릭 참고)\n\n자기 평가지: 스스로 생각하는 자신의 강점과 약점, 개선할 점 등을 기록\n\n동료 평가지: 모둠 활동에서 함께 활동한 친구들의 장점과 개선할 점 등을 기록\n\n평가 루브릭 (예시):\n\n<나눗셈 문제 풀이>\n\n평가 기준\t상 (3점)\t중 (2점)\t하 (1점)\n나눗셈 원리 이해\t나눗셈의 개념과 원리를 정확하게 이해하고, 곱셈, 뺄셈과의 관계를 설명할 수 있다.\t나눗셈의 개념과 원리를 대부분 이해했으나, 일부 부족한 부분이 보인다.\t나눗셈의 개념과 원리에 대한 이해가 부족하고, 오류가 있다.\n계산 능력\t세 자리 수 ÷ 두 자리 수 나눗셈을 정확하게 계산하고, 검산을 통해 결과를 확인한다. 어림셈을 적절하게 활용한다.\t세 자리 수 ÷ 두 자리 수 나눗셈을 대부분 정확하게 계산하지만, 간혹 실수가 있다.\t세 자리 수 ÷ 두 자리 수 나눗셈 계산에 어려움을 느끼고, 잦은 실수를 한다.\n문제 해결 능력\t나눗셈을 이용하여 실생활 문제 상황을 분석하고, 적절한 해결 전략을 선택하여 문제를 해결한다. 답의 합리성을 판단하고 설명할 수 있다.\t나눗셈을 이용하여 문제를 해결하려고 노력하지만, 과정이나 결과에 다소 오류가 있다.\t나눗셈을 활용한 문제 해결에 어려움을 느끼고, 적절한 해결 방법을 찾지 못한다.\n\n<예산 계획 보고서 & 발표>\n\n평가 기준\t상 (3점)\t중 (2점)\t하 (1점)\n정보 수집 및 분석\t필요한 정보를 정확하게 수집하고, 분석하여 계획에 반영한다. 다양한 정보를 비교하고, 합리적인 선택을 한다.\t필요한 정보를 대부분 수집했지만, 일부 정보가 누락되었거나, 분석이 부족하다.\t정보 수집 및 분석이 미흡하여 계획에 제대로 반영하지 못했다.\n문제 해결 및 계획 제시\t나눗셈을 활용하여 예산 계획을 논리적으로 수립하고, 현실적인 해결 방안을 제시한다. 예상되는 문제점과 해결 방안을 제시한다.\t나눗셈을 활용하여 예산 계획을 세웠지만, 계획이 다소 비현실적이거나, 문제점 및 해결 방안 제시가 부족하다.\t나눗셈을 활용한 문제 해결 및 계획 제시에 어려움을 느끼고, 현실적인 계획을 수립하지 못했다.\n의사소통 및 발표\t자신의 생각과 계획을 명확하고 논리적으로 설명하고, 듣는 사람의 이해를 돕기 위해 다양한 시각 자료를 활용한다. 질문에 적절하게 답변한다.\t자신의 생각과 계획을 설명하지만, 논리적 흐름이 부족하거나, 시각 자료 활용이 미흡하다.\t자신의 생각과 계획을 명확하게 설명하지 못하고, 듣는 사람의 이해를 돕기 어렵다.\n협력 및 참여\t모둠 활동에 적극적으로 참여하고, 다른 사람의 의견을 경청하며, 합의를 통해 계획을 완성한다.\t모둠 활동에 참여하지만, 다소 소극적인 부분이 있거나, 다른 사람의 의견을 충분히 반영하지 못한다.\t모둠 활동에 제대로 참여하지 않고, 다른 사람과 협력하는 모습을 보이지 않는다.\n\n참고:\n\n본 교수 설계는 예시이며, 실제 수업 상황 및 학생 수준에 맞춰 수정 및 보완하여 활용할 수 있습니다.\n\nDick and Carey 시스템 접근법의 단계들을 참고하여 보다 체계적인 교수 설계를 할 수 있습니다.\n\n학생들의 흥미와 참여를 유도하기 위해 다양한 활동과 자료를 활용하는 것이 좋습니다.\n\n평가는 단순히 점수를 매기는 것이 아니라, 학생들의 성장과 발전을 돕는 과정이 되어야 합니다.\n\n자기 평가 및 동료 평가는 학생들의 자기 성찰 및 협력적인 학습 태도를 함양하는 데 도움을 줄 수 있습니다.",
f"input: {objective}",
]
full_text = ""
try:
response = model.generate_content(prompt, stream=True)
for chunk in response:
full_text += chunk.text
output_area.markdown(full_text, unsafe_allow_html=True)
time.sleep(0.1)
except Exception as e:
st.error(f"에러 발생: {str(e)}")
return ""
return full_text
# Streamlit UI 설정
colored_header(
label="Dick & Carey 체제적 교수설계 도우미",
description="학습 목표를 입력하면 Dick & Carey 체제적 교수설계를 해줍니다.",
color_name="blue-70",
)
add_vertical_space(1)
# 입력 필드 설정
objective = st.text_input("학습 목표", "")
generate_button = st.button("교수 설계 생성")
# 출력 영역
generated_curriculum = ""
output_area = st.empty()
# 버튼 클릭 시 교수 설계 생성
if generate_button and objective:
generated_curriculum = generate_dnc_plan(objective)
st.session_state.generated_curriculum = generated_curriculum
# 복사 버튼 추가
if st.button("출력 내용 복사"):
pyperclip.copy(generated_curriculum)
st.success("복사되었습니다!")
# 이전에 생성된 결과가 있을 경우 출력
if "generated_curriculum" in st.session_state and st.session_state.generated_curriculum:
html_text = markdown.markdown(st.session_state.generated_curriculum, extensions=['tables'])
output_area.markdown(html_text, unsafe_allow_html=True)
# 복사 버튼 추가 (이미 생성된 경우)
if st.button("출력 내용 복사", key="copy_button_2"):
pyperclip.copy(st.session_state.generated_curriculum)
st.success("복사되었습니다!")