본문 바로가기
스터디 하드/방통대 컴퓨터과학과

15-2 방통대 컴퓨터과학과 C++프로그래밍 수강후기

by 피타칩스 2015. 12. 8.

방통대 편입 첫학기가 끝나가고 있습니다~~ 저는 이번 학기에 1학점 필수교양인 원격대학교육의 이해와 컴퓨터과학과 전공과목 6개(C++프로그래밍, 컴퓨터과학개론, 자료구조, 프로그래밍언어론, 컴퓨터구조, JSP프로그래밍)을 들었는데요, 그 중 1학년 과목인 C++ 프로그래밍 과목 수강후기를 제일 먼저 남겨보고자 합니다.


방통대 공부는 주로 교과서와 인강을 통해 이루어지고(제 생각엔 교과서가 메인, 인강이 서브), 평가는 중간평가(30%)와 기말평가(70%)가 전부입니다. 따라서 이 네가지를 중심으로 이야기 해볼게요.


제 개인적인 소감인만큼 후기가 주관적일 수 있다는 점 고려해서 읽어주시길 바랍니다^^



<2015-2 방통대 컴퓨터과학과 C++ 프로그래밍>

수강후기


1. 강의방식 요약


멀티미디어(인강) / 실습형 출석수업 또는 과제제출형 대체시험 / 기말시험 / 1학년 2학기(1-2) / 전공 / 3학점 



2. 과목 목표 (강의계획서)


본 과목에서는 C++ 언어를 중심으로하여 객체지향 프로그래밍의 개념들을 프로그램으로 구현하기 위한 능력을 배양하는데 목표를 두고 있다. 교재의 프로그램이나 연습 과제를 직접 프로그램으로 작성하여 봄으로써 여러 가지 구문과 용법을 익히기 바란다. 




3. 선수강 과목: C프로그래밍(1-1) 또는 프로그래밍언어 기본지식


C++언어 자체가 C언어에서 발전된 형태이다보니 C++을 알기 위해선 기본적인 C언어 내용을 알고 있어야합니다. 꼭 C언어가 아니어도 되지만, ++, --, == 등과 같은 연산자들의 뜻, int, array 등 자료형, if문, for문, while문, 함수, 그리고 포인터에 대한 개념 등 기본문법규칙을 알고 있어야 합니다. C++ 프로그래밍 수업은 이러한 내용을 이미 학생들이 1학년 1학기에 C프로그래밍 수업에서 배웠다고 가정하고 이 부분은 빠르게 지나가기 때문입니다.


그런데 프로그래밍언어 기본문법이라는게 포인터개념 및 몇가지 개념을 제외하면 그렇게 어려운 게 아니라서 무조건 C언어 수업을 듣고 C++ 수업을 들어야만 하는 건 아닙니다. 2학기에 방통대에 입학하거나 편입한 분이라면 C언어에 관련된 책을 아무거나 사서 문법규칙과 포인터 개념만 조금 훑어보고 C++ 수업을 들어도 큰 무리 없을거라고 생각합니다. 다만 공부하다가 모르는 부분 나오면 C 책을 좀 읽어본다든가 하는 노력과 어느정도의 핸디캡은 감수해야겠죠.



4. 교재



4.1 교과서


C++ 교과서 기본정보: 전중남, 이병래 저 / 2013년 7월 제작 / 384p / 13,400원



디자인, 레이아웃 굳!


전반적으로 2013년을 기점으로 방통대 교과서가 대폭 업그레이드되지 않았나 싶습니다. 교과서들이 거의 다 B5 사이즈로 통일되고, 표지디자인이나 내부 레이아웃, 컬러링 등이 전반적으로 스타일리쉬해진 느낌입니다. 

2013년 이전에 쓰던 C++ 교과서를 실물로 보진 못했지만 인터넷 중고거래사이트에서 봤던 것과 비교해서 2013년 7월에 초판된 C++ 교재는 시각적으로 훨씬 우월합니다. 올해 제가 갖고 공부한 책에는 1판 3쇄라고 쓰여있네요.


