인생멘토·코딩교육

[코딩교육] 코딩교육과 프로그래밍 교육의 차이점

Buddhastudy 2022. 3. 24. 18:54

 

 

이번 강의에선 제가 실제로 경험 했었던

프로그래밍 교육에 대한 이야기를 공유해드리려고 합니다.

 

이번 강의가 끝나면 여러분은

코딩 교육과 프로그래밍 교육의 차이점을 분명히 구분하실 수 있게 되실 거에요.

 

--

전 대학에서 컴퓨터공학을 전공했습니다.

컴퓨터공학은 보통 프로그래머들이 대학에서 선택하는 전공이죠.

이 전공을 선택하면 보통은 프로그래머가 됩니다.

 

컴퓨터공학은 공대의 전자과와 더불어 공대의 꽃 중의 하나라고 할 수 있어요.

전자과가 하드웨어를 주로 다룬다면

컴퓨터공학과는 소프트웨어를 다루거든요.

 

제가 다녔던 대학에선 보통 1학년 때 프로그래밍 기초 과목을 이수해야 했습니다.

이 과목은 c언어라는 컴퓨터 언어를 배우는 3학점짜리 과목이었어요.

 

이 과목은 전자과나 컴퓨터공학 미디어학과 등등의 대부분의 공대학생들이 반드시 이수해야 했었던 과목이었어요.

이 과목은 제가 속했던 공과대학에서 가장 기초적인 과목이었고

가장 중요하게 여겨지는 과목이라

스케일이 굉장히 컸었던 과목이었습니다.

 

무슨 말인지 좀 더 설명드리자면

이 과목을 위해 개설된 클래스만 18개였고, 수강생수가 900, 배정된 강사가 18, 조교도 한 명씩 해서 18명이 배정된 대규모 클래스였어요.

 

그런데 이 과목은 전통적으로 거의 모든 학생들이 굉장히 힘들어하는 과목이었습니다.

공식적인 수업 회수는 일주일에 한 번씩 15번이고, 중간고사와 기말고사 그리고 c언어 프로그래밍 과제 8개를 제출해야 하는 과목이었습니다.

 

과제를 하나라도 제출하지 못하면 B학점 이상을 받기 힘들었기 때문에

2주에 한 번씩 프로그래밍 소스코드를 조교에게 제출해야 했었습니다.

과제를 조교에게 제출하고 모든 학생들이 소스코드 점검받으러

조교에게 찾아가 1:1로 검증을 받아야 했고요.

 

과제들은 초반엔 쉬운 편이었어요.

프로그래밍 초보자들도 프로그래밍 기본 개념만 이해하면

누구나 코딩할 수 있었던 수준의 과제였거든요.

그런데 처음엔 쉽게 느껴졌던 과제들이 4주 정도가 넘어가면서

난이도가 급격하게 올라가더라고요.

 

중간고사가 끝나고 10주차 정도가 되었을 때엔

이제 과제에 도무지 손을 대지 못할 정도로 어려워 지는 거였어요.

전 아직도 마지막 과제가 무엇이었는지 기억이 나 데요.

마지막 과제는 c언어로 두 사람이 오목 게임을 할 수 있는 오목 게임 프로그램을 만드는 거였어요.

 

이건 프로그래밍을 처음 배우는 학생들한테

진짜 너무 높은 수준의 과제였어요.

이 과제를 순수하게 자기 힘으로 완료한 학생들은 5%도 안 됐을 거에요.

c언어 프로그래밍의 기본 개념이 충분히 이해되지 않았기 때문에

어느 순간부터 수업 시간에 앉아 있는 것이 무의미해지더라구요.

 

그래서 전 수업 후반기였던 5월 말 정도부턴

수업에 나가질 않고 과제만 하는데 집중했습니다.

수업 시간에 앉아 있어도 강사의 말을 이해할 수 없었거든요.

 

그렇다고 과제에만 집중했다고 해서 과제를 잘했다는 것도 아니에요.

