Notes and assignments:

- Final exam.
- Midterm exam.
- Programming assignment #3: TSIR Generation.
- Assignment: Parsing #2.
- Assignment: Parsing #1.
- Programming assignment #2: TSLANG Parser.
- Programming assignment #1: TSLANG Scanner.
- TSLANG Introduction.
- Course overview.
- TSIR (TSLANG IR) Introduction and TSVM (TSIR Virtual Machine).

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.

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; Final exams.

Notes and assignments:

- Final exam.
- Midterm exam.
- Assignments.
- Programming assignments.
- An implementation of Fenwick tree (Binary Index Tree); you can use it in the second programming assignment.
- Answering RMQs in O(1) with O(n) preprocessing complexity: The LCA Problem Revisited.
- A geometric optimization challenge: finding a polygon on a set of points with the minimum or maximum area (link)
- Course overview.

Resources:

- Stanford CS 97SI and its resources.
- S. S. Skiena, M. A. Revilla, Programming Challenges, Springer, 2002.

Notes and assignments:

- Final exam and its grades.
- Programming Assignments.
- Midterm grades.
- Midterm exam.
- Research Assignments.
- Assignments.
- Course overview.

Resources:

- J. Jájá, An Introduction to Parallel Algorithms, Addison-Wesley, 1992.
- S. G. Akl, The Design and Analysis of Parallel Algorithms, Prentice Hall, 1989.
- R. Miller, L. Boxer, Algorithms Sequential and Parallel: A Unified Approach, Third Edition, Cengage Learning, 2013.