오타 적음 ^_^


철자 오타 하나, 기호 오타 하나가 컴파일오류, 런타임오류로 이어질 수 있는 프로그래밍 책에서, 그것도 교과서에서 오타가 적은 게 얼마나 중요한지는 제가 말 하지 않아도 대부분의 사람들이 이해할 거라고 생각합니다. C++ 교재에도 짧지만 다양한 코드 예시가 삽입되어있는데요, 전반적으로 오타는 적습니다. 아예 없지는 않지만 매우 양호합니다. 방통대 출판문화원에서 정오표도 제공되고 있습니다. 


교재 가독성 굳! 다만..


디자인, 레이아웃 좋고, 오타가 적으니 사실 저자가 비문만 남발하지 않는다면 가독성은 좋을 수밖에 없겠습니다. 책에 비문은 거의 없으니 가독성은 좋습니다.

다만, bullet point나 번호를 매긴 요약정리가 본문 내에 좀 더 있었으면 좋았을거같다는 생각이 듭니다. 가독성 자체에는 문제가 없지만 하나의 개념에 대한 특징을 설명하는 문장이 줄글 속 이곳저곳에 분산되어 있다보니 책을 한 번 다 읽고나서 책을 스윽 넘겨볼 때 눈에 확확 띄는 게 부족하더라구요.


교재 난이도와 내용량은 적당한가? YES


C++ 교재 뿐만 아니라 방통대 교재들은 장단점이 확실한 것 같습니다. 짧은 책 안에 핵심이 간결하게 담겨있으나, 풍부하고 심화된 논의는 어쩔 수 없이 조금 부족합니다. 근데 저는 이 '적당함'이 마음에 듭니다. 그래서 방통대에 편입하고 잘 다니고 있는것 같기도 해요. 모든 부분을 터치해주되 더 공부하고 싶으면 제가 알아서 더 공부할 수 있으니까요.


그리고 C++ 프로그래밍 교재는 이 특징을 잘 살리고 있습니다. 교재의 대목차를 볼게요. 


제1장 객체지향언어의개념 / 제2장 C++ 언어의기초 / 제3장 함 수 / 제4장 클래스와객체 / 제5장 연산자다중정의 / 제6장 상 속 / 제7장 템플릿 / 제8장 예외처리 / 제9장 입출력스트림


시중에 나와있는 C++ 책들이랑 비슷하죠? 깊이는 얕을지 몰라도 뼈대는 유지하고 있습니다. 그리고 사소한 거지만 인터넷 강의는 9장 입출력스트림을 스킵해버리는데, 책에는 그래도 포함시켜놓은 게 좋았습니다. 



4.2 워크북


C++ 워크북 기본정보: 이병래 저 / 2013년 7월 제작 / 118p / 교과서 사면 무료로 제공


워크북 구성은? 빈칸채우기형 요약과 연습문제 110제


방통대 교재 중 교과서들은 과목마다 내용은 달라도 교재 내부 구성이 비슷비슷한데, 워크북은 교수님 스타일을 강하게 타는거 같습니다. C++ 기본 교과서는 전중남, 이병래 교수님 공저였는데, 워크북은 이병래 교수님 단독 저자라고 써있습니다. 빈칸채우기와 연습문제는 이병래 교수님이 선호하는 복습방식이 아닐까 조심스레 추측해봅니다.


제가 개인적으로 좋아하는 워크북은 문제가 많은 워크북입니다. 전 글자 읽는건 좀 지루한데 문제 푸는건 재밌더라구요. 그래서 C++ 워크북은 뒤에 있는 110문제만 풀고 앞에 있는 빈칸채우기식 요약은 보지 않았습니다.




제가 이번 학기에는 교과서를 가지고 공부해서 워크북의 중요성을 피부로 느끼진 못했습니다. 하지만 내년부터 공부할 수 있는 시간이 급격하게 줄어들 것 같아서 요약이 잘 되어있는 워크북을 중심으로 공부할 수도 있겠다는 생각이 듭니다. 워크북은 공부보다는 시험적합적인 느낌이 나거든요. 



