I am teaching week 8 of CSE 210, Principles of Software Engineering; the other teachers are Bill Griswold, Ingolf Krueger, Ranjit Jhala, and Jim Hollan. My title is:
Software is becoming increasingly sophisticated and now permeates every aspect of our lives. Yet, building a remarkable software system is an intellectually challenging activity that is more likely to fail than succeed. The methods for creating software have changed dramatically to keep pace. This course is an introduction to the state of the art and hot trends in software development. Due to an unusual set of circumstances, several professors will be participating in the teaching of this course. Each will be giving their favorite lectures on their favorite topics. We cannot guarantee completeness or consistency. But it should be interesting. Readings are to be announced.
An undergraduate software engineering class is not required, but general sophistication in software construction is a prerequisite. This may come from previous software project courses, industry experience, or a previous software engineering course.
Members of the OBJ family of languages can be used for prototyping, for programming small to medium sized applications, for specification, and for verification; using the same language for all these purposes has several advantages. These two lectures will be an informal introduction to the languages and their applications, including a little theory, and some concurrent, distributed system verifications.