[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
-  There is no class on May 22. Study the handouts and papers linked from this page.(スライド)を自習してください。(2018/05/18)
-  This page has been created. (2018/03/04) 
 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 Generation
   last year's slide No.2,
   last year's slide No.3 (subject to change)
  
   -  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.
-  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)