정보과학 교과 소개

프로그래밍부터 알고리즘까지, 미래를 만드는 컴퓨터 과학의 세계

Python이란?

쉬운 문법

Python은 인간의 언어와 가장 가까운 프로그래밍 언어입니다. 직관적이고 읽기 쉬운 문법으로 초보자도 쉽게 배울 수 있습니다.

다양한 활용

웹 개발, 인공지능, 데이터 분석, 게임 개발까지 다양한 분야에서 활용되는 범용 프로그래밍 언어입니다.

풍부한 라이브러리

수많은 라이브러리와 프레임워크가 존재하여 복잡한 기능도 간단하게 구현할 수 있습니다.

교육과정 소개

I. 프로그래밍

교육 목적

    정보 교과에서 배운 프로그래밍 지식을 바탕으로 함수의 설계와 호출 방법을 학습하여 주어진 문제를 해결할 수 있도록 구성하였다. 특히 재귀 구조를 기반으로 재귀 호출을 활용한 프로그래밍을 깊이 있게 다루었다.

01. 함수

  • 함수의 정의와 호출
  • 함수의 설계 (반환값, 매개변수, 지역 / 전역 변수)

02. 재귀 함수

  • 재귀 함수의 정의와 호출
  • 재귀 함수의 설계
  • 반복 구조와 재귀 구조의 비교

II. 데이터 구조

교육 목적

    다양한 문제 상황을 선형 및 비선형 자료 구조로 구성하여 제시하였다. 제시한 자료 구조를 프로그래밍으로 구현하여 실생활 관련 문제를 효율적으로 해결할 수 있도록 하였다.

01. 선형 데이터 구조

  • 큐(Queue)의 개념과 구현
  • 스택(Stack)의 개념과 구현

02. 비선형 데이터 구조

  • 그래프(Graph)의 개념과 구현
  • 트리(Tree)의 개념과 구현

III. 알고리즘

교육 목적

    여러 학문 분야와 실생활 문제 등을 정확하고 효율적으로 해결하기 위한 최적의 알고리즘 설계 방법을 안내하였다. 또한, 실제 프로그래밍 과정을 통하여 알고리즘 설계 및 구현 능력을 익힐 수 있도록 구성하였다.

01. 알고리즘의 성능과 분석

  • 알고리즘 복잡도와 시간 복잡도
  • 빅오 표기법과 알고리즘 비교

02. 탐색 기반 알고리즘

  • 전체 탐색과 상태 공간 배제
  • 분기 한정법과 탐욕법

03. 관계 기반 알고리즘

  • 분할 정복법
  • 동적 계획법

IV. 정보과학 프로젝트

교육 목적

    I, II, III단원에서 학습한 내용을 바탕으로 프로젝트 활동을 수행할 수 있도록 구성하였다. 다양한 상황에서 '문제 발견, 문제 분석, 알고리즘 설계, 프로그래밍 언어 구현'의 과정을 거쳐, 문제 해결 능력을 기르는 데 중점을 두었다.

컴퓨터 과학과 문제 해결

  • 추상화, 알고리즘 설계, 자동화
  • 여행 계획 세우기 프로젝트
  • 8퍼즐 문제 해결하기
  • 지속가능 발전 프로젝트

고교학점제 운영에 관련 설명

고교학점제에서 정보과학의 위치

진로 선택 과목 + 교향 과목이 아닌 교과는 모두 5등급제

고교학점제와 정보과학의 연결점

  • 자유로운 과목 선택: 진로에 따라 정보과학 관련 과목을 다양하게 선택 가능
  • 심화 학습 가능: 정보과학 → 프로그래밍 → 인공지능 등 순차적 이수 가능

평가와 이수 기준

  • 정보과학은 일반적으로 성취평가제(수강 성적: A~E)로 평가
  • 1단원 = 50분 수업 x 17주, 보통 정보과학은 5단원 전후로 운영
  • 학기당 일정 학점 이상 이수 필수 → 누적 학점이 졸업 기준을 넘어야 졸업 가능

