CS 641 meeting -*- Outline -*- * Introduction write the name of the course on the board. ** Who introduce self and meet everyone have them write names on board ** the big picture type systems (course spec) ------------------------------------------ informal formal language design <-> semantics ^ ^ | | v v examples soundness (ease of use) compositionality (other principles) ------------------------------------------ ** focus on types (static type system) *** Why it's exciting active area of research a simple kind of specification helps programmers by automatically checking for consistency *** denotational semantics for use, functional interpreters helps check language design Excited about Schmidt's book: clarity, depth use of den sem to explain, gets into advanced aspects at end (specifications as types) *** applications and projects BeCecil (multimethod OO language) Multimethods to avoid aliasing CORBA, COM, OLE, music scripting, game playing, ... ** Plan of course (syllabus) overview, motivation and a bit of history Schmidt as far as we can go... weeks 4-15 summary and evaluation at the end Q: Would you make any changes to the plan? ** Objectives *** meta - get you to think critically Q: What kind of questions should you be asking? limitations? utility? - teach you some semantics and type theory *** normal - Design (parts of) programming languages - Explain and semantics of major features in modern programming languages. - Explain type systems and how they relate to language design and logic. - Read and write formal semantic descriptions and type systems, use these to evaluate designs - Prove a type system is sound - State the goals and problems of programming language semantics ** How I'll run the course *** overview informal and friendly, I'm going to try not to lecture too much lecture meetings: get old homework back (you keep it), discuss homework, if any (some put on board), hand in homework discuss next topic homework: you'll do a term project, hope to get a paper out of it. term project will be some language design, and a Haskell program to go with it. You'll read others work to develop critical thinking skills, Can work alone or with others. grading: based on evidence, participation, project, final oral exam I'll give comments on homework, grades if you want them pace: we'll try to uncover and explore carefully want deep understanding of that material (semantics) for homework, we'll be flexible, *** red tape prerequisites (ok to not have 531 this offering, but need 541 or math) books: Schmidt on reserve these and Dijkstra-Scholten are on reserve also note the literature intro. newsgroup: isu.coms.641 Q: everyone have all the handouts? ** summary Q: any other questions about the course?