Found 4 relevant results in 2.79s where lecturer="Michalis Kokologiannakis"
This course uses compilers as examples to expose students to modern software development techniques. Tentative topics include: compiler organization; lexical analysis; top-down and bottom-up parsing; symbol tables; semantic analysis; code generation; local and global optimization; register allocation; automatic memory management.
A large percentage of modern applications is concurrent: from cache protocols, filesystems and operating systems, to networking,distributed systems and cloud services. Exploiting concurrency in these systems is highly non-trivial, as they often experiencebehaviors that cannot be expressed as plain process interleavings.
In this course, participants will learn about new ways of specifying, reasoning about, and developing programs and computer systems. The first half will focus on using functional programs to express and reason about computation. The second half presents methods for developing and verifying programs represented as discrete transition systems.
This seminar is an opportunity to become familiar with current research in software engineering and more generally with the methods and challenges of scientific research.