CSE-321 Programming Languages - Assignments
[ Home
| Schedule
| Assignments
| Software
| Resources
| Pictures
]
gla@postech Sungwoo Park
Words on academic integrity
- You may discuss assignments with other students, but what you hand in must be entirely your own work.
This means that you may freely discuss your idea with your classmates (which we encourage indeed),
but when it comes to writing your code or written solution, it must be entirely your own work.
Hence you should never look at your classmates' code or written solution, not to mention showing yours to them,
even if you have discussed assignments with them.
- You should never post code relevant to assignments to the discussion board.
- If we judge that you have copied any part of other students' code or written solution,
you will be punished for cheating.
- Cheating also includes plagiarism in the sense of stealing someone else's idea.
- Your code will be compared with other students' code by a code-checking program
(to be disclosed at the end of the semester).
- Do not try to outsmart the teaching staff with some, perhaps ingenious, tricks. Instead invest your time in the assignment!
- Policy on cheating:
- For cheating, you will receive no credit for the assignment involved.
- Both copier and copyee will be equally punished.
- For cheating once, the highest grade you can obtain in the course is C0.
- For cheating twice, you will be expelled from class.
- No exception to the above policy.
| |
Out |
Points |
Assignment |
Due |
Solution |
|
| 1 |
Wed | Mar | 6 | |
100 |
(P) SML Programming (I) [PS, PDF]
hw1-sig.sml
hw1.sml
sources.cm
|
| Wed Mar 15 by 1:00am |
hw1-soln.sml
hw1-test.sml
hw1.txt
|
| 2 |
Fri | Mar | 17 | |
100 (30) |
(P) SML Programming (II) [PS, PDF]
hw2-sig.sml
hw2.sml
sources.cm
hw2-test-fn.sml
|
| Fri Mar 24 by 1:00am |
hw2-test-sol-fn.sml
hw2.txt
hw2new.txt
|
| 3 |
Fri | Mar | 24 | |
100 50 |
(P) Huffman Coding [PS, PDF]
hw3-sig.sml
hw3.sml
test.sml
sources.cm
hw3-test-fn.sml
(W) Rule Induction [PS, PDF]
hw3-written.tex
hw3-template.tex
proof.sty
|
| Mon Apr 3 by 1:00am |
hw3-soln.sml
hw3.txt
hw3-written-soln.ps
hw3-written-soln.pdf
hw3-written.txt
|
| * |
Mon | Apr | 3 | |
(100) |
(P) Module System [TXT]
hw-extra.sml
test.sml
|
| End of the semester |
|
| 4 |
Mon | Apr | 3 | |
P 100 W 50 |
(P) Implementing the λ-calculus
(W) Structural properties
[PS, PDF]
hw4-stub.zip
hw4.tex
proof.sty
test.uml
result.txt
rec.uml
fib.uml (use loopFile "fib.uml" (eval show);)
|
| Mon Apr 17 by 1:00am |
test-fn.sml
hw4prog.txt
hw4-written-soln.ps
hw4-written-soln.pdf
|
| 5 |
Mon | Apr | 17 | |
P 100 (10) |
(P) Implementing the simply typed λ-calculus
[PS, PDF]
hw5-stub.zip
cm-tml.sml
cm-tml-sig.sml
tml.sml
parse.sml
|
|
Typechecker:
Mon May 1 by 1:00am
Abstract machine:
Fri May 5 by 1:00am
|
typing.sml
typing2.sml
test-fn2.sml
hw5.txt
hw5-2.txt
test.tml
|
| 6 |
Fri | May | 5 | |
P 100 (10) W 100 |
(P) Bidirectional typechecking and abstract machine E
[PS, PDF]
hw6-stub.zip
(W)
Contraction and type preservation
[PS, PDF]
hw6.tex, proof.sty
| |
(P)
Mon May 15 by 1:00am
(W)
Fri May 12 by 1:00am
|
hw6-written-soln.ps
test-fn.sml
em-cml-sig.sml
typeTest.cml
stepTest.cml
hw6prog.txt
hw6-written.txt
|
| 7 |
Mon | May | 15 | |
P 100 |
(P) Featherweight Java
[PS, PDF]
hw7-stub.zip
| |
Mon May 29 by 1:00am
|
test-fn-std.sml
hw7-final.txt
|
| 8 |
Mon | May | 29 | |
P 100 |
(P) Translation for TML
hw8.html
Abstract machine Mach [PS, PDF]
hw8-stub.zip
ast-parse.sml
| |
Mon June 12 by 1:00am
|
hw8-tml.zip
test.sml
hw8-grade.txt
Gla.txt
hw8-student-tml.zip
|
|
P = Programming, W = Written, (points) = Extra-credit
Programming assignments
- Your code should strictly follow the Standard ML style guide for this course.
- 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,
with enough documentation to help readers understand the implmentation.
(But beware of unnecessarily long and useless comments!)
If we fail to understand your code, you may not receive full credit for your assignment
even if it works correctly.
- 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 mutuable 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!
- Your hand-in directory is /afs/postech.ac.kr/class/cse/cs321/handin/.
- Advice:
- Start your assignment early. Keep in mind that the hand-in directory will be closed after the due date.
- 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.
- Take advantage of the office hours of the teaching staff - they are more than willing to help you.
- Again, start your assignment early! Remember that no late submissions will be accepted.
Written assignments
[ Home
| Schedule
| Assignments
| Software
| Resources
| Pictures
]
gla@postech Sungwoo Park
|