4190.310 Programming Languages (Spring 2024)
°ÀÇ: ¿ù/¼ö 14:00-15:15 @ 302µ¿ 209È£
¸é´ã: ¿ù/¼ö 15:15-15:45 @ °ÀÇ½Ç ÁÖº¯
´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ Ç°°íÀÖ´Â °øÅëµÈ ¿ø¸®µéÀº ¹«¾ùÀΰ¡?
ÇöÀçÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº ¾ó¸¶¸¸Å ¹Ì°³ÇÑ°¡?
Á»´õ ³ª¾ÆÁö±â À§Çؼ ÇÊ¿äÇÑ °ÍµéÀº ¹«¾ùÀΰ¡?
»õ·Î¿î ÇÁ·Î±×·¡¹Ö ȯ°æÀ» È¿°úÀûÀ¸·Î ¿î¿ëÇÒ ¼ö ÀÖ´Â ¾ð¾î´Â ¹«¾ùÀΰ¡?
ÀÌ °ÀÇ¿¡¼´Â ÀÌ¿Í°°Àº Áú¹®µé¿¡ ´ëÇÑ ´äÀ» ÀÍÈ÷°Å³ª, ÁÁÀº ´äÀ» ¸¸µé¾î³»±â À§Çؼ
ÇÊ¿äÇÑ ¼Ò¾çÀ» ´Û°Ô µË´Ï´Ù.
¼÷Á¦: 90%, ±âŸ: 10%.
- ¼ºÀûÀº Àý´ëÆò°¡ÀÔ´Ï´Ù.
- ÇÁ·Î±×·¥ ¼÷Á¦°¡ º£³¤°ÍÀ¸·Î Àû¹ßµÇ¸é ¼÷Á¦Á¡¼ö ¸ðµÎ
0Á¡ 󸮵˴ϴÙ. ÇÁ·Î±×·¥ÀÌ ¾ó¸¶¸¸Å ºñ½ÁÇÑÁö¸¦ ÀÚµ¿À¸·Î °¨º°ÇØÁÖ´Â
¼ÒÇÁÆ®¿þ¾î CloneChecker°¡ »ç¿ëµË´Ï´Ù.
- ÇÁ·Î±×·¡¹Ö ¼÷Á¦:
- ÇÁ·Î±×·¥ ¼÷Á¦´Â OCaml·Î
ÀÛ¼ºÇÕ´Ï´Ù.
- ¿Ö ML·Î ½Ç½ÀÇϴ°¡?
- ÄÄÇ»Å͸¦ ÅëÇØ
Á¦ÃâÇÕ´Ï´Ù.
- Á¦Ãâ±âÇÑÀ» Áö³ª 48½Ã°£ À̳»·Î ´Ê¾îÁö¸é 10% °¨Á¡.
±× ÀÌÈÄÀÇ ¼÷Á¦´Â ¹ÞÁö ¾Ê½À´Ï´Ù.
- ÇÁ·Î±×·¥ ¼÷Á¦°¡ º¹Á¦·Î ÆÇÁ¤µÇ¸é, ¼÷Á¦ Á¡¼ö ¸ðµÎ°¡ 0Á¡ 󸮵˴ϴÙ.
- ÇÁ·Î±×·¥ º¹Á¦¿©ºÎ´Â CloneChecker¿¡ ÀÇÇØ ÀÚµ¿À¸·Î °¨º°µÈ´Ù.
- ³í¼ú ¼÷Á¦: ³í¹®À̳ª Ã¥µîÀ» ÀÐ°í ³»¿ëÀ» ¿ä¾àÇÏ°í ´À³¤Á¡À» ³í¼úÇÏ´Â
¼÷Á¦µé ÀÔ´Ï´Ù.
- 縰Áö: ¿©·¯ºÐ Á¤µµ¶ó¸é Çѹø µµÀüÇØ º¼ ¸¸ÇÑ ¹®Á¦µéÀÔ´Ï´Ù.
ÇÑ ¹®Á¦¸¦ ¿Ã¹Ù¸£°Ô ÇØ°áÇϸé ÃÖÁ¾ ¼ºÀûÀÌ 1-3 ´Ü°è »ó½ÂÇÕ´Ï´Ù.
- ¼÷Á¦/縰Áö ½Ã°£Ç¥
Á¶±³ÆÀ TA team
-
±èµµÇü,
ÀÌÀçÈ£
- Á¶±³´Â ¼ö°»ý ¿©·¯ºÐÀ» µµ¿ÍÁÖ±â À§Çؼ ÀÖ½À´Ï´Ù.
- Á¶±³´Â
°ú¸ñ
À¥º¸µå¿Í Á¶±³ÆäÀÌÁö¸¦ ÅëÇؼ
Á¤º¸¸¦ °øÁöÇÏ°í ¿©·¯ºÐÀÇ ¾î·Á¿òÀ» µ½½À´Ï´Ù.
- Á¶±³´Â ¿©·¯ºÐÀÇ ¼÷Á¦¿Í ÄûÁ äÁ¡ÇÕ´Ï´Ù.
Part 0 |
[1.pdf,
2.pdf,
2-1.pdf
]
|
|
language, syntax, semantics
|
|
abstract syntax, concrete syntax, inductive definitions |
|
logic systems, inference rules, inductions |
|
Part I |
[3.pdf,
3-1.pdf,
4-1.pdf,
remind-overview.pdf,
4-2.pdf,
4-3.pdf]
|
|
imperative language: basic syntax, inference rules as semantics |
|
|
|
scopes, environment |
|
static/dynamic scoping, parameter passing |
|
procedures, data structures |
|
role of types, static/dynamic type system |
|
memory leak, dangling pointer, garbage collection |
|
translation, virtual machine |
Part II |
[Overview: programming principles,
languages, and tools]
|
|
[Overview: two genesis, two
programming pillars]
|
|
[
5-0.pdf,
5-1.pdf,
5-1simple-type.pdf,
5-1poly-type.pdf,
5-1oo.pdf,
5-2curryhoward.pdf,
5-3.pdf
]
|
|
language model: lambda calculus |
|
reduction strategies |
|
high-order applicative language |
|
safe type system, static type system, type discipline |
|
let-polymorphic type system, parametric polymorphism,
subtype system |
|
type system as language design |
|
data abstraction, modularity |
|
translation, virtual machine |
|
essence of object-oriented language, object, inheritance, subtype polymorphism |
|
logic vs computation, curry-howard correspondence |
|
meta programming, multi-staged programming |
|
overview, future issues |
Part I
Part II
|
|