4190.310 Programming Languages (Spring 2022)

À̱¤±Ù Kwangkeun Yi
(¼ÒÇÁÆ®¿þ¾î¹«°áÁ¡ ¿¬±¸¼¾ÅÍ)/ ÇÁ·Î±×·¡¹Ö ¿¬±¸½Ç /CSE/Seoul National University

°­ÀÇ: ¿ù/¼ö 09:30-10:45 @ 302µ¿ 209È£
¸é´ã: ¿ù/¼ö 10:45-11:30 @ °­ÀÇ½Ç ÁÖº¯

¸ñÇ¥ Objectives

´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ Ç°°íÀÖ´Â °øÅëµÈ ¿ø¸®µéÀº ¹«¾ùÀΰ¡? ÇöÀçÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº ¾ó¸¶¸¸Å­ ¹Ì°³ÇÑ°¡? Á»´õ ³ª¾ÆÁö±â À§Çؼ­ ÇÊ¿äÇÑ °ÍµéÀº ¹«¾ùÀΰ¡? »õ·Î¿î ÇÁ·Î±×·¡¹Ö ȯ°æÀ» È¿°úÀûÀ¸·Î ¿î¿ëÇÒ ¼ö ÀÖ´Â ¾ð¾î´Â ¹«¾ùÀΰ¡? ÀÌ °­ÀÇ¿¡¼­´Â ÀÌ¿Í°°Àº Áú¹®µé¿¡ ´ëÇÑ ´äÀ» ÀÍÈ÷°Å³ª, ÁÁÀº ´äÀ» ¸¸µé¾î³»±â À§Çؼ­ ÇÊ¿äÇÑ ¼Ò¾çÀ» ´Û°Ô µË´Ï´Ù.

±ÔÁ¤ Policy

¼÷Á¦: 90%, ±âŸ: 10%.
  • ¼ºÀûÀº Àý´ëÆò°¡ÀÔ´Ï´Ù.
  • ÇÁ·Î±×·¥ ¼÷Á¦°¡ º£³¤°ÍÀ¸·Î Àû¹ßµÇ¸é ¼÷Á¦Á¡¼ö ¸ðµÎ 0Á¡ 󸮵˴ϴÙ. ÇÁ·Î±×·¥ÀÌ ¾ó¸¶¸¸Å­ ºñ½ÁÇÑÁö¸¦ ÀÚµ¿À¸·Î °¨º°ÇØÁÖ´Â ¼ÒÇÁÆ®¿þ¾î CloneChecker°¡ »ç¿ëµË´Ï´Ù.

¼÷Á¦ Homeworks

Á¶±³ÆÀ TA team

  • ÆÀÀå: ¹Ú±Ô¿¬, ÆÀ¿ø: ±èÈÆ, ¿°ÁØ¿µ, ÀÌÀçÈ£, Á¶½ÂÇÑ
  • Á¶±³´Â ¼ö°­»ý ¿©·¯ºÐÀ» µµ¿ÍÁÖ±â À§Çؼ­ ÀÖ½À´Ï´Ù.
  • Á¶±³´Â °ú¸ñ À¥º¸µå¿Í Á¶±³ÆäÀÌÁö¸¦ ÅëÇؼ­ Á¤º¸¸¦ °øÁöÇÏ°í ¿©·¯ºÐÀÇ ¾î·Á¿òÀ» µ½½À´Ï´Ù.
  • Á¶±³´Â ¿©·¯ºÐÀÇ ¼÷Á¦¿Í ÄûÁ äÁ¡ÇÕ´Ï´Ù.

Áøµµ¹× ÀÚ·á Slides & Resources

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] New
[Overview: two genesis, two programming pillars] New
[ 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

ÀÐÀ»°Å¸® Readings

  Part I Part II

°ü·Ã ÄÚ½º Similar Courses

© Copyright 2012, ÀÌ ±¤±Ù