L0444.200 Computational Thinking and Practice

이광근 Kwangkeun Yi
소프트웨어무결점 연구센터/ 프로그래밍 연구실/ CSE/ Seoul National University

강의: 화 10:30-12:00 @ 83동 502호
실습: 목 10:30-12:00 @ 83동 502호

목표 Objectives

다양한 전공의 학생들에게 컴퓨터 소프트웨어적인 문제해결 방식을 쉽게 익힐 수 있도록 한다. 이를 위해서, 컴퓨터 프로그램을 손수 제작해봄으로써 문제해결 사고틀이 어떻게 동원되는 지 실습한다. 이 강의는 컴퓨터과학이 여는 세계와 다음의 비유와 같이 짝이 된다.

컴퓨터과학이 여는 세계 <------> 문학의 세계
컴퓨터과학적 사고와 실습 <------> 글쓰기 실습
  • 미래 선도와 예측:
    다양한 전공의 학생들이 소프트웨어 제작과 이에 필요한 사고방식을 익히게 된다. 각자의 분야에서 미래에 가능한 응용을 창조하거나 예측할 수 있는 능력을 갖추기 위해서다.
  • 유효기간이 긴 지식:
    다양한 전공의 학생들에게 소프트웨어 제작에 동원되는 사고방식의 원리를 쉽게 이해시킨다. 그래서 학생 각자의 전공 분야에서 오랫동안 유용한 밑거름이 되도록 한다.
  • 가능성과 한계의 파악:
    각 분야의 학생들이 소프트웨어의 가능성뿐 아니라 한계를 이해하게 한다. 소프트웨어적인 사고방식을 적용해서 해결할 수 있는 문제를 적절하게 선별할 수 있는 균형잡힌 안목을 가질 필요가 있기 때문이다.
  • 디지털 세상의 이해:
    컴퓨터 소프트웨어적인 문제해결 사고방식을 통해서 각 분야의 학생들에게 우리를 둘러싼 디지털 세상을 바라보는 시각을 구체적으로 형성해 줄 필요가 있다. 마치 물리교육이 우리를 둘러싼 자연을 바라보는 시각을 형성해 주는 것과 같다.

내용 Contents

소프트웨어적 문제해결에 동원되는 아래 개념틀 14개를 전달한다. 강의 40%, 실습 60%.
데이터 정리하기   data structure
속내용 감추기/핵심 간추리기   abstraction
조립식으로 생각하기   composition
계층쌓기로 생각하기   hierarchy
끼리끼리 포장하기   module
반복으로 생각하기   repetition
재귀적으로 생각하기   induction & recursion
순서로 생각하기   sequentiality & concurrency
상태나 값으로 생각하기   state & value
틀을 짜서 재사용하기   framework
실행비용 생각하기   cost
올바른지 확인하기   correctness
통밥 동원하기   heuristics
무작위 동원하기   randomization

숙제 Homeworks

 

조교 TA

김진영: jykim@ropas.snu.ac.kr
  • TA homepage
  • Web board
  • 조교는 실습시간을 운영하고 숙제를 도와주기 위해서 있습니다.
  • 조교는 on-line으로도 과목 웹보드와 조교 페이지를 통해서 많은 정보를 공지하고 여러분의 어려움을 해결해 줍니다.
  • 조교는 여러분의 숙제를 채점합니다.

규정 Policy

  • 성적: 숙제 90%, 기타 10%
  • 프로그래밍 숙제는 컴퓨터를 통해 제출합니다. 제출기한을 지나 48시간 이내로 늦어지면 10% 감점.
  • 숙제복제가 적발되면 숙제점수 모두가 0점 처리됩니다. 프로그램의 유사도를 계산하는 소프트웨어가 사용됩니다.
  • 성적은 절대 평가.

진도및 자료 Slides & Resources

© Copyright 2017, 이 광근 Kwangkeun Yi