CSE-321 Programming Languages - Assignments

[ Home | Schedule | Assignments | Software | Resources ] gla@postech Sungwoo Park

Words on academic integrity

  • Be sure to read the document on the disciplinary policy for this course. [PDF]
  • You should never post code relevant to assignments to the discussion board.
  • Your code will be compared with other students' code by a code-checking program.
  • Do not try to outsmart the teaching staff with some, perhaps ingenious, tricks. Instead invest your time in the assignment!

Programming assignments

  • You should hand in your assignment electronically before the due date. After the due date, the hand-in directory will be closed and you will NOT be able to access it. No late submissions will be accepted.
  • Grading criteria:
    • Correctness: Your program should satisfy the given specification.
    • Clarity: Your program should be easy to read.
  • Grading criteria NOT applied to programming assignments:
    • Efficiency: You should strive only for the elegance, but never for the efficiency of your code (unless otherwise instructed). In particular, try to avoid using mutable references or arrays whenever possible so that your code remains pure. You will often be tempted to exploit them in your code, but none of our assignments are designed so as to encourage their use. It is even safe to assume that if your code is not pure, you have not thought enough about the assignment!
  • Advice:
    1. Start your assignment early. Keep in mind that the hand-in directory will be closed after the due date.
    2. Spend enough time designing your code before you jump into coding. In other words, think about the problem before typing anything on your screen. It is not uncommon to see that a well-designed specification automatically writes code for you.
    3. Take advantage of the office hours of the teaching staff - they are more than willing to help you.


  • Your hand-in directory is programming.postech.ac.kr:/home/class/cs321/handin/. Use port 2022 to connect to programming.postech.ac.kr.

Testing your assignment

  • Unzip hw1sol.zip on your working directory (where hw1.ml is located). Then run 'make clean', 'make', and 'hw1test'.
  • Similarly for other assignments.
   Out    Points    Assignment    Due    Solution   

1    Mar 3   100 (W) '뛰어난 프로그래밍 능력이란?'에 대한 에세이
A4 용지 1장 이상 분량
Mar 17, at class  
1    Mar 3   100 (P) OCaml Programming (I) [PDF]
Mar 10   hw1sol.zip
2    Mar 10   100 (P) OCaml Programming (II) [PDF]
Mar 17 hw2sol.zip
3    Mar 17   100 (P) OCaml Programming (III) [PDF]
Mar 24 hw3sol.zip
4    Mar 26   100 (P) Implementing the λ-calculus [PDF]
Apr 9 hw4sol.zip
5    Apr 14   100 (P) Typechecking the simply-typed λ-calculus [PDF]
Apr 21 hw5sol.zip
6    Apr 29   100 (P) De Bruijn indexes and abstract machine N [PDF]
May 12 hw6sol.zip
7    May 12  100 (P) Translation [hw7.pdf] [mach.pdf]
June 4
8    June 4  100 (P) Type reconstruction [hw8.pdf]
June 14

P = Programming, W = Written, (points) = Extra-credit

[ Home | Schedule | Assignments | Software | Resources ] gla@postech Sungwoo Park