[English/[Japanese]
Advanced Course in Programming Languages
A course held in the
Department of Computer Science, Graduate School of Systems and Information Engineering,
University of Tsukuba, Japan.
News
- This page has been created. (2017/04/10)
Index
-
syllabus
- Kameyama will be teaching the first 5 weeks,
on the foundation of programming
languages including functional programming and type theory.
Although this lectures will
be given in Japanese, course materials will be written in English
so that students who don't understand Japanese can understand
the course.
- Week 1: Basics of Program Generation Slide No.1
- Weeks 2-3: Techniques of Program GenerationSlide No.2,
Slide No.3
- Weeks 4-5:
Slide No.4,
Slide No.5
- Report: read one of the following papers, and write a summary,
and your thoughts about the topic.
- Paper 1 (general):
"A Gentle Introduction to Multi-Stage Programming", Walid Taha,
Domain-Specific Program Generaton, Internatoinal Seminar, Dagstuhl,
pp.30-50,
2003.
pdf
- Paper 2 (general):
"GoMeta! A Case for Generative Programming and DSLs in Performance
Critical Systems",
Tiark Rompf et al.
Proc. of the 1st Summit on Advances in Programming Languages (SNAPL'15)
pp.238-261,
2015.
pdf
- Paper 3 (case study):
"Terra: A Multi-Stage Langauage for High-Performance Computing",
Zachary DeVito et al., PLDI'13, 2013.
pdf
- Paper 4 (case study):
"Halide: A Language and Compiler for Optimizing Parallelism,
Locality, and Recomputation in Image Processing Pipelines",
Jonathan Ragan-Kelly et al., PLDI'13, 2013.
pdf
- Paper 5 (case study):
"Functional Pearl: A SQL to C Compiler in 500 Lines of Code",
Tiark Rompf and Nada Amin, Proc. ICFP'15, 2015.
pdf
- Reference
-
Dowek & Levy, "Introduction to the Theory of Programming Languages"
Undergraduate Topics in Computer Science, Springer, 2011.
(You can download
this book for free, from the university network.)
- Benjamine C. Pierce, "Types and Programming Languages", MIT Press, 2002.
Yukiyoshi Kameyama (kam[at]cs . tsukuba . ac . jp)
Hiroshi Unno (uhiro[at]cs . tsukuba . ac . jp)