| 4190.210 Principles of ProgrammingLecture: Mon 16:00-17:50 @ 302-105Practice: Wed 16:00-17:50 @ 302-311-1
 
 
    
 
 Ability. You will have ability to write good programs by
learning the principles of programming.
 Generality. You will learn general principles that can be
applicable to any programming languages.
 Viewpoint. You will have a balanced viewpoint for
programming languages. Programs can be seen as a tool
for using computers, but on the other hand computers can be seen as
a tool for executing programs.
 
The topics covered are
 
  Elements & Compound (기본부품과 조합) Recursion & Iteration (재귀와 반복) Procedural & Data Abstraction (속내용 감추기) Modularity &  Hierarchy (계층구조로 속내용 감추기) Types & Typeful Programming (타입으로 정리+이해하기) Program Proof (맞는 프로그램인지 확인하기) Values & Applicative Programming (값중심의 프로그래밍) Objects & Imperative Programming (물건중심의 프로그래밍) Exceptions & Advanced Control (예외상황 관리)  Homework: 60%, Project: 30%, Practice: 10% 
 Grading is based on your absolute score, not your relative score among others. Any copied program will get no points. CloneChecker will detect 
copied programs automatically. 
  HW1: due 09/2109/25 24:00. primitives, compound,
 recursion. HW2: due 09/2810/0210/05 24:00. recursion, typeful programming.Note: HW2 was updated at 10am on Sep 30.
 HW3: due 10/1010/19 24:00. typeful programming, data
 abstraction. HW4: due 10/2210/26 24:00. data implementation,
 termination check, Huffman encoding, SKI reactor.Uploaded! Check the due date.
 HW5: due 11/0211/09 24:00. data abstraction with
 multiple implementations, Turing machine, Challenge I.
   (in Korean)English version Uploaded!
 HW6: due 11/2011/23 24:00. imperative/stateful
 programming, automatic typeful programming I, Challenge II.
   (in Korean)HW6 uploaded! (at 5 pm, Nov 5)
 HW7: due 12/0211/3012/03 24:00. automatic typeful
 programming II, module programming I, Challenge III.
   (in Korean)HW7 in Korean uploaded! (at 4 pm, Nov 24), HW7 in English uploaded! (at 11 am, Nov 25)
 HW8: due 12/0912/0712/10 24:00. module programming II.
   (in Korean)HW8 uploaded! (at 11:59 pm, Nov 30)
 Project: due 12/21 24:00.
      (in Korean)
 Project uploaded! (at 1 pm, Nov 10)
 
 SyllabusTextbook:
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)
Textbook (Translated): 
[컴퓨터 프로그램의 구조와 해석], 김재우 외, 인사이트, 2007Programming languages used in the course: 
   MIT Scheme
   (or Racket)
  & OCamlTo view/print PDF files:  Acrobat Reader
Lecture slides:
 
  Part 0: For lecture, For printing(2in1, 4in1) Part 1: For lecture, For printing(2in1, 4in1)
   Note: Slides for Part 1 were updated at 10am on Sep 30.
 Part 2: For lecture, For printing(2in1, 4in1) Part 3: For lecture, For printing(2in1, 4in1) Part 4: For lecture, For printing(2in1, 4in1),
 inductive refinement examples  원리? 어떻게? 왜? 그렇다면?
   |  |