Python과 C++ 그 사이에서
# 2차 수강신청
이번 학기로 4학년이다. 지난 6학기 동안 단 한 번도 해 본 적 없는 2차 수강신청을 오늘 하러 갔다. 집에서 할까 비를 뚫고 잠깐 PC방 다녀올까 고민하다가 후회의 여지를 남기지 않기로 결정했다. 우산을 집어 들고 집을 나섰다. 계절학기 수강신청 때와 마찬가지로 페이지 로딩이 지연되지 않는 쾌적한 환경, '2021. 8. 17. 10:00:00'에 칼같이 Login 버튼을 누르고 빠박 뜨는 화면에서 [신청] 버튼을 찾아 눌렀다. 아무 일도 일어나지 않았다. 먹혔구나. 다른 과목을 눌렀다. 먹혔구나. 다른 과목을 눌렀다. 먹혔구나. 다른 과목을 눌렀다. 먹혔구나.
결국 오늘도 1차 수강신청 날과 마찬가지로 집에 돌아와서 왼쪽 화면에는 zoom, 오른쪽 화면에는 수강신청 페이지를 띄워놓고 기도메타와 함께 무지성 광클을 했다. 1시간도 채 지나지 않아 어느 한 과목의 버튼이 [신청완료]로 바뀌어 있었다.
그 교수님의 명성만 익히 들어서 알고 있던 다섯 달 전의 나는 매년 한결 같이 강의계획서에 적어놓으시는 저 문장을 보고 가슴이 웅장해지는 걸 느꼈었다. 그러나 이제 그 교수님의 음성도 익히 들어야 하는 시기가 보름 남은 시점에서 저 문장은 가슴이 쪼그라들게 만든다. D-150과 D-15의 차이는 이런 것인가 보다.
1차 수강신청에서 이 과목을 놓치고 나서는, 차라리 다행이라는 생각도 했다. 내게 익숙한 언어, 내가 자신있는 언어는 Python 이고, 2학기에 Python 을 활용해야 할 수업과 활동이 있기 때문이었다. 선택과 집중을 할 수 있다는 점에서 '오히려 좋다'고 생각했다. 하지만 C++로 진행되는 강의라 할 지라도, 오늘 내 클릭에 응답해줬고, 어차피 언젠가는 필수로 들어야 할 과목이고, 컴퓨터 공학의 꽃이라 할 수 있는 자료구조를 무한정 피할 수는 없는 노릇이었다.
'Prof.Zoh는 웃고 있다' 라는 댓글이 더 이상 피식 잼이 아닌, 소름을 안겨 줄 것 같은 그 길을 떠올리기 보다는, 지금이라도 무엇을 준비해야 할까 생각해 봤다. 선수과목 및 지식으로는 아래와 같이 나와 있다.
선수과목 및 지식
1. C 프로그래밍
2. C++ 프로그래밍
- 기본적인 stream io
- 함수 작성 및 parameter passing
- 기초 디버깅
- 수행시간 측정
- 간단한 class 만들기
- template code 만들기
'기본적인', '기초', '간단한'의 기준이 뭔지는 잘 모르겠지만 15일이 지나면 그때서야 아마 알게 되겠지. 지금 할 수 있는 일은 그 전까지 저 6가지 항목들에 겁먹지 않게 준비하는 일이다. 메인 퀘스트를 손 대기도 전에 서브 퀘스트에서 막혀버리지 않아야 할 일이다.
# CS50
저번 학기보다 더 깊은 곳으로 들어온 것 같은 기분이다. 무겁고 어두운 느낌이 들어서 답답한 와중에 이따금 심장이 철렁하기도 하지만, 그래도 아직 15일이나 남긴 시점에서 Python과 C++ 두 마리 토끼를 다 잡아보자는 다짐을 해 본다.
https://www.boostcourse.org/cs112/joinLectures/41307
모두를 위한 컴퓨터 과학 (CS50 2019)
부스트코스 무료 강의
www.boostcourse.org
C 프로그래밍부터 복습해야 겠다 싶어서 듣기 시작한 강의다. 아마 1학기 시작 전에 이 강의를 알게 되어 이수했다면, 1학기 내내 C언어 과제를 구글링으로 겨우 해치우며 한숨을 내쉬는 일이 훨씬 적었을 테다. 아무튼 내가 벌인 일에 압도당하는 듯한 기분이 들 여지가 없이, 컴퓨터 과학의 매력에 몰입할 수 있게 해 주는 명강의다. 이 강의는 모두에게 기분 좋고 유익한, 그리고 시야를 넓혀 주는, 그래서 결국 침착하게 여정을 이어나갈 여유를 준다. 어떻게 저렇게 중언부언 하나도 없이 영양가 높은 말을, 그것도 아주 빠르게 할 수 있는 것인지, 의문을 자아내시는 David J. Malan 교수님의 활력이 네트워크를 타고 전송되는 듯하다. 모든 면에서 '모두를 위한 컴퓨터 과학'이라는 이름에 걸맞는 감사한 기회다. 지금 시점에서 내게 또 하나의 유쾌한 출발이다.