미리보기
미리듣기
AI가 코드를 대신 써 주는 시대에 왜 ‘읽는 능력’이 더 중요해지는지 설명한다. 코드의 실행 과정과 데이터 변화를 이해하고, 오류·편향·안전성을 검증하며, AI의 제안을 받아들인 이유까지 설명할 수 있어야 한다. 프로그램을 빨리 만드는 능력을 넘어, 만들어진 코드를 이해하고 판단하는 힘을 다룬다.
프로그래밍 문해력(Programming Literacy)은 목적과 맥락에 따라 코드와 관련 자료를 읽고 실행 과정과 데이터 흐름을 이해하고 설명할 수 있으며, 결과의 정확성과 영향을 판단하고 문제 해결 과정에서 책임 있게 활용할 수 있는 능력으로 정의한다. 이러한 역량의 기초는 프로그래밍 언어의 기호와 구조를 이해하는 데 있다. 학습자는 변수, 연산자, 조건문, 반복문, 함수와 객체 등의 표현을 식별하고 이들 사이의 구조적 관계를 파악할 수 있어야 한다. 이를 바탕으로 코드가 실행되는 순서와 변수 및 객체의 상태 변화 및 입력이 출력으로 변환되는 과정과 함수 사이의 호출 관계를 추론해야 한다. 다시 말해 코드를 눈으로 읽는 데 그치지 않고 실제로 실행했을 때 컴퓨터 내부에서 어떠한 변화가 일어날지를 예상할 수 있어야 한다.
-01_“프로그래밍 문해력의 개념” 중에서
AI의 설명을 자신의 이해로 바꾸려면 설명을 다시 표현하고 적용하는 과정이 필요하다. 먼저 프로그램이 누구의 어떤 문제를 해결하는지 자신의 말로 정리한다. 다음으로 대표적인 입력이 주어졌을 때 값이 어떻게 바뀌고 어떤 결과가 나올지 예상한다. 이어서 자신이 이해한 내용을 코드의 구체적인 부분과 연결하고 요구사항에 비추어 빠진 기능이나 불필요한 동작이 없는지 확인한다. 마지막으로 작은 조건을 바꾸어 보면서 어느 부분을 수정해야 하고 어떤 기능을 다시 확인해야 하는지 생각한다. AI는 정답을 대신 알려 주는 해설자보다 사용자가 세운 설명과 예측을 코드의 근거에 따라 점검해 주는 대화 상대가 될 때 더욱 유용하다는 점을 고려해야 한다.
-03_“코드 이해 중심의 프로그래밍” 중에서
이러한 차이를 고려하면 AI는 개발의 여러 단계에서 활용될 수 있지만, 각 단계에서 맡길 작업과 사람이 직접 판단할 부분을 구분해야 한다. 문제를 정의하는 단계에서 AI는 놓치기 쉬운 관점이나 질문을 제안할 수 있지만 프로그램을 사용할 대상과 개발 목적 및 해결 범위는 사람이 결정해야 한다. 요구사항을 정리하고 설계할 때에도 AI는 예외 상황과 여러 대안을 제시할 수 있지만 성공 기준과 우선순위 및 자료 처리 방식과 권한은 사람이 판단해야 한다. 구현 단계에서는 AI가 코드의 초안을 만들고 테스트 수행을 보조할 수 있지만 코드의 변경 범위와 기존 시스템에 통합하는 방식은 사람이 통제해야 한다. 배포와 운영 단계에서도 AI는 상태 점검과 오류 대응을 보조하는 역할을 수행할 수 있지만 실제 배포를 승인하고 문제가 발생했을 때 대응할 책임은 사람에게 있다.
-06_“AI와 협력 프로그래밍” 중에서
프로그래밍 문해력 교육은 완성된 프로그램을 설명하고 학생이 그대로 따라 하는 방식에서 벗어나야 한다. 학생이 프로그램의 의미를 스스로 구성하고 자신의 예상과 실제 실행을 비교하며 다른 학생과 설명을 주고받는 활동이 필요하다. 예측ᐨ실행ᐨ탐구ᐨ수정ᐨ제작(PredictᐨRunᐨInvestigateᐨModifyᐨMake)의 단계로 이루어진 PRIMM은 이러한 수업을 설계하는 데 활용할 수 있다. 학생은 먼저 프로그램의 실행 결과를 예측하고 실제로 실행하여 예상과 비교한다. 이어서 프로그램의 구조와 작동 과정을 탐구하고 일부를 수정하여 변화된 결과를 확인한 뒤 이해한 내용을 바탕으로 새로운 프로그램을 만든다.
-09_“교육에서의 프로그래밍 문해력” 중에서


교보문고: