2022 Faculty Courses School of Computing Department of Mathematical and Computing Science Graduate major in Mathematical and Computing Science
Topics on Mathematical and Computing Science B
- Academic unit or major
- Graduate major in Mathematical and Computing Science
- Instructor(s)
- Kazuaki Ishizaki / Tatsushi Inagaki / Hiroshi Inoue / Kazunori Ogata / Tamiya Onodera / Kiyokuni Kawachiya / Takuya Nakaike / Hiroshi Horii / Michihiro Horie / Tung Le Duc
- Class Format
- Lecture (Face-to-face)
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 5-6 Mon (H116) / 5-6 Thu (H116)
- Class
- -
- Course Code
- MCS.T415
- Number of credits
- 200
- Course offered
- 2022
- Offered quarter
- 4Q
- Syllabus updated
- Jul 10, 2025
- Language
- Japanese
Syllabus
Course overview and goals
This course covers advanced topics on implementation of programming languages. The topics include runtime systems, dataflow analysis, inlining, deep learning compiler, JVM, LLVM.
This lecture is held on 5 and 6 time slots (13:45-15:25) on every Monday and Thursday, starting on Dec. 8. For the detailed schedule , please check the Japanese version of syllabus. We use lecture room H116.
Course description and aims
By the end of this course, students will understand the state-of-art technologies on implementation of programming languages.
Keywords
programming language, compiler, runtime system, JVM, LLVM
Competencies
- Specialist skills
- Intercultural skills
- Communication skills
- Critical thinking skills
- Practical and/or problem-solving skills
Class flow
Each class offers a standard type of lecture.
Course schedule/Objectives
Course schedule | Objectives | |
---|---|---|
Class 1 | Runtime – JVM Overview & Interpreter | Understand the concepts of runtime systems |
Class 2 | Runtime – Object Management & Synchronization | Understand the concepts of object management & synchronization |
Class 3 | Runtime – Native Memory Management | Understand the basic techniques of native memory management |
Class 4 | Compiler – Overview | Understand the overall structure of compilers |
Class 5 | Compiler – Dataflow Analysis | Understand the theory and practice of dataflow analysis |
Class 6 | Compiler – Devirtualization & Inlining | Understand the basic techniques of devirtualization & inlining |
Class 7 | Hot topic – H/W Acceleration (GPGPU, HTM, FPGA) | Understand the advantages and disadvantages of H/W acceleration |
Class 8 | Hot topic – Open Source Java VM | Understand the current status and techniques of open source JVM |
Class 9 | Compiler – Trace Compilation & LLVM | Understand the techniques in trace compilation & LLVM |
Class 10 | Hot topic – Deep Learning Compiler & MLIR (given in English) | Understand the concepts of deep learning compiler & MLIR |
Class 11 | Hot topic – Compiler in Quantum Computer | Understand the role of compilers in processing quantum applications |
Class 12 | Concluding Remarks & Outlook | Understand the ongoing issues of compiler technologies |
Study advice (preparation and review)
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Textbook(s)
Textbooks will not be used in this course.
Reference books, course materials, etc.
References will be announced in classes.
Evaluation methods and criteria
This lecture is graded by two reports.
Related courses
- MCS.T334 : Compiler Construction
Prerequisites
Basic knowledge on compilation of programming languages.