5. 인터넷 강의총 15강 (각각 1시간 내외)


이병래 교수님 강의, 굳! 


C++ 교재의 저자이기도 한 이병래 교수님이 직접 강의합니다. 방통대 교재이긴 하지만 저자직강인 것이죠. ㅎㅎ 설명은 깔끔합니다. 교재를 보면 많은 코드예시가 있는데 그 코드들에 대한 분석을 중심으로 강의를 진행합니다. 그런데 교재에도 코드에 대한 설명이 나와있기 때문에 코드와 간단한 설명만으로 충분히 잘 이해할 수 있다면 강의는 1.6배속 ~ 2배속으로 듣거나, 이해되지 않는 부분만 선택적으로 들어도 될 거 같습니다.



2013년 7월 촬영


교재가 2013년에 (아마도) 대폭 수정되었고, 그에 따라 인강도 2013년에 새로 녹화되었습니다. 방통대 강의를 보면 5년 이상 된 강의도 있는데, C++은 찍은지 2년밖에 안 되었습니다. 방통대 강의 중에서 2년 된 인강은 프레시한 인강으로 쳐줍니다. 




6. 중간평가: 실습형 출석수업(실습과제 제출형 출석수업대체시험) / 대체시험일 11월 29일(일)


실습과제물 제출형 중간평가방식


C++은 컴퓨터과학과 과목 중에서 실습형(실습과제형) 중간평가를 하는 과목입니다. 즉, 과제물을 제출하는 것으로 중간평가를 받습니다. 그런데 과제물을 온라인으로 제출하는 것이 아니라 출석수업일 혹은 출석수업대체시험일에 과제물을 오프라인으로 직접 전달하는 형식입니다. 출석수업을 들은 사람은 출석수업일 마지막날에, 출석수업대체를 신청한 사람은 출석수업대체시험일에 고사장에 찾아가 고사장별 감독관에게 직접 전달해야 합니다.


올해 과제물 주제는? 난이도는?


올해 중간평가는 '삼각형 클래스 설계'에 대한 것이었습니다. 과제 요구사항을 요약하면 다음과 같습니다. 이 과제에 대해서는 따로 포스팅할 생각입니다. 


중간과제: 삼각형을 나타내는 객체를 만들기 위한 클래스를 선언하려고 한다. 이 클래스는 데이터멤버로 세 개의 꼭지점 좌표를 갖고, 멤버함수들로 다음 네 가지 ㉠ 삼각형 객체 생성(생성자) ㉡ 좌표이동 ㉢ 크기배율조정 면적계산을 할 수 있는 클래스다. 삼각형 클래스를 구현하라. (이 메소드(함수)들을 호출하는 main 함수도 구현해야 함)


교과서에 삼각형 클래스에 관한 유사한 내용이 나와있고, 이 부분에 대한 강의도 있었기에 대부분 (그리고 저도) 중간성적을 무난하게 받을 수 있을 거라고 생각합니다. 하지만 클래스를 본인이 직접 디자인해야하기 때문에 아주 쉬운 과제는 아니라고 봅니다. 방통대답게 적당한 과제였다고 생각해요.


과제 제출이 복잡하므니다ㅠㅠ


한 가지 C++ 중간평가에서 주의해야할 점은, 그리고 까다로운 점은, 좀 챙길게 많다는 겁니다. 일단, 저 클래스를 만든 헤더파일이나 cpp 파일을 CD-ROM에 저장해서 제출해야합니다. 띠요오용!! 플로피디스켓이 아니라는 점에 감사해야하나 싶긴 하지만... 제가 쓰는 노트북(lg그램)에는 CD가 안들어간단 말입니다. ㅠㅠ 데스크탑 없어서 서럽더군요. 그리고 700MB CD에 10MB도 안되는 클래스파일 넣어서 제출하려니 자원낭비라는 생각도 들었습니다.


