Teaching
ICS 535: Theory and Design of Programming Languages
Principles of functional, imperative, object-oriented and logic programming languages.
Semantic specification including axiomatic, operational and denotational semantics.
Fundamentals of type systems such as abstract data types, polymorphism, and inference.
Concurrent systems. Case studies of contemporary programming languages.
See the course's web page
ICS 535: Theory and Design of Programming Languages
(see above)
ICS 410: Principles of Programming Languages
Programming Paradigms: Object-oriented, imperative, functional, and logic. Application development in these paradigms. Fundamentals of Language Design: Syntax and Semantics. Language implementation: virtual machines; compilation, interpretation, and hybrid.
ICS 410: Principles of Programming Languages (Fall 2012)
ICS 355: Theory of Computation (Spring 2012)
ICS 201: Introduction to Computing II (Spring 2013)
ICS 102: Introduction to Computing I (Fall 2012, Spring 2012, Fall 2011)
SWE 321: Formal Methods and Models in Software Engineering (Fall 2011)