공개 프로젝트 35개고정 버전 사용입력·기억·처리·출력·제어

대학 연구실이 공개한 코드를 학생이 직접 열어 봅니다

CIT의 여러 과정은 Princeton IROM Lab, Caltech AMBER Lab, University of Colorado Boulder, Stanford Vision and Learning Lab, Stanford ILIAD Lab을 비롯한 연구실과 오픈소스 팀이 공개한 프로젝트를 그대로 씁니다. 학생은 그 프로젝트를 다섯 칸으로 나눠 보고, 그중 한 칸만 열어 값 하나를 바꾼 뒤 결과가 어떻게 달라지는지 확인합니다.

게시일: 2026년 8월 17일 | 최종 수정: 2026년 8월 17일

다섯 칸으로 나눠 보기

처음 보는 프로그램 앞에서 학생이 가장 자주 막히는 지점은 어디부터 봐야 할지 모르는 순간입니다. 그래서 모든 과정이 같은 질문 다섯 개를 씁니다. 과정이 달라도 질문은 같습니다.

입력 · 들어오는 것

무엇이 들어옵니까?

기억 · 적어 두는 곳

무엇이 남아 있습니까?

처리 · 하는 일

무엇을 바꿉니까?

출력 · 나오는 것

무엇이 나가고 누가 씁니까?

제어 · 언제 도는지 정하는 곳

언제 도는지 누가 정합니까?

다섯 번째 칸인 제어는 일부러 넣었습니다. 실제 코드에서 가장 찾기 어렵고, 그냥 두면 처리 칸 안에 숨어 버립니다. 언제 도는지를 찾아내면 그 프로그램의 구조가 대부분 보입니다.

실제 프로젝트에 적용하면 이렇게 보입니다

RocketPy 과정을 다섯 칸으로 나눠 그린 그림

RocketPy-Team/RocketPy 고정 버전 9bd6ad3af8f9을 다섯 칸으로 나눈 그림입니다. 노란 칸이 이 수업에서 여는 칸입니다.

칸마다 근거가 되는 파일 경로가 붙습니다. 학생은 그 파일을 열어 자기가 그린 칸이 맞는지 확인하고, 틀렸으면 고칩니다. 파일 경로는 고정된 버전에 실제로 있는 경로여야 하며, 없는 경로는 빌드에서 걸러집니다.

수업이 도는 순서: 닫고, 한 칸만 열고, 다시 닫기

① 예상을 먼저 적습니다

저장소를 열기 전에 다섯 칸을 예상해 적습니다. 틀려도 괜찮지만 비워 두면 안 됩니다. 예상과 실제의 차이가 그날 배우는 내용입니다.

② 한 칸만 엽니다

과정마다 여는 칸이 하나로 정해져 있습니다. 대개 학생의 짐작이 가장 크게 빗나가는 칸이거나, 그 분야의 진짜 어려움이 있는 칸입니다.

③ 값 하나만 바꿔 봅니다

여는 것은 읽는 것이 아니라 바꿔 보는 것입니다. 상수 하나를 바꾸고, 함수 하나를 더 단순한 것으로 바꾸고, 결과가 어느 쪽으로 움직이는지 봅니다.

④ 다시 한 문장으로 닫습니다

마지막에 학생은 그 칸을 한 문장으로 요약합니다. 가정 하나와 무너지는 조건 하나가 들어가야 하고, 원문의 용어를 그대로 옮겨 쓰면 통과되지 않습니다.

그림을 잘 그린 것만으로는 마쳤다고 보지 않습니다. 예쁜 구조도는 이해 없이도 그릴 수 있기 때문입니다.

이 렌즈로 읽는 공개 프로젝트

각 과정 아래에 들어오는 것에서 나오는 것까지의 흐름을 그 프로젝트가 쓰는 말로 적었습니다. 과정 안내를 열면 그 수업이 여는 파일이 이름 그대로 나옵니다.

다섯 칸까지 읽는 프로젝트 34개

저장소 없이 같은 틀을 쓰는 과정 9개

가게, 연구, 노트북처럼 학생이 직접 다루는 것도 같은 칸으로 나눠 봅니다. 초등 과정은 네 칸까지 보고, 제어 칸은 중학교에서 만납니다.

고정 버전만 정해 둔 프로젝트 1개

아래 과정도 같은 방식으로 고정된 버전을 쓰지만, 다섯 칸 표시는 아직 쓰는 중입니다.

학부모가 눈으로 확인할 수 있는 것

다섯 칸 정리

학생이 나눠 본 다섯 칸과 근거 파일 경로가 남습니다. 어느 칸을 열었는지도 함께 표시됩니다.

바꾸기 전과 후의 기록

값 하나를 바꾸기 전 결과와 바꾼 뒤 결과, 그리고 학생이 미리 적어 둔 예상이 함께 남습니다.

한 문장 요약

학생이 자기 말로 쓴 요약과, 그 요약이 성립하지 않는 조건이 남습니다.

대학 이름과 프로젝트 출처만으로는 입시 근거가 되지 않습니다. 학생이 이해한 내용과 직접 한 일을 설명할 수 있어야 하며, 어떤 과정도 합격이나 수상을 보장하지 않습니다.

자주 묻는 질문

이 과정은 해당 대학의 공식 수업인가요?

아닙니다. 공개된 프로젝트를 만든 곳이 어디인지 알려 드리는 표시이며, 수업은 CIT가 독립적으로 설계했습니다. 제휴나 보증을 뜻하지 않고, 합격이나 수상과도 관계가 없습니다.

아이가 그 코드를 전부 읽어야 하나요?

아닙니다. 오히려 반대입니다. 이 수업은 대부분을 열지 않고 남겨 두는 연습입니다. 예를 들어 RocketPy 과정은 글자 파일 700여 개 가운데 열 개 남짓만 엽니다. 어디까지 열고 어디서 멈출지 정하는 것이 배우는 내용입니다.

지도만 그리고 끝나는 것은 아닌가요?

지도를 그린 것만으로는 그 항목을 마쳤다고 보지 않습니다. 학생은 열어 본 칸을 다시 한 문장으로 닫아야 하고, 그 문장에는 가정 하나와 무너지는 조건 하나가 들어가야 합니다.

코딩을 오래 배운 학생만 할 수 있나요?

과정마다 다릅니다. 저장소를 읽기만 하는 단계와, 값을 바꿔 실행해 보는 단계를 나눠 두었습니다. 상담에서 학생의 현재 경험과 쓸 수 있는 컴퓨터를 확인한 뒤 시작 지점을 정합니다.

공개 프로젝트를 수업에 써도 되나요?

각 프로젝트의 이용 조건을 과정마다 기록해 두고, 수업 자료에 원본 코드를 옮겨 싣지 않습니다. 고정된 버전으로 연결되는 링크만 사용합니다.

왜 최신 버전이 아니라 고정된 버전을 쓰나요?

공개 프로젝트는 계속 바뀝니다. 수업 중에 예제가 달라지면 학생이 무엇 때문에 결과가 변했는지 알 수 없습니다. 그래서 확인한 버전 번호를 적어 두고 그 버전만 씁니다.

어떤 프로젝트부터 열어 볼지 상담에서 정합니다

학생의 학년, 지금까지 해 본 코딩, 관심 분야, 쓸 수 있는 컴퓨터를 확인한 뒤 시작 지점을 제안해 드립니다.