이렇게 불평하지만, 결국엔 이동식 저장장치 중 제일 저렴한 CD에 제출하는게 가장 합리적입니다. 제출된 과제와 CD는 돌려주지 않기 때문이죠. 저는 동네에서 딱 천원주고 샀습니다. usb에 제출해도 되냐고 게시판에 올라온 글도 있던데, 조교가 usb에 제출해도 된다고 답글 달았습니다. 하지만 돈아깝죠. 그 usb 저 좀.


그리고 CD만 그냥 제출하면 되는게 아니라 코딩한 내용을 하드카피로 프린트해야하고, 또 별도의 용지에 자신이 디자인한 클래스에 대한 설명을 구구절절 별도로 써서 내야합니다. 이것도 평가요소 중에 하나라고 하네요. 마지막으로 대형서류봉투에 세가지를 넣은 다음통대에서 사용하는 과제물 표지서식을 다운받아서 대형서류봉투 전면에 붙여야 합니다.


이 과정이 익숙해지면 아무렇지 않을지 모르겠지만, 처음 내는 과제다보니 이 과정이 상당히 복잡하고 어렵게 느껴졌습니다.  



7. 기말고사: 25문제 / 12월 6일(일) / 시험범위 3장 ~ 8장


중간평가에 비해 기말고사에 대해서는 별로 할 말이 없네요. 1학년 수업이었기에 기말고사는 12월 6일 일요일에 치뤄졌습니다. 1교시 시험이었습니다. 


공부방법


저는 정석대로 공부했습니다. 강의보면서 교재도 봤고, 시험 전날에 최근 3년 기출문제, 워크북, 단원 마무리문제를 모두 풀어봤습니다. 강의보고 교재 읽은 시간은 아마도 꼬박 24시간정도는 되지 않을까합니다. 그리고 시험 전날엔 C++만 2시간 정도 걸려서 준비한것 같네요.


출제범위: 3장 ~ 8장


방통대 기말고사는 거의 다 전범위입니다. 제가 들은 6과목 중 5과목은 전범위였는데, C++프로그래밍만은 3장 ~ 8장 일부분만 기말고사 범위였습니다. 예쓰. 1 ~ 2장은 비쥬얼스튜디오 설치 및 C언어 기본문법에 관한 사항이라서, 9장은 인터넷 강의에서 내용을 다루지 않아서 빠진거라고 추측됩니다.


기말고사 보고 온 소감 + 교수님 힌트자료


기말고사 본지 얼마 안 돼서 기억이 꽤나 생생합니다. 기말고사는 기출과 많이 다르지 않게 나왔고, 워크북과 단원마무리 문제에 나온 것들과 유사한 문제들도 몇개 있는 것 같습니다. 교수님이 이것들을 참고하고 시험지를 만든게 아니더라도 객관식 25문제에서 다룰 수 있는 C++의 중요내용이 아무래도 한정되어 있기 때문에 기출, 워크북, 단원마무리 문제를 풀어보는게 정말 중요한 것 같습니다. 


만약 시간이 정말 없다면 일단 워크북 빈칸채우기 요약을 읽고, 교수님이 기말고사 전에 올린 힌트성 코드와 요약자료를 열심히 공부하면 되지 않을까 합니다. 힌트는 작년에도 올려주셨는지는 모르겠는데 일단 올해에는 올라왔습니다. 저는 시험이 끝나고서야 교수님 힌트자료를 확인했는데(흑흑), 이것만 보고 충분히 이해했다면 시험전날 조금 덜 공부할 수 있었을 것 같네요. 




C++ 프로그래밍 후기 요약

  • 교재: 교과서는 굳, 워크북은 취향 탐
  • 강의: 굳 
  • 중간평가: 과제 자체는 무난하나, 제출방법이 복잡
  • 기말고사: 기출문제 + 힌트자료 열심히 보면 90점 이상 가능할 듯



공감♥은 제게 큰 힘이 됩니다. 감사합니다.


댓글