4190.210 Principles of Programming
°ÀÇ: ¼ö 10:00-11:45 @ 302µ¿ 208È£
½Ç½À: ¿ù 10:00-11:45 @ 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¿¡
ÀÇÇØ ÀÚµ¿À¸·Î °¨º°µÈ´Ù.
ÇÁ·ÎÁ§Æ® 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)
- ½Ç½Àȯ°æ:
DrScheme
(or MIT Scheme)
& 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: handling multiple implementations
of the same data type
- 10.ppt: imperative programming,
mutating operations, machine-oriented programming
- 11.ppt: understanding program execution
in the environment model
- vo.ppt
: value-oriented programming
(°ªÁß½ÉÀÇ ÇÁ·Î±×·¡¹Ö)
- typeful programming, leveraged by automatic type inference
- 12.ppt: module programming and
parameterized modules
- exceptions and advanced control
- correct programming I
- 14.pdf: correct programming II:
inductive refinement
¿ø¸®? ¾î¶»°Ô? ¿Ö? ±×·¸´Ù¸é?
|
|