그저 머리를 쥐어뜯으며 괴로워했을 뿐이죠.

 

이 과목을 수강하면서 너무도 스트레스를 받았었습니다.

힘들었던 기억이 아직도 생생히 남아 있어요.

하나의 프로그래밍 과제를 끝내고 조교에게 검증까지 무사히 받고나면

참 뿌듯하고 집으로 돌아오는 밤 공기가 그렇게 상쾌할 수 없었는데

그 기분은 오래가지 않았었어.

 

왜냐하면 더 크고 어려운 과제가 2주 후에 또 날 기다리고 있었기 때문이죠.

마치 뫼비우스의 띠와 같았다고 할까요.

이 과목은 수강생 중 반이 중간고사를 보기 전에 드랍했습니다.

수강 취소를 했던 거죠.

따라가질 못하니까.

 

많은 학생들은 여름방학 때 프로그래밍 학원에 다닐 거라고 하더군요.

내년에 같은 과목이 개설될 때 다시 수강하겠다고 하면서요.

참 웃긴 상황이었죠.

 

컴퓨터공학 전공 대학생들이 수업이 어려워서 학원을 다닌거예요.

제 입장에선 대학에서 그런 대규모의 강의를 수강하는 것도 처음이었지만

그렇게 많은 학생들이 대규모로 수강 취소하는 걸 보는 것도 신기한 경험이었습니다.

 

남는 기억은 수업 난이도가 토할 정도로 높았다는 정도.

제가 경험했던 프로그래밍 수업 경험이 프로그래밍 교육 전부를 대표하지는 않을 거예요.

대학마다 교육 방식이 조금씩 다를 수 있겠지요.

 

프로그래밍 교육방식은 그런데 거의 어디나 비슷할 것에요.

전 회사에서도 프로그래밍 교육을 굉장히 받았었어요.

회사가 소프트웨어를 개발하는 회사니까요.

그런 수업 들은 별로 다를 바가 없어요.

소프트웨어를 개발하기 위한 코딩스킬을 계속해서 배웠던 것에요.

그리고 그 수업들은 별로 재미가 없었어요.

 

전 혹시 다른 나라들에서도 프로그래밍 교육이 저렇게 어렵고 재미없나 하고 궁금해서 리서치를 해봤더니

아니나 다를까 프로그래밍 교육은 전 세계적으로도 어렵고 지루하다는 평판을 가지고 있더군요.

 

프로그래밍을 통해 소프트웨어를 만들어내는 것이 우선 어려운 일이고요.

따라서 프로그래밍을 가르치는 강사들도 가르칠 때 당연히 어려움을 경험합니다.

프로그래밍을 직접하는 것도 어려운데 그걸 가르치는 건 얼마나 더 어렵겠어요.

 

현재 프로그래밍으로 먹고 사시는 프로그래머 분들은

그런 어려운 과정을 견디고 이겨낸 분들이에요.

 

물론 소수의 어떤 분들은 프로그래밍을 정말 즐겼던 분들도 있겠지만

많은 분들이 어렵고 힘들고 재미없는 과정을 꿋꿋하게 견뎌내서

지금의 자리에 있으신 거죠.

 

프로그래밍 교육은 난이도가 높고, 배우기 어렵고, 가르치기는 더 어렵다는 평판을 가지고 있어요.

따라서 코딩교육이 절대로 프로그래밍 교육처럼 되서는 안 되는 일입니다.

프로그래머가 코딩교육을 진행해서도 안 되고요.

 

프로그래머들은 본인들이 힘들고 어렵게 프로그래밍을 배웠기 때문에

자신이 가르치는 학생들에게도 그런 어려운 학습 경험을 당연한 것으로 간주할 가능성이 크다는 거예요.

 

, 정리하자면 코딩 교육과 프로그래밍 교육은

서로 다른 교육이라는 겁니다.

이 둘을 혼동하는 일이 없도록 하길 바랄게요.