정윤경 교수의 <br> '컴퓨팅 사고 응용'

정윤경 교수의
'컴퓨팅 사고 응용'

  • 372호
  • 기사입력 2017.05.25
  • 취재 김태경 기자
  • 편집 최재영 기자
  • 조회수 8295

'컴퓨팅사고와 SW코딩', '문제해결과 알고리즘' 강의를 수강하고, 프로그래밍에 관심이 생겨 소프트웨어 쪽을 복수전공으로 생각하게 된 학우들이 있을 것이다. 하지만, 소프트웨어 전공은 이과 쪽이라 대부분이 문과인 인사캠 학우들이 어렵지 않을까하는 막연한 두려움때문에 주저할 것이다. 이 때에는 소프트웨어 전공 입문 강의 '컴퓨팅사고응용'을 수강해보길 바란다. '컴퓨팅사고응용' 강의는 다학제인포매틱스연계전공, 융합소프트웨어연계전공, SCSC 등 인사캠 학생들을 위한 모든 소프트웨어연계전공의 공통 입문 강의로, 비슷한 주제를 다루기는 하지만, 1학년 때 교양으로 들었던 컴퓨팅 강의들보다는 심화된 강의이다. 이 강의를 큰 무리 없이 잘 따라갔다면 이쪽 길을 쭉 가면되고, 이 강의마저 버겁게 느꼈다면 다시 한번 고민해보는 것을 추천한다. 이번 '수업속으로'에서는 정윤경 교수의 '컴퓨팅사고응용'을 소개한다.

이 강의에서는 프로그래밍 언어로 파이썬(Python)을, 교재는 Introduction to Programming using Python (David I. Schneider 저)을 사용한다. 이 강의는 이론과 실습 강의로 나뉘는데 이론 시간에 교수에게 배웠던 내용을 실습 시간에 조교와 함께 직접 프로그래밍 해본다. 이론과 실습이 비교적 단절되어 있던 '컴퓨팅사고와 SW코딩'이나 '문제해결과 알고리즘'보다 훨씬 짜임새있는 강의이다. 이론 강의는 국제어로 진행된다. 교수가 이론을 설명한 후, 이와 관련된 여러가지 문제를 팀별로 해결하고, 이 답을 전체와 공유하는 시간이다. 실습에서는 이론 때보다 심화된 문제를 다룬다.

'컴퓨팅사고응용' 강의는 난이도가 크게 높지 않은 입문 강의라 점수 급간이 촘촘한 경향이 있다. 조금만 실수해도 성적이 확 내려갈 수도 있다. 그래도 국제어 강의라서 50%까지 A, 90%까지 B라서 큰 부담은 없을 것이다. 교수가 일단 영어로 설명 한 뒤, 어려웠던 내용에 대해서는 한국어로 또 한 번 설명해주어 영어에 대한 부담이 있는 학우들에게도 괜찮을 것이다. 한 주에 한 번 조교의 오피스 아워(office hour)가 있어서 수업에서나 혼자 공부하다가 생긴 문제에 대해서 질문하고 그에 대한 답을 받을 수 있다. 이와는 별개로 이 강의에서 좋았던 성적을 받았던 학우에게 직접 튜터링도 받을 수 있어서 자신이 마음만 먹는 다면 정말 공부를 제대로 할 수 있을 것이다.

성적은 출석과 수업 참여 20%, 과제와 팀 프로젝트 20%, 위클리 과제 10%, 중간고사 20%, 기말고사 30%로 결정된다.

출석과 수업 참여 20%는 출석과 in-class 활동으로 결정된다. 강의 시작할 때 출석을 부른다. 수업이 얼마정도 진행된 뒤, 아까 말한 것처럼 팀별로 여러가지 문제를 풀고 이를 구글 폼으로 다함께 공유하는 시간이 있는데 이때 이름을 작성해야한다. 다시 말해, 이중적으로 출석을 확인하는 것이다. 문제를 풀지 못 했어도 출석과 수업 참여는 인정된다. 가끔 출석을 호명이 아니라 아이캠퍼스 토론 섹션에 이름을 쓰거나 in-class 활동을 할 때 한꺼번에 출석을 확인하기도 한다.

