CS513 - Data Structure and Algorithms I
 

Instructor: Prof. Chvatal

Running time of Gaussian/Gauss-Jordan Elimination, Strassen's matrix multiplication analysis, Recurrences by scaling and telescoping, the Master Theorem, Graph Theory and efficient implementations of depth-first search based algorithms, P and NP notions, Fermat's "little theorem", Pratt's proofs of primality, NPC and reducibility, MST/SPT with priority queues and their implemetation by binomial/Fibonacci heaps and silly priority queue, Amortized analysis.

 
CS515 - Programming Languages and Compilers I
 

Instructor: Prof. Ryder

  • Parsing Techniques
  • Attribute Grammers
  • Prolog
  • Prototyping compilers in Prolog
  • Trace command in Prolog
  • Types and Polymorphism
  • SML(Higher order functions)
  • Lambda Calculus
  • Data Abstraction in CLU
  • OOPL(Inheritance/Dynamic Resolution/Compilation

Papers on Reserve:

  • D.H.D. Warren, "Logic Programming and Compiler Writing", Software Practice and Experience, vol 10, 1980(Compiler implemented by Prolog);
  • J. Cohen, and J. Hickey, Parsing and Compiling Using Prolog, ACM TOPLAS, Vol 9 no 2, April 1987;
  • L. Cardelli, and P. Wegner, `On Understanding Types,Data Abstraction, and Polymorphism', ACM Computing Surveys;
  • B. Liskov and J. Guttag, Abstraction and Specification in Program Development, McGraw Hill, 1986, exerpts;
  • exerpts from Glaser et.al, Principles of Functional Programming, Ch 3.1-3.3;
  • K. Arnold and J. Gosling, The Java Programming Language, Addison-Wesley, 1997, Ch 1-4, 14;
  • T. Budd, Understanding Object-oriented Programming, Addison-Wesley, 1998, exerpts.

Projects:

   
Light Seminar - CONS(Compilers, OS and Networks)
  Coordinator: Richard Martin