메아리 저널

2006년 봄학기 결산

어제 새벽에 지금껏 발목을 잡고 있던 SP 프로젝트를 드디어 마무리해서 제출했다. 따라서 봄학기는 사실상 거의 완벽하게 끝난 셈이다. (아직 데모를 하지 못 했다는 게 문제지만 데모는 어차피 설명에 불과하니까...) 기념으로 봄학기 결산을 써 본다.

참고: 이 글을 강의 신청에 참고할 목적으로 쓰시려는 분께서는 먼저 과목을 담당하는 교수님을 확인하고 이 글이 쓰여진 시기도 확인하길 바랍니다. 언제나 그렇듯 이 글에 대해서는 어떤 보장도 하지 않습니다. Use at your own risk.

프로그래밍 언어 (CS320, 한 태숙)

원래부터 프로그래밍 언어에 관심이 많았기 때문에 조금 기대를 해 보긴 했는데, 서로 다른 컨셉의 프로그래밍 언어들을 소개하고 특이한 것들(그것도 사용자 입장에서 특이한 게 아니라 언어의 철학이나 구현이 특이한 걸 따지는 경우가...)을 짚고 넘어 가는 정도여서 살짝 실망했다. 숙제는 딱 한 번 나온 ML 코딩 숙제 빼고는 모조리 책에서 나왔기 때문에 큰 부담은 없었지만 솔직히 코딩 숙제가 거의 없으니 재미가 좀 없다. -_-;; 한 마디로 별로 안 빡세지만 흥미로운 게 많지는 않은 과목.

참고로 이번 학기의 경우 교과서의 저자인 John C. Mitchell이 ML을 하도 많이 다뤘기 때문에 ML을 모르면 아예 숙제를 할 수 없는 경우가 꽤 있었다. (프롤로그도 맨 마지막에 나왔으나 우리는 안 배웠다.) 더 큰 문제는, 매 학기마다 교과서가 바뀐다. orz

시스템 프로그래밍 (CS230, 송 준화)

지금까지의 SP 중 최고의 난이도로 사람들을 골탕먹였던 그 과목. 강의 첫 시간에 50여명인가 왔던 것 같은데 끄트머리 쯤에는 사람 수가 20명으로 줄어 있었을 정도로 골때리는 과목이었는데, (만화 패러디까지 만들어졌으니;;) 그만큼 남는 건 많다. 물론 송 준화 교수님의 특유의 교육철학(?)에 대해서도 많이 듣게 될 것이다.

설계라는 측면을 많이 강조하기 때문에 직접 뭔가를 새로 만드는 부분이 많이 나온다. 예를 들어서 직접 쓰레드 매니저를 설계해서 제출하라는 숙제도 있었고, PigeonExpress!1인가 뭔가 하는 요상한 회사가 나오는 숙제도 있었다. 거기에 실제로 쉘을 만들고 거기에 여기 저기 붙여 나가는 총 다섯 개의 프로젝트가 있었는데 이것 또한 여간 골치 아픈 게 아니었다. (C로 프로그램을 짜 본 경험이 많지 않은 사람은 힘들었을 것이다. 내 최종 코드가 4249줄인데 그만한 프로그램을 초보자가 짜기는 힘드니까.) 나 같은 경우 넷째 프로젝트에서 코드가 꼬여 버린 덕분에 버그가 좀 많이 생겨서 고생했다. 게다가 기말고사는 몇 시간이고 제한 없이 (1시에 시작했는데 7시까지 남아 있던 사람들한테는 피자를 돌렸음) 조건에 맞는 코드를 만들어서 제출하는 것이었다. -,.-

아무튼 이번 SP는 수강생들의 반이 gg를 치는 상황까지 갔기 때문에 교수님도 고민을 하시는 모양이었다. 다음에 교수님께서 SP를 맡으신다면 어떤 일이 일어 날 지 기대가 된다 :S

전산기조직 (CS311B, 윤 현수)

수업 시간에 좀 많이 자도 강의 노트로 무한 땜질이 가능한 과목. 수업 시간의 반을 잔 내가 성적이 꽤 좋게 나온 걸로 봐서 이건 확실하다. -_-;; 물론 이 교수님께서는 수업 시간에 수업과 직접적으로 관련은 없는 재밌는 얘기들을 많이 해 주시기 때문에 자지 않는 게 더 재밌을 것이다. 내용 만으로 따지자면, 전자과 전산기조직보다는 다루는 범위가 적긴 하지만 논리 회로 같은 거 생각 안 하고 살았던 사람들 입장에서는 흥미로운 내용이 많다. CPU의 기초적인 설계부터 통신과 메모리 관리까지 대충 나올 내용은 다 나오는데도 아주 깊게 들어 가지도 않기 때문에 부담은 크지 않은 편이지만, 최근의 아키텍처는 그다지 다루지 않는다는 문제도 있긴 하다. (하긴 요즘 나오는 것들을 소개만 하는 데도 몇 시간 걸리긴 하겠지만, 그렇다 쳐도 강의 내용이 너무 옛날 것 아닌가 -_-;)

