초중등 SW교육은 컴퓨터 관련학과의 프로그래밍 언어 습득과 문법, 응용 중심 교육과 달리 정보과학의 원리와 사고력 향상을 목적으로 한다. 생활적 문제를 정보과학을 통해 해결하는 창의성을 기르는 것으로, 프로그래밍 언어를 생각을 표현, 구현하는 도구로 삼는 것이다.
초·중등 SW교육은 우리들이 대학에서 교육받았던 프로그래밍교육과 사뭇 다르다. 컴퓨터관련학과에서 교육의 목적은 전문가 혹은 개발자를 양성하기 위해서 프로그래밍 언어 자체 습득에 초점이 맞춰진다. 그러다 보니 문법적인 내용에 상당히 치중하고 짧은 시간에 많은 응용들을 배우게 된다. 하지만 초·중등에서는 프로그래밍언어 자체를 배우는 것이 목적이 아니다. 프로그래밍 언어를 사용하여 정보과학의 원리를 배우고 이를 통해 정보과학적 사고력을 향상시키는 것이 목적이다. 따라서 프로그래밍 언어의 문법적 내용과 이를 통해 어떻게 시스템을 개발할 것인가보다는 생활주변의 문제를 어떻게 정보과학의 원리를 이용하여 창의적으로 해결할 것인가를 배운다. 예를 들어, 책꽂이의 책들을 어떻게 분류해야 나중에 찾기 쉬울지에 대한 전략을 세우고 이를 코딩을 통해서 실현해봄으로써 내가 생각한 원리가 작동하는지 확인하게 된다. 결국 프로그래밍 언어가 하는 역할은 내 생각을 표현해서 구현해보는 도구에 지나지 않는 것이다. 우리가 글을 배우는 것 자체가 목적이 아니라 정확한 의사전달과 표현이 중요한 것처럼, 소프트웨어교육 또한 같은 원리이다.