Compilers
Notes and assignments:
Resources:
- K. D. Cooper, L. Torczon, Engineering a Compiler, 2nd Edition,
Morgan Kaufmann, 2012.
- A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman,
Compilers: Principles, Techniques, and Tools, 2nd Edition,
Addison Wesley, 2007.
- A. W. Appel, Modern Compiler Implementation in C,
Cambridge University Press, 1998.
Operating Systems
Notes and assignments:
Resources:
- A. Silberschatz, P. B. Galvin, G. Gagne,
Operating System Concepts, 9th Edition,
John Wiley & Sons, 2013.
- T. Anderson, M. Dahlin,
Operating Systems: Principles and Practice, 2nd Edition,
Recursive Books, 2012.
- R. Cox, F. Kaashoek, R. Morris,
xv6: a simple, Unix-like teaching operating system;
Draft available here.
Laboratory assignments:
#1,
#2,
#3,
#4,
#5,
#6,
#7,
#8,
#9.
Computational Geometry
Notes and assignments:
Resources:
- M. de Berg, O. Cheong, M. van Kreveld, M. Overmars,
Computational Geometry: Algorithms and Applications,
Third Edition, Springer, 2008.
- J. O'Rourke,
Computational Geometry in C,
Second Edition, Cambridge University Press, 1998.