교육과정

    프로그램 언어들을 이용하여 코딩을 하는것은 결코 하루 아침에 익혀지는것이 아닙니다.  어려운 프로그램 언어를 습득하기전에 먼저 코딩의 기본적인 알고리듬을 익히기위해 초등학교때 Scratch는 어느정도 기초를 다져놓아야 합니다. 
초등 고학년이 되면 학생들이  슬슬 Scratch에 실증을 느끼게 되고 주변에서 많이 들어본 C/C++, JAVA, Python프로그램을 배워보고 싶어합니다. 이러한 언어들은  이 또래 학생들이 배우기에는 좀 어려운 감이 있습니다. 아이가 원한다고 무턱대로 배우기 시작하면  갈수록 어려워지는  수학공식과 문법등을 접하면서 중도에 포기하는 경우가 생기며, 이후 코딩에 등을 돌리기도 합니다.
    Scratch는 영어 언어로 본다면, Kindergarten또는 ESL 초급반 정도 수준입니다. ESL 수준을 갓 마친 학생에게 갑자기 영어로 에세이 (C/C++) 를 써보라는것은 무리이겠지요.   그래서 그 중간단계인 HTML/CSS/JavaScript 의 학습이 필요하게 됩니다. 별로 중요하지 않다고 생각할 수도 있지만 모든것은 단계가 있습니다.
HTML/CSS/JavaScript 과정이 끝난 후 어느정도 텍스트기반 코딩의 코딩 방법, 문법적용등에 익숙해지면 그다음은 Python 등 학생이 원하는 프로그램 언어로 넘어가서 그 언어를 익히면 됩니다.
    모든 프로그램 언어들은 기본적인 문법과 명령어들을 익히고 나면, 매우 난해한 문제를 제외하고는 혼자 학습이 가능하고 현재 학교의 각  교과 과정을 이해하는데 충분합니다.
    아이코딩학원은 프로그램 언어에 관심을 가지고 있는 학생들에게 Scratch, HTML5/CSS3/JavaScript, Python의 기초를 익히는데 도움을 줍니다.
IGCSE Computer Science 시험 대비반도 운영 중 입니다.


IGCSE Computer Science


  IGCSE Computer Science는 Paper 1 이론문제 와 Paper 2 알고리즘문제로 구성되어 있습니다.(2023년 시험 부터는 새로 바뀐 유형의 시험이 제공됩니다.) 
  Course Book등을 이용해 이론부분 시험에 대비 합니다. Paper 2 알고리즘 부분은 책으로만 공부해서 시험을 대비하기에는 약간 버거운면이 있습니다.Paper 2 의 Part 2는 Python의 기초가 준비가 되어 있는 학생의 경우에는 큰 어려움 없이 문제를 풀어나갈수 있을정도의 난이도를 가지고 있습니다. 하지만, 기초가 부족한 학생 (학교 수업으로만 학습이 전부)인 학생의 경우 시험문제를 보는순간 당황 할 수도 있습니다. 문제의 난이도는 크게 어렵지 않지만, 익숙치 않은  출제 문제 유형 및  실제로 코드를 이해하고 작성해야하는 tasks에서 어려움을 격게 됩니다.
   결론적으로,Python의 기초를 건너뛴 상태로 실전 시험을 보게된다면  큰 어려움을 격게 됩니다. 기초부터 차근차근 익히고,  IGCSE시험 대비용 수업 및 여러차례 실전 문제 풀이 등을 통해서 시험에 자신감을 갖도록 하여야 합니다. 

★적정 교육 학년 : NLCS Grade 10~Grade 11

AP Computer Science Principle (CSP)

AP Computer Science Principle (CSP)는 70점의 객관식 문제와 30점의 프로그래밍 과제물로 점수를 책정합니다
.
AP CSP의 점수는 1점에서 5점까지이며, 몇 대학에서 3점도 인정을 하기는 하지만 미국의 주요 대학교에서는 기본 5점에서 4점의 점수가 인정을 받게 됩니다. 
총점 90점 이상이면 5점
총점 80점 이상이면 4점
총점 62점 이상이면 3점 등을 받게 됩니다.

프로그래밍 과제물은 온라인으로 제출하게 되며, 1~6pt 사이에 채점이 됩니다. 각 pt당 총점의 5점에 해당하며, 최고점수는 30점이 됩니다.

시험의 난이도는 그리 어렵지 않아서 적은 기간의 공부만으로도 객관식 문제의 내용이 커버 가능합니다.
30점짜리 과제물은 학생의 알고리즘 능력과 documentation능력을 테스트합니다. 과제물의 난이도는 알고리즘부분은 중-하, documentation은 중-상 정도입니다. AP에서 공식적으로 준비기간 2-3주면 가능하다고는 하지만, 알고리즘에 대해서 아는것이 없다면 다른 이야기가 됩니다. 학생의 알고리즘 능력을 미리 인지하고 준비가 필요합니다.

★적정 교육 학년 : Grade 10~Grade 11
- KIS / SJA 


Python

     Python은 기존의 C, C++, Java 등의 언어들 보다 코딩 문법이 비교적 쉽워 초보자부터 전문개발자들까지 많은 사용층을 거느린  Hot 한 코딩 언어입니다. 요즘들어 한국과 미국등이 여러 대학교 CS 프로그램밍 수업 코딩언어를 C, C++나 Java에서 Python으로 옮겨가는 추세이며, 백엔드 개발의 시작으로 익히기가 쉽습니다.
    학교 Comp. Sci.시간에  익히는 python은 분명히 한계가 있으며, 가장 기본이 되는 언어의 기초문법 교육 부분에서 많이 취약합니다. 그로인해 학생들이 학교과제를 작성하는데 있어서 많은 어려움을 직면하게 됩니다.

★적정 교육 학년 : Grade 6~Grade 10
- KIS / SJA / NLCS


HTML/CSS/JS

   HTML은 웹프로그램의 기초로, 텍스트기반인 <tag>들을 이용하여  웹페이지의 기초 골격을 만드는 언어입니다.HTML 언어과 더불어 CSS 언어를 활용하여 웹페이지를 보기좋게 디자인해줍니다. JavaScript 언어를 이용해 이벤트 관리 및 계산능력 등을 이용해 웹페리지를  더욱 다이나믹하게 꾸며줍니다.
   HTML/CSS/JavaScript는 프론트엔드 개발의 시작입니다.

★ 교육 적정 학년 : Grade 4 ~ Grade 8
- SJA / KIS / NLCS 

블럭코딩 (Scratch)

   컴퓨터 코딩을 처음 접하는 Junior School 학생 대상으로, Senior School에 올라가기전에 필수적으로 익혀야 하는 기초적인 프로그램 과정입니다. 차후  접하게 될 어려운 문자기반 coding 대신, 쉽고 재미있는 그래픽 기반 블럭형태의 coding을 통해  문제를 해결해 나갑니다.
   블럭코딩을 통해서 컴퓨팅의  기초 알고리즘에 대한 이해를 높히며, 다음 레벨의 코딩언어를 익히는데 도움을 줍니다. 

★교육 적정 학년 : Grade 3~ Grade 6