4190.210 Principles of Programming
강의: 화 16:00-17:45 @ 302동 208호
실습: 목 16:00-17:45 @ 302동 311-1호
  
-
능력. 이 강의는 학생들이 프로그램 작성의 기본 원리, 구성 요소,
프로그래밍 미학등을 습득하게 함으로써, 소프트웨어 시스템이 드러내는
복잡성을 손쉽게 다룰 수 있는 능력과 자신감을 익히게 한다.
-
보편. 이 강의에서 익힌 내용은 장차 어떤 언어를 사용하여
소프트웨어를 작성하더라도 유용하게된다. 이
강의는 학생들에게 특정 언어를 가르치는 과목(training)이 아니다. 명료하고
효과적으로 생각할 수 있게 하는 프로그래밍 교육(education)을 목표로한다.
-
눈높이. 이 강의는 프로그래밍 기술의 현재뿐 아니라 앞으로 나타날 미래에 대한
눈높이를 갖추도록 한다. 프로그래밍은 점점 상위의 레벨에서 이루어지고 있다.
프로그램이 기계를 사용하기 위한 도구라는 시각과 함께 기계가 프로그램
실행을 위한 도구라는 시각을 갖추도록 한다.
다루는 토픽은
- 기본부품과 조합(elements & compound)
- 재귀와 반복(recursion & iteration)
- 속내용 감추기(procedural & data abstraction)
- 계층구조로 속내용 감추기(modularity & hierarchy)
- 맞는 프로그램인지 확인하기(program proof)
- 타입으로 정리+이해하기(types & typeful programming)
- 값중심의 프로그래밍(values & applicative programming)
- 물건중심의 프로그래밍(objects & imperative programming)
- 예외상황 관리(exceptions & advanced control)
숙제: 60%, 프로젝트 혹은 퀴즈: 30%, 실습: 10%
- 성적은 절대평가이다.
- 프로그램 숙제가 복제로 판정되면, 숙제나 프로젝트의 모든
점수가 50% 감점된다.
- 프로그램 복제여부는 CloneChecker에
의해 자동으로 감별된다.
프로젝트 Project
- 실라부스 Syllabus
- 교재(번역서):
[컴퓨터
프로그램의 구조와 해석], 김재우 외, 인사이트, 2007
- 교재(원서):
Structure and Interpretation of Computer Programs(SICP),
2nd ed., Harold Abelson
and Gerald Jay
Sussman with Julie Sussman, MIT Press.
(SICP's full-text on-line)
- 실습환경:
MIT Scheme
(or DrScheme)
& OCaml
- To view/print PDF files: Acrobat Reader
- 강의 슬라이드:
- Part 0: 강의용, 배포용(2in1, 4in1)
- Part 1: 강의용, 배포용(2in1, 4in1)
- Part 2: 강의용, 배포용(2in1, 4in1)
- Part 3: 강의용, 배포용(2in1, 4in1)
- Part 4: 강의용, 배포용(2in1, 4in1)
,
inductive refinement 예
 원리? 어떻게? 왜? 그렇다면?
|
|