과제와 팀 프로젝트 20%가 가장 부담스러울 수 있는 부분일 것이다. 하지만, 과제는 수업에서 배웠던 걸 응용하여 프로그래밍 하는 것이 대부분이고, 이 또한 교재나 인터넷을 참고하면 그리 어렵지 않다. 주의해야 할 점은 다른 사람이 프로그래밍 했던 것을 그대로 긁어와서는 안 된다는 것이다. 이는 표절로 0점 처리가 된다. 이 수업의 목표는 컴퓨팅 사고력을 증진시키는 것으로, 남의 생각을 그대로 가져다 쓰는 것은 아무 도움이 되지 않는다. 팀 프로젝트는 한 학기동안 강의에서 배웠던 프로그래밍을 총 동원하여 각자 팀 만의 프로그램을 짜는 것이다. 참신하고 일상 생활에서 쓸 수 있을 만한 주제를 선정하는 것이 중요하다. 또한, 수업 때 배웠던 것을 얼마나 충실하게 활용했나도 중요하다. 아이디어 위주였던 러닝페어(Learning Fair)와 달리 완전히 구현까지 해야하는 과정이 어렵게 느껴질 수도 있지만, 교수가 점수 급간을 크게 두지 않으므로 마냥 부담스러워 하지 않았으면 좋겠다. 여기서 만들어 낸 결과물을 C-School 성과전시회에 출품하는 것도 좋다. 굳이 참여하지 않아도 되기는 하지만 교내상을 받을 좋은 기회이기도 하다.

위클리 과제는 10%로 실습 시간에 발생한다. 실습 시간에 주어진 여러가지 문제들을 파이썬으로 프로그래밍하여 제출하면 된다. 대부분 실습 시간 안에 해결할 수 있는 문제들이라 크게 어렵지 않다. 실습 시간 안에 해결하지 못 했다 하더라도 제출 기간이 5일 정도로 넉넉하니 부담스럽지도 않을 것이다.

중간고사 20%는 이론적인 문제로 이루어져있다. 중간고사를 볼 때가 아직 본격적으로 파이썬 프로그래밍에 들어가기 전이기 때문이다. 여러가지 이론을 활용한 문제들과 빈칸 채우기 형식의 간단한 프로그래밍 문제가 있다. 교수는 자잘자잘한 것을 외우는 것이 아니라 이론을 제대로 이해하고 이를 적용, 활용하는 것에 초점을 두고 있어 무작정 암기할 필요는 없는 듯하다. 수업을 잘 듣고, 그때그때 이해하는 것이 가장 좋은 공부법인 같다.

기말고사 35%는 완전히 파이썬 프로그래밍이다. 시험도 컴퓨터를 사용하여 파이썬 코드를 제출하는 것이다. 교수가 제시한 6~7개 정도의 프로그램을 자신만의 방식으로 구현해내면 된다. 파이썬 코드도 중요하긴 하지만 일단 제대로 구현되는 것이 중요하다. 부분점수는 없다. 프로그램이 정상 작동하지 않으면 그 문제는 완전히 틀린다. 1시간 정도의 짧은 시간안에 많은 문제들을 풀어야해서 심리적인 압박감이 클 것이다. 여러가지 파이썬 코드나 수업 시간에 사용했던 PPT를 볼 수 있는 오픈북 시험이니 너무 부담 갖지 않았으면 한다. 시험의 특성상 벼락치기가 완전 불가능해서 평소에 교재나 PPT에 나와있는 예제들을 직접 풀어보는 시간을 통해 훈련해야 한다.

'컴퓨팅사고와 SW코딩'과 '문제해결과 알고리즘' 강의만으로는 아쉽다하는 학생들에게 강력 추천한다. 필자는 1학년 때 '문제해결과 알고리즘' 강의와 '컴퓨터사고응용' 강의를 함께 수강했다. 파이썬을 처음 배우는 것임에도 불구하고 그렇게 큰 어려움은 느끼지 못했다. 너무 걱정하지 않아도 된다. 어려움보다는 오히려 두 강의를 함께 수강함으로써 얻는 시너지 효과가 정말 컸다. 두 강의 모두 비슷한 주제를 이론으로 다루고 있을 뿐만 아니라 프로그래밍 언어로 파이썬을 사용했기 때문이다. '컴퓨터사고응용'이 교양 강의보다는 심화된 강의여서 '문제해결과 알고리즘' 강의를 비교적 수월하게 수강하기도 했다. 소프트웨어 쪽에 관심이 있는 학우들이 많이 수강했으면 좋겠다. 이론과 실습 시간뿐만 아니라 오피스 아워, 튜터링까지 활용하며 들을 수 있어 프로그래밍 초심자에게 아주 적합한 강의라고 생각된다.