4190.210 Principles of Programming
°ÀÇ: ¼ö 16:00-17:50 @ 302µ¿ 106È£
½Ç½À: ¿ù 16:00-17:50 @ 302µ¿ 311È£
ÇлýµéÀÌ ÇÁ·Î±×·¥ ÀÛ¼ºÀÇ ±âº» ¿ø¸®, ±¸¼º ¿ä¼Ò, ÇÁ·Î±×·¡¹Ö ¹ÌÇеîÀ»
½ÀµæÇÏ°Ô ÇÔÀ¸·Î½á, ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛÀÌ µå·¯³»´Â º¹À⼺À» ¼Õ½±°Ô ´Ù·ê
¼ö ÀÖ´Â ´É·Â°ú ÀڽۨÀ» ÀÍÈ÷°Ô ÇÑ´Ù. ´õ±º´Ù³ª, ÇÁ·Î±×·¥ÀÌ ±â°è¸¦ »ç¿ëÇϱâ À§ÇÑ
µµ±¸¶ó´Â Á¦ÇÑµÈ ½Ã°¢¿¡¼ ¹þ¾î³ª ±â°è°¡ ÇÁ·Î±×·¥ ½ÇÇàÀ» À§ÇÑ µµ±¸¶ó´Â
½Ã°¢À» °®Ãßµµ·Ï º¸Á¤ÇØÁØ´Ù.
ÀÌ °ÀÇ´Â ÇÁ·Î±×·¡¹Ö ¿¬½À(training)ÀÌ ¾Æ´Ï¶ó ÇÁ·Î±×·¡¹Ö
±³À°(education)ÀÌ´Ù. ÇлýµéÀÌ Æ¯Á¤ ¾ð¾îÀÇ ÇÁ·Î±×·¡¹Ö¿¡ Àͼ÷Çϵµ·Ï
¿¬½À¹ÞÁö ¾Ê´Â´Ù. º¸´Ù Áß¿äÇÏ°Ô, ¸í·áÇÏ°í È¿°úÀûÀ¸·Î »ý°¢ÇÒ ¼ö ÀÖ°Ô
ÇÏ´Â ÇÁ·Î±×·¡¹Ö ±³À°À» ¹Þ°Ô µÈ´Ù.
´Ù·ç´Â ÅäÇÈÀº
- Àç±Í¿Í ¹Ýº¹(recursion and iteration)
- ÇÔ¼ö·Î ¿ä¾àÇϱâ(procedural abstraction)
- µ¥ÀÌŸ·Î ¿ä¾àÇϱâ(data abstraction)
- ¸ðµâ°ú °èÃþ±¸Á¶·Î ¿ä¾àÇϱâ(modularity and hierarchy)
- ¸Â´Â ÇÁ·Î±×·¥ÀÎÁö È®ÀÎÇϱâ(program proof)
- ¹°°ÇÁß½ÉÀÇ ÇÁ·Î±×·¡¹Ö(objects and imperative programming)
- °ªÁß½ÉÀÇ ÇÁ·Î±×·¡¹Ö(values and applicative programming)
- ŸÀÔÀ» °®Ãá ÇÁ·Î±×·¡¹Ö(types and typeful programming)
- ½ÇÇàÈ帧ÀÇ °ü¸®(exceptions and advanced control)
¼÷Á¦: 50%, ÇÁ·ÎÁ§Æ®: 20%, Å¥Áî: 20%, ½Ç½À: 10%
- ¼ºÀûÀº Àý´ëÆò°¡ÀÌ´Ù.
- ÇÁ·Î±×·¥ ¼÷Á¦°¡ º¹Á¦·Î ÆÇÁ¤µÇ¸é, ¼÷Á¦ÀÇ ¸ðµç
Á¡¼ö°¡ 50% °¨Á¡µÈ´Ù.
- ÇÁ·Î±×·¥ º¹Á¦¿©ºÎ´Â CloneChecker¿¡
ÀÇÇØ ÀÚµ¿À¸·Î °¨º°µÈ´Ù.
- ¼÷Á¦ ½Ã°£Ç¥
- HW1: due 09/19
- HW2: due
09/26 09/29
- HW3: due
10/10 10/12
- HW4: due
10/31 11/02
- HW5: due
11/14 11/17
- HW6: due
11/24 11/25
-
HW7: due 12/05
- Project: due
12/17 12/14(league), 12/18(tournament)
ÇÁ·ÎÁ§Æ® Project
- ±³Àç(¹ø¿ª¼):
[ÄÄÇ»ÅÍ
ÇÁ·Î±×·¥ÀÇ ±¸Á¶¿Í Çؼ®], ±èÀç¿ì ¿Ü, ÀλçÀÌÆ®, 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
- °ÀÇ ½½¶óÀ̵å:
- 0.ppt: what to teach/what to expect/policy
- 1.ppt: programming elements, primitives,
combination, abstraction, evaluation, expression, values,
syntax, semantics
- 2.ppt
: abstraction with procedure, procedure
application, typeful programming, scopes of names, syntactic sugars
- 3.ppt: recursive definition,
termination check, coverage check, abstraction with higher-order
procedures
- 4.ppt: compound data, pair
introduction/elimination, pairs for list, type for list, type-case analysis
- 5.ppt: data abstraction I, programming
patterns I, abstraction hierarchy
- 6.ppt: data abstraction II, programming
patterns II
- 7.ppt: implementation choices, tagged data, defensive programming
- 8.ppt: static type-checking
- 9.ppt
: value-oriented programming
(°ªÁß½ÉÀÇ ÇÁ·Î±×·¡¹Ö)
- inductive data, inductive types
- typeful programming, use of type inference
- modules and parameterized modules
- exceptions and advanced control
- 14.pdf: programming by inductive refinement
±×·¸´Ù¸é? ¿Ö?
|
|