대학교별 정보과학 과목 반영 예시

  • 서울대학교: 정량적 반영은 없으나 전공 관련 과목(정보, 프로그래밍 등) 이수와 세특 내용이 전공적합성 평가에 긍정적 영향을 미침
  • 고려대학교: 학생부 교과 전형에서 계열 적합성 기준으로 정보과학 과목 이수 시 가산점 또는 가중치 부여
  • 한양대학교(소프트웨어인재전형): 정보 및 프로그래밍 과목 이수와 성취도, 관련 활동(포트폴리오 등) 평가에 반영
  • 한국공학대학교: 학생부 교과 전형에서 정보 과목에 1.5~2.0의 높은 가중치 반영
  • 인하대학교: 자연계열 전형에서 수학·과학·정보 관련 과목 성적 중점 반영 + 전공 연계성 평가

알고리즘 설계 방법

문제 분석
입력 / 출력 정의
조건 분기
처리 과정
결과 출력

체계적인 문제 해결 과정

복잡한 문제를 단계적으로 분해하여 해결하는 방법을 배웁니다. 플로우차트와 의사코드를 활용하여 논리적 사고력을 기르고, 실제 코드로 구현하는 과정을 경험합니다.

추상화 복잡한 문제를 단순화하여 핵심 요소만 추출
분해 큰 문제를 작은 하위 문제로 나누어 해결
패턴 인식 반복되는 패턴을 찾아 효율적으로 처리

알고리즘 설계 예시

이 예시는 제가 개인 프로젝트를 진행하며 설계한 알고리즘입니다. 이를 통해 코드 작성의 틀을 잡고, 피드백이 필요한 부분을 빠르게 검토할 수 있습니다.

알고리즘 설계 예시 1
알고리즘 설계 예시 2

교과과정 실무 적용

텔레그램 봇 개발

API 활용 네트워크 통신 조건문 / 반복문

📚 교과과정 연계

  • 함수: 봇의 각 기능을 함수로 모듈화
  • 조건문: 사용자 입력에 따른 분기 처리
  • 반복문: 메시지 수신 대기 루프
  • 자료구조: 사용자 데이터 관리를 위한 딕셔너리/리스트 활용

💻 핵심 구현 내용

def handle_message(message):
    if message.text == "/start":
        send_welcome_message()
    elif message.text == "/help":
        send_help_message()
    else:
        process_user_input(message)

머신러닝 프로젝트

데이터 분석 알고리즘 시각화

📚 교과과정 연계

  • 알고리즘 복잡도: 모델 학습 시간 분석
  • 탐색 알고리즘: 최적 파라미터 탐색
  • 분할 정복: 대용량 데이터 처리
  • 동적 계획법: 최적화 문제 해결

💻 핵심 구현 내용

def train_model(data):
    # 데이터 전처리
    X, y = preprocess_data(data)
    
    # 모델 학습
    model = train_algorithm(X, y)
    
    # 결과 시각화
    visualize_results(model)

만들 수 있는 프로젝트

🤖

웹페이지 취약점 분석 AI

웹 페이지의 소스코드와 입력값을 분석하여 SQL Injection, XSS, CSRF 등 다양한 취약점을 자동으로 탐지하는 AI 시스템을 구축해보세요. 인공지능을 활용해 보안 위협을 사전에 감지하고 대응할 수 있는 지능형 보안 솔루션을 구현할 수 있습니다.

NLP API 봇 개발
프로젝트 보러가기 →
📊

딥러닝 데이터 분석

실제 데이터를 활용한 딥러닝 모델을 구축해보세요. 데이터 전처리부터 모델 훈련, 결과 시각화까지 전체 과정을 경험할 수 있습니다.

머신러닝 데이터 분석 시각화
프로젝트 보러가기 →
🎮

게임 개발 프로젝트

Python을 활용한 간단한 게임을 만들어보세요. 알고리즘과 자료구조를 실제로 적용하며 재미있는 프로그래밍을 경험할 수 있습니다.

게임 개발 알고리즘 GUI
프로젝트 보러가기 →
🌐

웹 크롤링 프로젝트

웹사이트에서 데이터를 수집하고 분석하는 프로젝트입니다. 실시간 정보 수집과 데이터 시각화를 통해 유용한 인사이트를 얻을 수 있습니다.

크롤링 데이터 수집 분석
프로젝트 보러가기 →

Q&A 및 문의

궁금한 점이 있으시면 언제든지 연락주세요!

제작자

20402 권다니엘

Instagram

@dzoe_08

Email

dzoek08@gmail.com

더 자세한 정보는 진향옥 선생님과 이상옥 선생님께 문의하세요.