아주대학교

검색 열기
통합검색
모바일 메뉴 열기
 
 
 

다시듣고 싶은 명강의

2021학년도_입상_[운영체제]_김상훈 교수

  • 최승규
  • 2022-04-03
  • 4181
 제목: 김상훈 교수님의 운영체제 강의를 듣고

정통대생에게 있어 코딩은 생활과 다름없다. 누구나 신체적으로 고통스럽다는 말을 하지만 어쩔 수 없는 현실이니 버텨내야 하고, 절대로 정통대에 환상을 갖지 말라는 흔한 이야기가 오간다. 나 역시 이러한 말이 오가는 이유를 알고 그들에게 공감한다. 코딩이 기반이 되는 과제와 시험은 학기마다 거의 필수로 존재하고 해당 과목을 습득하기 위해 밤을 새우는 일이 흔했기 때문이다. 지난 2021학년도 1학기까지는 그러한 입담에 나도 함께하고 싶었다.
 하지만 이러한 관념을 깨는 강의가 있었다. 코딩 실력은 기본적인 재능이 아닌 시간에 비례한다는 것은 물론이고 더 발전된 지식을 습득하면서 비로소 정통대생의 자부심을 느낄 수 있었던 강의가 있었다. 바로 김상훈 교수님의 운영체제 강의였다.
 강의는 실시간 zoom강의와 녹화강의가 병행되었다. 두 방식의 차이는 실시간으로 교수님께 질문을 할 수 있느냐 없느냐의 차이었고 강의 전달력은 동일했다. 사실상 게시판을 통해 학생들의 질문이 공유되고 언제든지 자유롭게 이용하며 교수님과 매우 자유로운 소통이 가능한 것이 인상적이었다. 가장 놀랍고 인상적인 것은 타 교수님처럼 ‘안녕하세요. OOO 교수입니다.’ 이런 형식의 격식체가 아닌 바로 본론으로 들어가서 핵심만 짧은 문장으로 답변해주시는, 마치 실시간 강의에서 바로 질문에 답변을 해주시는 것과 같은 느낌을 받도록 기술하시는 것이었다. 이러한 점에서 누구는 ‘너무 대충 답변을 해주시는 것 아닌가?’ 생각이 들 수 있지만, 나는 완전히 반대였다. 오히려 학생들에게 열린 마음으로 소통하려 하시는 느낌과 더불어 긴장된 분위기가 전혀 없고 언제든지 자유롭게 글을 올려도 된다는 의도가 보이는 듯했다.
 끊임없이 자유롭게, 그리고 빠르게 답변을 주고받는 교수님의 태도는 그 어느 강의보다도 돋보였다. 감히 내가 평가해서는 안되지만, 우리 학생들은 오히려 일일이 격식 있게 답변을 받는 것보다 이렇게 직접 대면수업처럼 말로써 답변받는 내용을 글로 풀어내듯이 자유롭게 기술해주시는 것을 더욱 선호하는 편이다. 긴장이 풀리는 듯 자유롭게 소통이 가능하도록 분위기를 의도하시는 것까지는 아니겠지만, 그러한 자유로움에서 나오는 분위기가 강의 참여에 더욱 적극성을 불러일으키게 된다.
 하지만 더 감명 깊었던 것은 과제에 있었다. 총 4회의 과제가 있었고 하나를 해결하는 데 매우 많은 시간을 투자해야 했다. 과제를 해결하는 데에 있어 교수님께서 처음에 Git과 리눅스 터미널 등을 자유롭게 사용하는 모습을 보이며 약간 수강생들에게 겁을 주시는 듯했고, 나 역시 그랬다. 생전 처음 보는 광경에 어떠한 것부터 습득을 해야 할지를 몰랐다. 기본적인 C 프로그래밍 지식과 자료구조를 다룰 줄만 알았지 그 외에 개발 도구들을 사용하는 방법은 일절 알고 있지 않았다. 그렇게 첫 번째 과제의 마감기간이 약 일주일 앞으로 다가왔다.
 과제는 교수님이 사전에 작성한 코드의 빈 부분을 목적에 맞게 채워 넣는 것이었다. 교수님은 과제를 해결하기 위한 사전 지식을 알려주실 때 대부분 학생들이 알아서 습득하라는 말을 하셨다. 무엇을 목적으로 해야 하는지는 알겠는데, 개발 툴의 사용법도 모르고 처음 보는 코드 형식에 너무 막막했다. 그래도 과제는 해결해야 한다. 교수님이 리눅스 터미널이나 Git 등을 사용하시는 모습을 떠올리며 과제를 해결하는 데에 필요한 프로그램부터 차근차근 설치하고 습득해 나아갔다. 해결이 되었어도 코드를 작성하는 데에 또 막혔고, 계속 막힘의 연속이었다.
 노력의 과정을 생략하고 결국 과제를 완성하며 느낀 것은 이랬다. 왜 교수님이 우리가 알아서 습득하도록 하셨는지 그 이유를 알 것 같았다. 교수님이 직접 알려주기보다 우리가 직접 고난을 겪으며 해결함으로써 우리는 스스로를 반성하며 더욱 발전된 모습을 느낄 수 있다. 강의에서 배우는 운영체제의 전반적인 지식은 직접 교수님이 설명해주시는 것이 필요하지만, 이렇게 과제를 해결하는데 필요한 배경 도구들은 우리가 직접 알아가는 것이 몇 배는 더 효율적일 것이다. 아마 교수님은 스스로 우리가 운영체제라는 과목과 더불어 미래에 개발자나 프로그래밍으로 업무를 처리하는 데에 있어 그 능력을 발휘할만한 태도가 되어있는지를 평가하고자 하셨을 것이다. 처음에는 개인적으로 불만스러웠지만 점점 교수님의 의도를 깨달으며 발전되어가는 나 자신의 모습이 너무 인상적이었다.
 하지만 여기서 끝이 아니다. 본 교과를 강력하게 추천하는 가장 핵심적인 이유는 바로 교수님이 운영체제 및 컴퓨터에 관한 밀도 있는 내용과 C 프로그래밍에 얼마나 정확한 지식을 갖추고 있고 내게 그 본보기가 되었는지를 비로소 느낀 것이다. 그것은 과제에서 강력하게 드러났다.
 앞서 이야기했듯 교수님은 과제를 늘 본인이 코드를 작성하고 빈 부분은 우리가 작성하는 형식으로 출제해주셨다. 타 교수님처럼 문제만 제시하고 코드의 모든 것을 우리가 설계하는 형식으로 출제해주신 것과 차별점이다. 교수님이 직접 작성하신 코드는 과제가 출제될수록 더욱 복잡하고 길어졌으며 그만큼 우리가 직접 읽고 해석해야 할 것도 많아졌다. 해석을 마무리하고 과제를 완성하였을 때 느낀 것은, 핵심적인 부분을 우리가 작성하도록 사전에 코드를 미리 작성하시는 교수님의 능력이 너무 대단하게 느껴진 것이다. 이는 문제를 해결하기 위한 과정과 목적을 정확히 알고 있어야 하며 필요한 부분을 C로 어떻게 작성해야 하는지도 알아야 한다. 본 과목이 운영체제인 만큼 컴퓨터가 동작하는 방식을 코드로 구현하기에는 상당히 복잡할 것이다. 그런데 우리가 작성하는 부분을 이미 알고 계셨을 만큼 교수님은 수백 줄이 넘는 복잡한 코드를 작성하며 그것을 구현해낸 것이다. 나는 이것을 볼 때마다 ‘나는 언제쯤 교수님처럼 될까?’를 늘 생각하였다. 길고 복잡하지만 세세하게 들여다보면 이렇게나 깔끔한 코드가 없었다.
 지식의 정확한 습득이란 무엇이고, 그것에 도달하기 위해 얼마나 많은 노력을 해야 할까. 또 본인이 지식을 정말 제대로, 정확히 알고 있는 것인지 어떻게 판단할 수 있을까. 교수라는 직업이 되기 위해서는 자신의 전문 분야에 대해 수없이 많은 지식을 정확하게 알고 있어야 할 것이다. 교수님은 우리가 질문을 할 때마다 그것에 대해 바로바로 명확한 답변을 해주셨다. 아무리 복잡한 질문을 하여도 이렇게나 간단하고 명료한 답변이 없을 정도로 우리가 얻고자 하는 답변이 무엇일지 늘 정확히 파악하셨다. 이는 누구보다도 해당 개념을 정확히 알고 있기 때문일 것이다. 늘 이렇게 과제를 미리 설계를 해주시며 우리가 그것을 직접 접하게 하고, 또한 엄청나게 많은 질문에 정확하게 답변을 하시는 교수님의 모습을 통해 우리는 얼마나 더 나아가야 할 길이 먼지, 그 끝에 가까운 지점에 도달하였을 때 다른 사람들이 나를 바라볼 시선은 어떠할지를 우리가 교수님을 보면서 느끼고 상상할 수 있다는 점이 너무나도 좋았다.
 이러한 큰 만족감을 느끼며 수강을 마무리하였다. 하지만 학점은 B+였다. 비록 시험을 잘 치르지 못했을 뿐 내가 운영체제에 대한 전반적인 지식을 쌓아가기 위해 노력한 것에는 스스로를 칭찬하고 싶다. 더 나아가 무엇보다도 본 강의의 수강 의의는 교수가 얼마나 존경받을 수 있는 직업인지를 깨달은 것이다. 아직은 한참 부족하지만 끊임없이 노력하다 보면 나도 교수라는 단계의 끝자락에 도달할 것이다. 과제를 해결하기 위해 밤을 새울 때마다 몸이 아파왔지만, 신체적으로 고통스러울 뿐이지 마무리해 나아가는 과정을 밟고 있다는 만큼은 정신적으로는 아주 행복했다. 이러한 시간이 너무 소중하게 느껴졌고 교수님께 감사했다.
 이 강의를 계기로 큰 자신감을 얻었다. 나에게 어떠한 역할이 주어져도 나는 처음부터 꿋꿋하게 해결해 나아갈 것이다. 그리고 그 역할을 다하면 비로소 나 자신을 누구보다도 가치 있는 삶을 살아온 사람으로 자부할 것이다. 또다시 어떠한 일이 내게 주어지더라도 쌓아온 경험과 지식을 다른 사람들과 공유하며 다시 한번 내가 그동안 어떠한 노력을 해왔는지 생각하며 지금 이 지식을 공유하는 순간이 얼마나 즐거운지를 느끼고 싶다.