전공 교재가 최신 툴과 스택을 다루지 않아도 괜찮아
예를 들어 웹 개발을 생각해 보자. 불과 10여 년 전만 해도 jQuery가 대세였고, 그 이전에는 PHP 중심의 서버 사이드 렌더링이 표준처럼 여겨졌다. 지금은 React, Vue, Next.js, 그리고 다양한 백엔드 프레임워크와 클라우드 네이티브 환경이 주류다. 이 흐름은 앞으로도 계속 바뀔 것이고 어떻게 바뀔지는 아무도 모른다. 이런 변화의 한가운데에서 특정 프레임워크를 가르치는 것에만 방점을 두는 교육은 필연적으로 짧은 유통기한을 갖는다.
반면 자료구조와 알고리즘은 어떤가. 배열, 연결 리스트, 스택, 큐, 트리, 그래프는 수십 년 전 개념이지만 여전히 모든 소프트웨어의 뼈대를 이룬다. 운영체제의 프로세스 스케줄링, 메모리 관리, 파일 시스템 개념 역시 마찬가지다. 데이터베이스의 정규화 이론, 트랜잭션, 인덱스 구조도 수십 년간 유지되어 온 핵심 개념이다. 네트워크의 TCP/IP, OSI 모델 역시 1970~80년대에 정립되었지만 오늘날의 인터넷을 떠받치고 있다.
방송대 컴퓨터과학과에서 다루는 과목들은 바로 이 영역에 속한다. 자료구조, 알고리즘, 운영체제, 컴퓨터구조, 데이터베이스, 네트워크, 형식언어와 오토마타, 이산수학과 선형대수 같은 과목들은 특정 국가나 특정 대학만의 특이한 커리큘럼이 아니다. 전 세계 대부분의 컴퓨터과학과가 공유하는 공통분모다. MIT, 스탠퍼드, 조지아텍, 도쿄대, 서울대의 커리큘럼을 나란히 놓고 보면 과목명은 달라도 핵심 내용은 놀라울 정도로 유사하다. 방송대가 유독 낡고 쓸모 없는 교육 내용을 고집하는 것은 아니라는 이야기다.
그럼에도 불구하고 ‘시대에 뒤떨어졌다’는 말이 나오는 이유는, 컴퓨터과학을 직업 훈련 과정, 더 정확히 말하면 부트캠프식 기술 습득 과정으로 오해하기 때문이다. 하지만 대학의 컴퓨터과학 교육은 본질적으로 프레임워크, 기술 스택에 기반한 직접적인 직무 매뉴얼을 제공하는 곳이 아니다. 애초에 대학교 컴퓨터과학과는 ‘지금 당장 쓸 수 있는 기술’을 가르치기보다, ‘기술이 바뀌어도 다시 적응할 수 있는 능력’을 길러주는 곳이다.
이 점에서 방송대의 특성은 오히려 강점이 된다. 방송대는 전통적인 18~22세 학생들만을 위한 기관이 아니다. 직장인, 전공 전환자, 중장년 학습자 등 다양한 배경을 가진 성인 학습자가 주를 이룬다. 이런 환경에서 최신 유행 기술만을 쫓는 교육은 오히려 학습자에게 불리하다. 몇 년 뒤 쓸모가 사라질 기술보다, 오랫동안 재사용 가능한 사고의 틀을 제공하는 것이 훨씬 합리적이다.
이 지점에서 흔히 등장하는 것이 부트캠프식 사고다. 즉, 개발이란 곧 특정 프레임워크와 라이브러리를 얼마나 빨리 익히느냐의 문제라는 인식이다. 이 사고방식의 가장 큰 한계는 기술의 수명을 개발자의 수명과 혼동한다는 데 있다. ‘최신 기술을 안 가르친다’는 비판은 사실 정확하지도 않다. 방송대 컴퓨터과학과에서도 프로그래밍 언어, 데이터베이스 시스템, 소프트웨어 공학, 인공지능과 머신러닝 등 현대 컴퓨팅의 핵심 분야를 다룬다. 다만 그것을 특정 벤더의 도구 사용법이 아니라, 원리와 구조 중심으로 접근할 뿐이다. 이는 어떤 흐름에 뒤처졌다기보다 의도된 교육과정인 것이다.
기술 스택 중심 교육에는 분명한 유통기한이 존재한다. 흔히 이런 반론이 따라온다. “그래도 실무에 바로 쓸 수 없지 않느냐.” 맞는 말이다. 컴퓨터과학과는 부트캠프가 아니다(물론 그런 이유로 우후죽순으로 생긴 부트캠프 역시 실무와 거리가 멀다는 비판을 받기도 한다). 질문을 바꿔야 한다. 실무에 바로 쓰이는 기술은 얼마나 오래 쓸 수 있는가. 특정 프레임워크를 빠르게 익히는 능력과, 새로운 프레임워크를 빠르게 이해하는 능력 중 어느 쪽이 더 장기적인 경쟁력이 있는가.
컴퓨터과학 교육은 분명히 후자를 목표로 한다. 운영체제를 배운 사람은 새로운 서버 환경을 이해하기 쉽고, 네트워크를 배운 사람은 클라우드 인프라의 구조를 빠르게 파악한다. 알고리즘과 자료구조를 익힌 사람은 언어가 바뀌어도 문제 해결 방식이 흔들리지 않는다. 이것이 컴퓨터과학을 공부해야 하는 이유다.
이 문제는 인공지능 시대에 들어서며 더욱 분명해졌다. 오늘날 개발자의 역할은 단순히 코드를 많이 작성하는 사람이 아니다. 대규모 언어 모델과 자동화 도구가 등장하면서, 코드의 구현 자체는 점점 인공지능의 몫이 되고 있다. 이제 인공지능 네이티브 세대 개발자들이 등장하며 인공지능 없이 개발하는 능력은 과거의 주판 사용 능력을 측정하는 것과 같아질 것이란 이야기조차 나오고 있다. 이런 환경에서 인간 개발자에게 요구되는 것은 ‘무엇을 만들 것인가’, ‘어떤 구조가 합리적인가’, ‘문제를 어떻게 분해할 것인가’에 대한 판단 능력, 인공지능을 능동적으로 활용할 수 있는 능력이다.
이러한 능력은 특정 기술 스택 사용법을 얼마나 많이 외웠는지로 생기지 않는다. 컴퓨터과학적 사고, 즉 알고리즘적 사고, 시스템 사고, 추상화 능력, 계산 복잡도에 대한 감각, 데이터 흐름과 병목을 파악하는 능력에서 나온다. 인공지능 시대일수록 이러한 전공 저변은 더 중요해진다.
역사적으로 보아도 컴퓨터과학은 늘 느리게 움직였다. C 언어는 1970년대에 만들어졌고, UNIX 철학은 1960년대에 형성되었다. 그럼에도 불구하고 오늘날의 리눅스, 클라우드, 컨테이너 기술은 초기 문제의식이 어떻게 구현됐고, 시대가 바뀜에 따라 어떤 방식으로 발전해 왔는 지에 바탕을 두고 있다. 오래되었다는 이유로 폐기된 것이 아니라, 오래되었기 때문에 살아남은 것이다. 고전 텍스트가 그러하듯이 말이다.
따라서 방송대 컴퓨터과학과의 교육 내용을 ‘시대에 뒤떨어졌다’고 평가하는 것은, 단순한 커리큘럼 비판이 아니라 ‘인공지능 시대의 개발이 무엇인가’에 대한 이해 부족을 드러내는 주장에 가깝다. 컴퓨터과학이라는 학문이 맡고 있는 역할을 잘못 이해한 데서 나온 결론이다. 최신 기술을 가르치지 않는다고 해서 낡은 것이 아니다. 오히려 빠르게 변하는 기술 환경 속에서 변하지 않는 기준점을 제공하는 것이 컴퓨터과학 교육의 존재 이유다.
정리하자면, 방송대 컴퓨터과학과는 유행을 따라가는 학과가 아니라 컴퓨터과학이라는 전공을 이루는 보편 교과를 가르치는 학과다. 이는 결핍이 아니라 정체성이다. 유행하는 기술 스택은 언제든 유튜브나 코세라, 유데미 등 오픈소스 자료들을 통해 스스로 학습할 수 있다. 하지만 컴퓨터과학이 다루는 개념들과 사고는 체계적인 교육과정 없이 얻기 어렵다.



Comments
Post a Comment