|
2026 정보과학 평가 안내 수행평가 70점 + 2차정기고사 30점
[1차 수행평가 이후 2차 수행평가 대책] 1차고사 이전 모든 수업에서 최선을 다한 학생들에게 감사합니다. 2차 수행평가는 정당한 진행을 위해 다음과 같이 변경하겠습니다.
1. 학습과정 구글 폼즈 진단형성평가 1차 수행평가이후 AI사용 시험부정 민원이 제기되어 살펴본 결과 의심할 만한 다음 사항이 발견되었습니다. 시험 시작 아주 짧은 시간 안에 만점 답안지 제출(26문항을 정상적으로 풀어서 제출하기는 불가능 ) 시험 답안을 정해진 시간 이후에 제출(선생님이 감독을 마치고 구글폼 성적결과를 공지하러 오는 사이에 부정행위)
대책: 상대평가에서 절대평가 전환, 매시험 80%이상 득점 PASS 과도한 경쟁완화를 위해 1차수행평가 분석 수업에 정상참여하면 대부분 PASS 가능 UNPASS 할 경우 1점씩 감점 10점 만점에서 총 4점 이내 감점 2차 수행평가에서 모든 학습과정 PASS할 경우 1차 수행평가에서 1점 만회
2. 알고리즘 손코딩 전자기기, 종이, 손바닥 기록 등을 이용하는 것은 금지되니 모든 전자기기, 종이 등은 선반에 제출합니다. 대책: 코딩 오류 발견시 소수점 0.1점 감점을 도입하여 한 번의 실수로 전체 점수를 날리지 않도록 개선함 실수를 만회하고 재도전하는 재시험은 1주일 이내로 기간을 정하고, 원점수 득점 우선원칙을 위하여 0.1점 감점함 재시험 시간은 아침7:40분부터 7:50분까지이니 아침7:40분 이전에 정보실 입실
3. 나머지 모든 수행평가 몰아쳐서 한번에 제출하지 말고, 제출기한과 제출조건을 정확히 지켜주기 바랍니다.
지금까지 발견된 의심사례는 100% 단정할 수 없어서 부정행위로 처리하지 않았습니다. 앞으로 일어나는 부정행위는 정상적인 수업평가를 방해하는 행위이므로 규정대로 모든 영역 최하점 처리합니다. 모든 수행평가는 실력향상을 위한 과정평가이니 과학도의 양심을 가지고 평가에 정직하게 응하기 바랍니다.
[학습과정 평가 20점] 상대평가, 절대평가 진단 형성평가(구글폼즈) 1차 5점 + 2차 5점 = 10점, 1차 2차 각각 총득점 비율 상대평가 수업시간 산출물 5점 절대평가(모두제출 5점, 미제출 1점씩 감점) 수업참여 5점 절대평가(필수조건: 정시 출석, 수업시작전 컴퓨터 켜고 수업준비, 본인계정사용, 수업시간 정상 참여) (필수조건 어길 경우, 구글폼즈 손코딩 평가시간 어길 경우 1점 감점) (평가 및 산출물 제출 부정행위 발견시 기본점수 30% 처리) (2026.08.30. 이후 평가 및 산출물 제출에 다른 사람 계정 사용할 경우 부정행위로 간주함.)
[프로그래밍 20점] 절대평가 수업게시판에 게시, 주어진 조건을 만족하도록 제출, 구글폼즈(변별 필요한 경우)
[알고리즘 설계 20점] 상대평가 수업게시판에 게시, 손코딩, 구글폼즈(변별 필요한 경우)
[주제발표 10점] 절대평가, 상대평가 소논문 탐구주제 제출, 수업시간 발표, 구글폼즈(변별 필요한 경우)
=========================
[프로그래밍 영역 20점] 절대평가
프로그래밍 영역 변별을 위한 구글폼즈 거북이 자료입니다. 거북이 학습자료: https://jsinsoo.github.io/is/turtle100.html 거북이 학습문제: https://jsinsoo.github.io/is/turtle100q.html 거북이 문제풀이: https://jsinsoo.github.io/t/
1번. [수행평가 1점] 탐구주제: 반복 내접 다각형 나선(Iterated Inscribed Polygon Spiral) 알고리즘 설계 및 프로그래밍 1. 기본조건: 거북이, 파이썬 2. 입력조건: 3이상의 양의 정수 n, 0초과 1미만의 실수 r, 양의 정수 k 3. 재귀함수 사용하는 경우와 사용하지 않는 경우 2가지 OOP 와 OOP가 아닌 경우 2가지 조합하여 4가지의 파이썬 코드 파일 첨부 제출 4. 제출기일: 2026.08.30.(일) 23:59:59 5. 제출방법: mailto: onstar6395@js.hs.kr 메일제목: 학번이름_Polygon 첨부파일이름: 학번이름_Polygon01~04 파일출력결과는 캡쳐해 메일 본문에 붙이기 6. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. Colab에서 구현되는 ColabTurtlePlus는 다음에 사용할 예정입니다. 7. 주어진 조건을 모두 만족하여야 득점
2번. [수행평가 1점] 탐구주제: 괄호검사 알고리즘 설계 및 프로그래밍 1. 첨부한 괄호검사 01, 02를 확장하여 다음 조건을 만족하도록 설계 1) 괄호로 구성된 문자열 입력 받기 2) 입력받은 문자열을 스택에 담아 검사과정을 한 문자씩 보여주며 최종 판정하기 3) 판정결과와 판정이유를 설명하기 4) 빈문자열을 입력받을 때까지 무한반복하기
2. 제출기일: 2026.09.06.(일) 23:59:59 5. 제출방법: mailto: onstar6395@js.hs.kr 첨부파일 및 메일제목: 학번이름_괄호검사 파일코드는 복사해서 메일 본문에 붙이기 6. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. 7. 주어진 조건을 모두 만족하여야 득점
3번. [수행평가 1점] 탐구주제: 거북이로 아름다운 무지개 알고리즘 설계 및 프로그래밍 1. 첨부한 무재개 그림을 거북이를 이용하여 만든 코드를 다음 조건을 만족하도록 설계 2. 기본조건: Idle Python 거북이로 그림과 같이 구현하기. 창의적인 요소 추가 가능 3. 제출기일: 2026.09.27.(일) 23:59:59 4. 제출방법: mailto: onstar6395@js.hs.kr 첨부파일 및 메일제목: 학번이름_무지개 출력결과 무지개 그림은 캡쳐해서 메일 본문에 붙이기 5. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. 6. 주어진 조건을 모두 만족하여야 득점
4번. [수행평가 1점] 탐구주제: The Forest Where Our Dreams Grow 알고리즘 설계 및 프로그래밍 1. 첨부한 The Forest Where Our Dreams Grow 그림을 거북이를 이용하여 만든 코드 설계 2. 기본조건: Idle Python 거북이로 그림과 같이 구현하기. 창의적인 요소 추가 가능 3. 제출기일: 2026.10.11.(일) 23:59:59 4. 제출방법: mailto: onstar6395@js.hs.kr 첨부파일 및 메일제목: 학번이름_Forest 출력결과 The Forest Where Our Dreams Grow 그림은 캡쳐해서 메일 본문에 붙이기 5. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. 6. 주어진 조건을 모두 만족하여야 득점
5번. [수행평가 1점] 탐구주제: 2027수능9월모평 기하23번 파이썬 해석 알고리즘 설계 및 프로그래밍 1. 2027수능9월모평 기하23번 파이썬으로 해석하고 거북이로 그리는 html 생성 2. 첨부한 2027수능9월모평 기하23번 그림처럼 거북이를 이용하여 만든 코드 설계 3. 기본조건: Idle Python 거북이로 그림과 같이 구현하기. 창의적인 요소 추가 가능 4. 제출기일: 2026.10.18.(일) 23:59:59 5. 제출방법: mailto: onstar6395@js.hs.kr 첨부파일 및 메일제목: 학번이름_9월모평기하23, 첨부파일은 파이썬과 html 코드 2개 출력결과 9월모평 수학기하23번 그림은 캡쳐해서 메일 본문에 붙이기 6. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. 7. 주어진 조건을 모두 만족하여야 득점 8. 파이썬 해석 예시링크 https://jsinsoo.github.io/t/tsu23.html
6번. [수행평가 1점] 탐구주제: 2027수능9월모평 수학기하30번 파이썬 해석 알고리즘 설계 및 프로그래밍 1. 2027수능9월모평기하30번 파이썬으로 해석하고 거북이로 그리는 html 생성 2. 첨부한 2027수능9월모평기하30번 그림처럼 거북이를 이용하여 만든 코드 설계 3. 기본조건: Idle Python 거북이로 그림과 같이 구현하기. 창의적인 요소 추가 가능 4. 제출기일: 2026.10.25.(일) 23:59:59 5. 제출방법: mailto: onstar6395@js.hs.kr 첨부파일 및 메일제목: 학번이름_9월모평기하30, 첨부파일은 파이썬과 html 코드 2개 출력결과 9월모평 수학기하30번 그림은 캡쳐해서 메일 본문에 붙이기 6. 제출방법이 첨부파일을 메일로 제출이므로 Idle Python을 사용합니다. 7. 주어진 조건을 모두 만족하여야 득점 8. 파이썬 해석 예시링크 https://jsinsoo.github.io/t/tsu30.html
===========================
[알고리즘 영역 20점] 상대평가
총득점 1학년 전체학생 석차순 비율에 따라 득점
10점 상위80% 이내, 9점 80%미만 60%이상, 8점 60%미만, 최하점 3점 미참여 또는 부정행위
1차와 2차 2회 실시 20점 만점
첫 번째 도전에 아쉽게 성공하지 못한 경우
매일 아침 7:40에 한번 더 도전의 기회를 줍니다.
한번 더 도전의 기회에 성공하면 득점이 인정됩니다.
한번 더 기회는 모든 학생에게 한번 주어집니다.
1차
수행평가1 재귀함수(1점)
star = '인수샘호랑이' 와 재귀함수 tiger()를 정의하여
인→수→샘→♡←호←랑←이
를 출력하는 코드를 만드시오.
star = '인수샘호랑이'
def tiger(n):
if n == 3:
print("♡", end="")
return
print(star[n] + "→", end="")
tiger(n + 1)
print("←" + star[5 - n], end="")
tiger(0)
수행평가2 재귀함수(1점)
양의 정수 입력받고, 재귀함수 diamond() 정의하여 * 다이아몬드 출력하기
def diamond(n, i=1):
if i > 2 * n - 1:
return
if i <= n:
stars = 2 * i - 1
else:
stars = 2 * (2 * n - i) - 1
spaces = abs(n - i)
print(" " * spaces + "*" * stars)
diamond(n, i + 1)
diamond(int(input('양의 정수 입력: ')))
수행평가3 재귀함수(1점)
재귀함수 이용하여 거북이로 5각별 그리기
import turtle
t = turtle.Turtle()
t.shape("turtle")
t.speed(3)
def star(n):
if n == 0:
return
t.forward(150)
t.right(144)
star(n - 1)
star(5)
turtle.done()
수행평가4 재귀함수(1점)
서로소인 두 양의 정수 n, k를 입력받아 재귀함수와 거북이를 이용하여 n각별 그리기
import turtle
n = int(input("n: "))
k = int(input("k: "))
def star(n):
if n == 0:
return
turtle.forward(200)
turtle.right(360 * k / N)
star(n - 1)
N = n
star(n)
turtle.done()
수행평가5 재귀함수(2점) 부분점수 1점
재귀함수로 시에르핀스키 삼각형 만들기
import turtle
t = turtle.Turtle()
t.speed(0)
def triangle(size):
for i in range(3):
t.forward(size)
t.left(120)
def sierpinski(size, depth):
if depth == 0:
triangle(size)
return
sierpinski(size / 2, depth - 1)
t.forward(size / 2)
sierpinski(size / 2, depth - 1)
t.backward(size / 2)
t.left(60)
t.forward(size / 2)
t.right(60)
sierpinski(size / 2, depth - 1)
t.left(60)
t.backward(size / 2)
t.right(60)
sierpinski(400, 4)
turtle.done()
수행평가6 재귀함수(2점) 부분점수1점
재귀함수로 Theodorus 와선 만들기
import turtle
import math
t = turtle.Turtle()
t.speed(3)
scale = 80
def theodorus(n, x, y):
if n > 16:
return
nx = x - y / math.sqrt(n)
ny = y + x / math.sqrt(n)
t.goto(nx * scale, ny * scale)
t.write("√" + str(n + 1), font=("Arial", 12))
t.goto(0, 0)
t.penup()
t.goto(nx * scale, ny * scale)
t.pendown()
theodorus(n + 1, nx, ny)
t.penup()
t.goto(0, 0)
t.pendown()
t.goto(scale, 0)
t.write("1", font=("Arial", 12))
theodorus(1, 1, 0)
수행평가7 스택LIFO(1점)
여러 종류의 괄호 검사
def valid_brackets(text):
stack = []
pair = {")": "(", "]": "[", "}": "{"}
for ch in text:
if ch in "([{":
stack.append(ch)
elif ch in ")]}":
if not stack or stack.pop() != pair[ch]:
return False
return not stack
print(valid_brackets("{[()]}"))
print(valid_brackets("([)]"))
수행평가8 스택LIFO(1점)
후위 표기식 계산
def postfix(tokens):
stack = []
for token in tokens:
if token.isdigit():
stack.append(int(token))
else:
b = stack.pop()
a = stack.pop()
if token == "+":
stack.append(a + b)
elif token == "*":
stack.append(a * b)
return stack.pop()
print(postfix(["2", "3", "+", "4", "*"]))
2차
수행평가 1 정점과 간선, 인접과 차수, 그래프 (1점) 코드와 출력을 쓰시오
vertices = [0, 1, 2, 3]
edges = [(0, 1), (0, 2), (1, 3)]
degree = [0] * len(vertices)
for a, b in edges:
degree[a] += 1
degree[b] += 1
print(degree)
graph = {
"A": [("B", 4), ("C", 2)],
"B": [("C", 1)],
"C": []
}
for target, weight in graph["A"]:
print("A ->", target, "가중치", weight)
출력
[2, 2, 1, 1]
A -> B 가중치 4
A -> C 가중치 2
수행평가2 인접행렬, 인접리스트, 부모(1점) 코드와 출력을 쓰시오
n = 6 edges = [(0,1), (0,2), (1,3), (1,4), (2,5)] matrix = [[0] * n for _ in range(n)]
for a, b in edges: matrix[a][b] = 1 matrix[b][a] = 1
print("인접행렬",matrix)
graph = [[] for _ in range(n)]
for a, b in edges: graph[a].append(b) graph[b].append(a)
print("인접리스트",graph)
parent = [-1] * n parent[0] = 0 stack = [0]
while stack: v = stack.pop() for nxt in graph[v]: if parent[nxt] == -1: parent[nxt] = v stack.append(nxt)
print('부모',parent)
출력 인접행렬 [[0, 1, 1, 0, 0, 0], [1, 0, 0, 1, 1, 0], [1, 0, 0, 0, 0, 1], [0, 1, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0]] 인접리스트 [[1, 2], [0, 3, 4], [0, 5], [1], [1], [2]] 부모 [0, 0, 0, 1, 1, 2]
수행평가3 전위 순회(1점) 코드와 출력을 쓰시오
tree = {
"A": ["B", "C"],
"B": ["D", "E"],
"C": ["F", "G"],
"D": [], "E": [], "F": [], "G": []
}
def preorder(node):
print(node, end=" ")
for child in tree[node]:
preorder(child)
print("전위순회: ")
preorder("A")
출력
전위순회:
A B D E C F G
수행평가4 중위 순회, 후위 순위(1점) 코드와 출력을 쓰시오
left = {"A":"B", "B":"D", "C":"F"}
right = {"A":"C", "B":"E", "C":"G"}
def inorder(node):
if node in left:
inorder(left[node])
print(node, end=" ")
if node in right:
inorder(right[node])
print("\n중위순회: ")
inorder("A")
def postorder(node):
if node in left:
postorder(left[node])
if node in right:
postorder(right[node])
print(node, end=" ")
print("\n후위순회: ")
postorder("A")
출력
중위순회:
D B E A F C G
후위순회:
D E B F G C A
수행평가 5 코흐의 눈송이(1점)
import turtle
t = turtle.Turtle()
t.speed(0)
t.pensize(2)
t.penup()
t.goto(-300, 180)
t.pendown()
def koch(n, d):
if d == 0:
t.forward(n)
else:
for angle in [60, -120, 60, 0]:
koch(n / 3, d - 1)
t.left(angle)
for _ in range(3):
koch(600, 4)
t.right(120)
수행평가 6 포락선 (1점) 직선으로 12첨 별모양 만들기
import turtle, math
t = turtle.Turtle()
t.speed(0)
t.hideturtle()
def rot(x, y, deg):
a = math.radians(deg)
return (x*math.cos(a)-y*math.sin(a),
x*math.sin(a)+y*math.cos(a))
n = 24
s = 170
for ang in range(0, 360, 30):
for i in range(n + 1):
a = s*i/n
b = s*(n-i)/n
p1 = rot(a, 0, ang)
p2 = rot(0, b, ang)
t.penup(); t.goto(p1)
t.pendown(); t.goto(p2)
turtle.done()
수행평가 7 리사주 곡선 (1점) Dynamic Lissajous Curve
import turtle, math
s = turtle.Screen()
s.bgcolor("black")
s.title("Dynamic Lissajous Curve")
s.tracer(0)
p = turtle.Turtle()
p.hideturtle()
p.color("deepskyblue")
phase = 0
while True:
p.clear()
p.penup()
for i in range(501):
t = 2 * math.pi * i / 500
p.goto(270*math.sin(3*t+phase),
190*math.sin(2*t))
if i == 0:
p.pendown()
phase += .03
s.update()
수행평가 8 간단한 계산기 (1점)
수행평가 9 버튼 계산기 (2점)
=================================
[주제발표 10점] 절대평가 5점, 상대평가 5점 산출물 제출조건, 발표 수준, 태도, 준비 제출 기일 등 정성적 정량적 모든 조건 만족해야 득점
후위표기식 제출(절대평가 1점) 기한 9월14일 https://jsinsoo.github.io/python/postfix1.html 괄호검사 제출(절대평가 1점) 기한 9월14일 https://jsinsoo.github.io/edu/p30.html 정보과학 정리학습 성취도 평가 https://jsinsoo.github.io/is/bank/ 1,2 단원 성취도평가 산출물 3개 제출(절대평가 1점) 기한 9월27일 3,4 단원 성취도평가 산출물 3개 제출(절대평가 1점) 기한 10월25일 전단원 성취도평가 산출물 3개 제출(절대평가 1점) 기한 11월8일
1,2단원 3,4단원 전단원 성취도평가 구글 폼(상대평가) 11월9일부터 11월17일
1, 2단원 수업시간 발표 - 개념 읽고, 코드 설명, 코드 확인문제 해설 (상대평가) 1차고사 이전까지 개념1~개념6 중에서 1개 읽고, 코드설명하고, 코드확인문제 해설 발표하기
3, 4단원 수업시간 발표 - 개념 읽고, 코드 설명, 코드 확인문제 해설 (상대평가) 1차고사 이후 2차고사 이전까지 개념1~개념6 중에서 1개 읽고, 코드설명하고, 코드확인문제 해설 발표하기
정보과학 1단원 2단원 학습내용 관련 주제 정하고 소논문 작성 제출하기 (상대평가) 제출기한: 추석연휴기간에 작성 제출 2026. 9월27일 23:59:59까지
정보과학 3단원 4단원 학습내용 관련 주제 정하고 소논문 작성 제출하기 (상대평가) 제출기한: 2차고사 이후 1주일 동안 작성 제출 2026. 12월6일 23:59:59까지
참고자료 - 2022 개정 정보과학 단원별 융합탐구주제 200선 https://jsinsoo.github.io/is/e00.html
|