Events Archive: Spring 2005

UW's CS curriculum: past, present, and future

| 4:00 PM EDT | MC 4042

Come out to here Prabhakar Ragde talk about our UW's CS curriculum

View details

I'll survey the evolution of our computer science curriculum over the past thirty-five years to try to convey the reasons (not always entirely rational) behind our current mix of courses and their division into core and optional. After some remarks about constraints and opportunities in the near future, I'll open the floor to discussion, and hope to hear some candid comments about the state of CS at UW and how it might be improved.

About the speaker:

Prabhakar Ragde is a Professor in the School of Computer Science at UW. He was Associate Chair for Curricula during the period that saw the creation of the Bioinformatics and Software Engineering programs, the creation of the BCS degree, and the strengthening of the BMath/CS degree.

Programming and Verifying the Interactive Web

| 3:30 PM EDT | DC 1302

Shriram Krishnamurthi will be talking about continuations in Web Programming

View details

Server-side Web applications have grown increasingly common, sometimes even replacing brick and mortar as the principal interface of corporations. Correspondingly, Web browsers grow ever more powerful, empowering users to attach bookmarks, switch between pages, clone windows, and so forth. As a result, Web interactions are not straight-line dialogs but complex nets of interaction steps.

In practice, programmers are unaware of or are unable to handle these nets of interaction, making the Web interfaces of even major organizations buggy and thus unreliable. Even when programmers do address these constraints, the resulting programs have a seemingly mangled structure, making them difficult to develop and hard to maintain.

In this talk, I will describe these interactions and then show how programming language ideas can shed light on the resulting problems and present solutions at various levels. I will also describe some challenges these programs pose to computer-aided verification, and present solutions to these problems.