CSE-321 Programming Languages
[ Home
| Schedule
| Assignments
| Software
| Resources
| Pictures
]
gla@postech Sungwoo Park
| Spring 2006 |
| ¹Ú¼º¿ì, Sungwoo Park |
| Lecture, Monday and Wednesday 11:00am - 12:15pm. Á¤º¸Åë½Å¿¬±¸¼Ò 143È£ |
| 3 credits |
This course covers the basics of the theory of programming languages.
We will begin with
an introduction to functional programming and
the mathematical foundation for programming language theory,
and then proceed to the techniques for formally defining a programming language
such as abstract syntax, type system, and operational semantics.
We will investigate important features found in modern programming languges
and their implementation issues.
This course places a strong emphasis on the role of type theory
in modern programming languages.
In order to complement our theoretical study with practical programming,
we will learn a higher-order functional language called ML.
Students are encouraged to learn on their own
other functional languages, such as Haskell, Objective CAML, and Scheme.
Prerequisites: None,
but MATH-261 Discrete Mathematics and CSE-233 Data Structure and Algorithm are strongly recommended.
Prior exposure to elementary logic is also helpful.
What's New?
- (06/22) Nothing --- the course is over.
-
- (06/22) The final exam has been graded. The average is 47.62/100.
-
- (06/22) The final exam and a sample solution are available (Schedule).
-
- (06/14) Final exam: Wednesday, June 21, 10pm to 1am, Á¤º¸Åë½Å¿¬±¸¼Ò 143È£. Open book/notes, no notebook.
- (06/12) "Curry-Howard isomorphism" slide is up (Schedule).
- (06/09) "Call-by-need and Haskell" slide is up (Schedule).
- (06/05) "Dependent types" slide is up (Schedule).
- (05/29) "TML" slide is up (Schedule).
- (05/24) "Recursive types" slide is up (Schedule).
- (05/22) "Let-polymorphism" slide is up (Schedule).
- (05/17) "Predicate polymorphic λ-calculus" slide and course note are up (Schedule).
- (05/15) Assigment 7 is out (Assignments).
- (05/15) "System F" slide and course note are up (Schedule).
- (05/10) "Subtyping" slide and course note are up (Schedule).
- (05/08) "References" slide and course note are up (Schedule).
- (05/03) "Typechecking" slide and course note are up (Schedule).
- (05/05) Assigment 6 is out (Assignments).
- (05/01) "Abstract Machine E" slide is up (Schedule).
- (04/28) "Continuations" course note is up (Schedule).
- (04/24) Midterm solution is up (Schedule).
- (04/19) "Continuations" slide is up (Schedule).
- (04/17) Assigment 5 is out (Assignments).
- (04/17) "Evaluation semantics" slide is up (Schedule).
- (04/12) "Evaluation contexts" slide and course note are up (Schedule).
- (04/10) "Extensions to the simply typed λ-calculus" slide is up (Schedule).
- (04/05) "Type safety" slide and course notes are up (Schedule).
- (04/03) Assigment 4 is out (Assignments).
- (04/03) Extra-credit Assigment is out (Assignments).
- (04/03) Assigment 3 Programming Part has been graded (Assignments).
- (04/03) Assigment 3 solution is up (Assignments).
- (04/03) "Simply typed λ-Calculus" slide and course notes are up (Schedule).
- (03/29) "Fixed Point Combinator" slide is up (Schedule).
- (03/27) "λ-Calculus (II)" slide is up (Schedule).
- (03/25) Assignment 3 Written Part is out (Assignments).
- (03/24) Assignment 2 has been graded (Assigments).
- (03/24) Assignment 3 Programming Part is out (Assignments).
- (03/24) Assigment 2 solution and test functor are up (Assignments).
- (03/22) Chapter 3 of course notes (Section 1,2) is up (Schedule).
- (03/22) "λ-Calculus" slide is up (Schedule).
- (03/20) Assigment 2 test functor is up (Schedule).
- (03/20) Chapter 2 of course notes (Section 4) is up (Schedule).
- (03/20) "Inductive Proof" slide is up (Schedule).
- (03/17) Assignment 2 is out (Assignments).
- (03/15) Chapter 2 of course notes (Section 1,2,3) is up (Schedule).
- (03/15) Assignment 1 has been graded (Assigments).
- (03/15) "Inductive Definition" slide is up (Schedule).
- (03/13) "Introduction to Functional Programming (II)" slide is up (Schedule).
- (03/08) "Introduction to Functional Programming" slide is up (Schedule).
- (03/06) Assignment 1 is out (Assignments).
- (03/06) If you are taking this course but there is no handin directory for you, please email the instructor.
- (03/06) "Overview" slide is up (Schedule).
- (03/05) Tim Sweeney's invited talk at POPL 2006 is up (Resources).
- (03/05) Chapter 1 of course notes is up (Schedule).
- (03/01) Welcome -- Course webpage is open!
Class Material
| Schedule |
Lecture schedule and readings |
| Assignments |
Details of assignments, due dates, and policies |
| Software |
Guides to setting up the programming environment |
| Resources |
Course resources |
Course Information
| Lectures |
Monday and Wednesday 11:00am - 12:15pm, Á¤º¸Åë½Å¿¬±¸¼Ò 143È£ |
| Textbook |
Types and Programming Languages, Benjamin C. Pierce
(main textbook; available in the bookstore)
Course notes [PS, PDF]
will also be distributed.
Notes on Programming SML/NJ, Riccardo Pucella
(main reference book for Standard ML; local copy
[PS, PDF])
Introduction to Programming Using SML, Michael. R. Hansen and Hans Rischel
(supplementary book; 5 copies available in the library)
ML for the Working Programmer, L.C. Paulson (supplementary textbook; available in the library)
Programming in Standard ML, Robert Harper
(supplementary textbook)
Haskell: The Craft of Functional Programming, Simon Thompson (supplementary textbook; in the library)
|
| Credit |
3 |
| Grading |
70% Assignments
10% Midterm Exam
20% Final Exam |
| Midterm |
Monday, April 24, 11:00am - 12:30pm. Á¤º¸Åë½Å¿¬±¸¼Ò 143È£. Closed book.
|
| Final |
Wednesday, June 21, 10pm - 1am. Á¤º¸Åë½Å¿¬±¸¼Ò 143È£. Open book/notes, no notebook.
|
| Home |
http://www.postech.ac.kr/~gla/cs321/ |
| Discussion |
telnet to pl.postech.ac.kr with id bbs |
| Directories |
/afs/postech.ac.kr/class/cse/cs321/handin/ for submission of assignments
|
Teaching Staff
| Instructor |
¹Ú¼º¿ì, Sungwoo Park |
| Contact |
gla@postech or x-2386 |
| Office |
Engineering Building 2, Room 309 |
| Office Hour |
Tuesday 5pm-6pm |
| TA |
ÀÓÇö½Â |
| Contact |
genilhs@postech or x-5950 |
| Office |
Engineering Building 2, Room 226 |
| Office Hour |
Monday 5pm-6pm |
| TA |
¼Õ¹Î¿µ |
Contact |
myson@postech or x-5950 |
| Office |
Engineering Building 2, Room 226 |
[ Home
| Schedule
| Assignments
| Software
| Resources
| Pictures
]
gla@postech Sungwoo Park
|