4190.210 Principles of Programming
°ÀÇ: È 10:00-11:50 @ 301µ¿ 101È£
½Ç½À: ¸ñ 10:00-11: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)
¼÷Á¦: 60%, ÇÁ·ÎÁ§Æ®: 30%, ½Ç½À: 10%
- ¼ºÀûÀº Àý´ëÆò°¡ÀÌ´Ù.
- ÇÁ·Î±×·¥ ¼÷Á¦°¡ º¹Á¦·Î ÆÇÁ¤µÇ¸é, ¼÷Á¦ÀÇ ¸ðµç
Á¡¼ö°¡ 50% °¨Á¡µÈ´Ù.
- ÇÁ·Î±×·¥ º¹Á¦¿©ºÎ´Â CloneChecker¿¡
ÀÇÇØ ÀÚµ¿À¸·Î °¨º°µÈ´Ù.
- ¼÷Á¦ ½Ã°£Ç¥
- HW1: due 09/19
- HW2: due 09/26
- HW3: due 10/10
- HW4: due 10/24
- HW5: due 11/07
- HW6: due 12/04
- HW7: due 12/11
ÇÁ·ÎÁ§Æ® Project
- ±³Àç(¹ø¿ª¼):
[ÄÄÇ»ÅÍ
ÇÁ·Î±×·¥ÀÇ ±¸Á¶¿Í Çؼ®], ±èÀç¿ì ¿Ü, ÀλçÀÌÆ®, 2007
- ±³Àç(¿ø¼):
Structure and Interpretation of Computer Programs,
2nd ed., Harold Abelson
and Gerald Jay
Sussman with Julie Sussman, MIT Press.
(Full-text is on-line)
- ½Ç½Àȯ°æ: MIT
Scheme & SNU/KAIST nML
- To view/print PS(Postscript) files:
Ghostview,
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, multiple representations
- 9.ppt: programming with multiple representations
- 10.ppt: programming with mutators and side-effects
- 11.ppt: bindings and environments
- 12.ppt: modules, parameterized modules
- 13.ppt: exceptions
- 14.pdf: programming by inductive refinement
±×·¸´Ù¸é? ¿Ö?
|
|