|Class Time:||Monday, 4:00PM - 6:45PM|
|Location:||Burrus Hall 123A|
|Name:||Dr. Eli Tilevich|
|Email:||last_name at cs.vt.edu|
|Phone:||(540) 231 - 3475|
|Office:||213 Knowledge Works II|
|Office Hours:||By appointment (walk-ins welcome :-)|
Object-oriented (OO) systems has been one of the most dynamic
research areas in recent years. Beyond encapsulation, inheritance, and
polymorphism, research in OO systems is a confluence of various topics in
operating systems, programming languages, compilers, and software engineering.
Specifically, research in OO systems has engendered several exciting recent
developments in areas including: programming languages (e.g., genericity,
reflection, meta-programming, bytecode engineering, virtual dispatch, garbage
collection, just-in-time-compilation), middleware (e.g., distributed-object
systems), concurrency (e.g., Java memory model), and many others. It has even
spawned an entirely new research area: aspect-oriented programming (AOP).
Knowledge in OO systems is essential for anyone involved in development of next
This course will provide students with a background in OO research by covering both standard research literature and providing hands-on experience with specific technologies. In addition, the course will introduce students to research opportunities in current state-of-the-art OO systems. Additional topics covered will be influenced by the research interests of the class.
Prerequisites are not enforced, as this is an advanced topics course
Knowledge of programming languages equivalent to an undergraduate PL survey course
Fluency in at least one OO language (e.g., C++, Java, C#, Smalltalk).