컴퓨터공학과 1학년과 C언어Oct 27, 2006
via 가장 어리석은 선택: C언어
C는 과연 필수적인가?
필수라고 생각한다. 그러나 신입생들에게는 필수가 될 필요는 없다. C는 분명 “요즘의” 언어들에 비해 어렵다. 특히나 처음 C를 공부할때 포인터에서 막히지 않아 본 사람이 몇명이나 있을까.? 많은 1학년들이 여기서 좌절하고, 심지어 전과나 재수(반수)까지 고민한다. 그리고 “대충” 넘어간다. 그리고 끝이다.
아주 드문 경우를 제외하고, 대부분의 컴퓨터공학과 1학년들은 다른 학과, 예를들면 문과 1학년들과 별로 큰 차이가 없다. 요즘은 교차지원으로 문과생들 역시 많이 진학을 한다니 더더욱 그럴 것이다. 국어국문학과 1학년생에게 C를 가르친다고 생각하면, 이게 무슨 삽질인지 이해가 갈 것이다.
심한 경우에 “컴퓨터공학과 1학년” 들은 컴퓨터공학과를 “MS워드 배우는 학과” 정도로 생각하고 들어온 경우도 있다. 이런 신입생들에게, 컴퓨터의 구조나 동작원리도 전혀 모르는 상황에서 포인터를 가르친다면 얼마나 이해할 수 있을까? 굳이 포인터까지 가지 않더라도 같은 숫자인데 왜 정수와 실수를 구분하는지 이해할 수 있을까? 1학년의 입장에서는 그저 암기할 뿐이다. 정수는 int, 실수는 float… 하지만 실제로 대학교의 커리큘럼은 보통 1학년때 C를 배우고 2,3학년때 컴퓨터의 구조를 배운다. 신입생들의 의욕을 꺾을 뿐만이 아니라 비효율적이기까지 하다.
물론 프로그래밍 언어를 전혀 모르는 상태에서 2학년이 되어 자료구조나 알고리즘을 배우게 되면 그것 역시 난감하다. 하지만 그 언어가 C일 필요는 없다. Python 등으로 프로그래밍 언어에 대한 개념을 익히고, 그 다음 컴퓨터의 구조를 배운 다음 C를 배워도 충분하다.
순서가 바뀌어야 한다.