====== Compiler Construction 2012 ====== [[http://creativecommons.org/licenses/by-sa/2.5/| Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) Creative Commons Licence]] {{cc12:drawinghands.jpg|Programs that Generate Programs, Illustrated by M.C.Escher's Drawing Hands (fair use, see http://en.wikipedia.org/wiki/File:DrawingHands.jpg)}} Related Coursera courses: Compilers by Alex Aiken, Automata by Jeffrey Ullman **Quick links: [[http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=24092156&ww_x_anneeAcad=2012-2013&ww_i_section=249847&ww_i_niveau=6683117&ww_c_langue=en|Official Schedule]] , [[http://moodle.epfl.ch/course/view.php?id=4241|Moodle page]] , [[http://larasrv05.epfl.ch/cc12/|Repository server]] , [[Tool Compiler Project]]** **All activities are in INM202.** [[Lab Overview]] ===== General Information ===== Note that: * the time slots for lectures, exercises, and labs are interchangeable * attendance is strongly recommended in all slots Will follow the structure of [[cc11:top|Compiler Construction in 2011]]. ===== Staff ===== | **Instructor** | [[http://lara.epfl.ch/~kuncak|Viktor Kuncak]] | | **PhD Assistants** | [[http://people.epfl.ch/eva.darulova|Eva Darulova]] and [[http://people.epfl.ch/etienne.kneuss|Etienne Kneuss]] | | **MSc Assistants** | [[http://people.epfl.ch/ivan.kuraj|Ivan Kuraj]] | | **Secretary** | [[http://people.epfl.ch/yvette.gallay|Yvette Gallay]] | ====== Course Materials ====== ===== Week 01, September 17 ===== * Know [[http://www.scala-lang.org/|Scala]], if needed see the [[:Programming in Scala|great Scala book]] and [[https://www.coursera.org/course/progfun|the wonderful online course]] * Wednesday 8:15am: [[Lecture 01]]: Introduction to Compilers. * Updated **[[Grading]]** policy * Wednesday 10:15am: Labs (**always bring own laptops**) [[Labs setup]] and then [[Labs 01]] ===== Week 02, September 24 ===== * Monday 10:15am: [[Lecturecise 02]] = (Lecture|Exercise)* * Wednesday 8:15: [[Lecturecise 03]] * Wednesday 10:15: [[Labs 02]] * [[Homework 01]] ===== Week 03, October 01 ===== * Monday 10:15am: [[Lecturecise 04]] * Wednesday **8:15am**: [[Lecturecise 05]] * Wednesday **10:15am**: [[Labs 02]] ===== Week 04, October 08 ===== * Monday 10:15am: [[Lecturecise 06]] * Wednesday **8:15am**: [[Lecturecise 07]] * Wednesday **10:15am**: [[Labs 04]] ===== Week 05, October 15 ===== * Monday 10:15am: [[Lecturecise 08]] * Wednesday 8:15am: [[Lecturecise 09]] * Wednesday 10:15am: Labs (continuing [[Labs 04]]) * [[Homework 02]] ===== Week 06, October 22 ===== * Monday 10:15am: [[Lecturecise 10]] * [[Homework 03]] * Wednesday 8:15am: [[Lecturecise 11]] * Wednesday 10:15am: [[Labs 06]] ===== Week 07, October 29 ===== * Monday 10:15am: [[Lecturecise 12]] * Wednesday 8:15am: [[Lecturecise 13]] * Wednesday 10:15am: [[Labs 06]] & [[Lab 07]] * [[Homework 04]] ===== Week 08, November 05 ===== * Monday 10:15am: [[Lecturecise 14]] * Wednesday 8:15-12: [[Labs 07]] and 1-1 discussion of all labs so far ===== Week 09, November 12 ===== * Monday 10:15am: [[Lecturecise 15]] * Wednesday 8:15am: [[Lecturecise 16]] * Wednesday 10:15am: Finish [[Labs 07]] * [[Homework 05]] {{cc11:jvm_bytecodes.pdf|Partial Bytecode Instruction List}} ===== Week 10, November 19 ===== * Monday 10:15am: [[Lecturecise 17]] * Wednesday 8:15am: [[Lecturecise 18]] * Wednesday 10:15am: [[Labs 08]] ===== Week 11, November 26 ===== * Monday 10:15am: [[Lecturecise 19]]: Code Generation with Jump Labels * Wednesday 8:15am: [[Lecturecise 20]]: Program Analysis Introduction * Wednesday 10:15am: [[Labs 08]] on code Generation. Initial instructions for [[Labs 09]] * Updated **[[Grading]]** Policy ===== Week 12, December 03 ===== * Monday, 10:15am: [[Lecturecise 21]]: Control-Flow Graphs and Lattices * Wednesday, 8:15am: [[Lecturecise 22]]: Homework solutions * Wednesday 10:15: [[Mini-Projects]] discussion ([[Labs 09]]) ===== Week 13, December 10 ===== * Monday, 10:15am: [[Lecturecise 23]] * Wednesday, 8:15am: [[Lecturecise 24]] * Wednesday 10:15: Mini-Projects discussion ([[Labs 09]]) ===== Week 14, December 17 ===== * Monday 10:15am: Exercises: [[quiz_preparation | Preparation for the Quiz]] * Wednesday, 19 December, 8:00am-noon: [[Quiz]]