심볼릭 프로그래밍 (CS370, 박 종철)

송 준화 교수님의 SP보다 더 빡세서 SP라는 이니셜을 가진 과목은 모조리 빡세다는 농담을 낳은 최강의 과목. (그래서 교수님께서 Declarative Programming으로 과목 이름을 바꿔야 겠다는 얘기도 하셨다.) 물론 이 과목은 원래부터 악명이 좀 높긴 했지만, 다른 과목의 로드가 그다지 빡세지 않다면 도전해도 큰 무리는 없으리라 생각한다. 수업은 전체적으로 중간고사 전까지는 프롤로그를 배우고, 그 뒤에는 프롤로그를 사용한 논리 프로그래밍이 주를 이룬다. 숙제로는 보드 게임의 AI를 짜라느니 뭐 그런 종류의 문제가 나오고, 이와는 별개로 학기 내내 진행되는 프로젝트가 있는데 이건 나름대로 주제를 정해서 그 주제를 가지고 뭔가를 만들어 내는 게 목표이다. (어찌 저찌 해서 다 만들어서 제출하고 발표하긴 했다.)

나름대로 토론 수업(;;)도 하긴 했는데 조금 어색하긴 한 편이었고, 발표수업도 꽤 많이 진행되는 편이었다. 송 준화 교수님만큼이나 교육 철학이 뚜렷하신 분이라서 매 시간마다 새로운 방법으로 강의를 진행하시기도 했다. 물론 덕분에 막판에 강의 진도가 다 나가지 않아서 진도 못 나간 부분은 시험에서 빠지기도 했지만 시도는 괜찮았다고 본다. 시험은 무진장 어렵고, 대부분의 사람들이 중간과 기말을 동시에 떡을 치는 경우가 많았다. 나도 기말을 망쳤는데 성적이 어찌 나올 지 참 두렵다. -_-;

알고리즘 (CS300, 신 성용)

이 과목은 내가 수업을 제대로 들어 오질 못 해서 망한 과목이므로 따로 설명하기 난감하다. 다음 학기에 재수강할 예정이니 다음 학기 끝날 즈음에 자세히 소개하겠다.

내가 이 과목에 대해서 말할 수 있는 사실은 자면 망하고 조금만 빠져도 망한다는 것이다. 젠장 -_-

과학 기술과 사회 (HS111, 임 종태)

이 과목도 알고리즘만큼이나 많이 빠지긴 했지만 아무튼 시험까지 제대로 본 과목이니 소개하겠다. -_-; 이번에 들은 유일한 교양 과목인데, 워낙 교양이 부족한 나 같은 사람한테는 과학사에 대한 지식을 익힐 수 있는 절호의 기회...였으나 너무 많이 빠져서 큰 효과는 못 봤다. 대체적으로는 강의 노트와 실제 강의가 큰 차이가 나지 않기 때문에 수업 시간을 어쩌다 놓쳐도 큰 문제는 되지 않고, 교수님께서 워낙 좋으셔서 에세이를 제출한 뒤 계속 고쳐서 내도 점수를 인정하실 정도니 과목 자체는 어렵지 않고 학점도 잘 나오는 편이라 할 수 있다. 개인적으로는 어쩌다 보니 이 과목을 망치게 되었는지 난감할 따름이다. OTL

이 상황에 대해서 부연하자면, 원래 일본어1을 들으려다가 수강 변경 신청에 실패해서 알고리즘을 듣게 되었고, 애초에 수강 변경 기간에 알고리즘을 못 들었기 때문에 그 뒷부분을 잘 따라 오질 못 했으며, 따라서 못 들어 오는 경우도 꽤 있었고, 덩달아 같은 시간대에 있는 과기사까지 영향을 받았다는 얘기다. -_- 역시 수강 변경 신청은 만악의 근원이다. (성적 보고 F가 안 나오면 재수강은 웬만해서는 안 할 생각이다;;)

다음 학기에는?

다음 학기에 내가 듣는 과목은 다음과 같다. (수강 변경은 더 이상 안 할 생각이다.) 혹시 같은 과목 들으시는 분께서는... 한 학기동안 잘 지내 봅시다 :)

  • 알고리즘 (CS300, 최 성희) - 재수강-_-
  • 형식언어 및 오토마타 (CS322, 최 광무)
  • 데이터베이스 개론 (CS360, 김 명호)
  • 일본어 1 (HS152B)
  • 언어학 개론 (HS255, 박 문규)
  • 전자공학개론 (EE200, 김 춘길)

  1. RFC 1149(전서구를 통한 IP 프로토콜을 정의하는 만우절 RFC)에서 영감을 받은 것으로 보이는 가상의 회사. RFC 1149에서는 전서구에 패킷을 hexdump 형태로 적은 종이를 매달아 보냈지만, 이 회사는 CD를 구워서 운반하게 하는 방법을 쓴다. -_-;

이 글은 본래 http://tokigun.net/blog/entry.php?blogid=127에 썼던 것을 옮겨 온 것입니다.


(rev 553c824afb91)