Spring 2016

Courses in Spring Semester 2016

Advanced Compiler Design

This is a graduate course on advanced compiler construction.

Two developments are driving the need for new techniques of programming language implementation:

  • New hardware architectures (such as RISC and VLIW) require more complex optimizations than their predecessors. We discuss essential optimization techniques such as redundancy elimination, register allocation, and instruction scheduling.
  • Programming languages (such as Java and C#) that allow static analysis  provide novel features that need to be implemented efficiently.
  • Dynamic typing as used in languages like Python, JavaScript, or Ruby need compiler support for efficient execution.

We examine advanced language-implementation topics such as type-directed dispatch, garbage collection, dynamic linking, and just-in-time code generation.

These topics will be introduced in class alongside a programming project, in which students have the opportunity of applying their new knowledge in practice.
 
Advanced Compiler Design course information

Research in Computer Science

This course allows you to receive credit for a project done under supervision of a professor in the Department of Computer Science (the scope should be about 150 hrs [5 credits]). If you want to do project, please contact me or an assistant in my group. To receive credit in the current semester, the report must be submitted at least 2 weeks before the end of the examination period. Please note that you can register for this course only if you meet a number of departmental requirements (i.e., you must have passed some labs and/or core focus classes).

Experimental Computersystems

This graduate seminar is open to Ph.D. students in the Software Group.  Others require permission from the instructor.

 

JavaScript has been disabled in your browser