CSE614 Advanced Programming Languages (Spring `08)
Announcements


Demo schedule:
Simona Boboila: Deductive spreadsheets from rules---Mon 5/12 3:30
Ahmad Esmaili: Debugging web scripting languages---Fri 05/09 2:00
Andrew Gaun: Transforming logic programs into recursive functions plus memoization---Wed 5/14 1:30
Navid Hamed Azimi: Dynamic programming on trees for biosequence analysis---Wed 5/14 12
Sangwoo Im: Combining static and dynamic program slicing---Mon 5/12 1:30
George Iordache: Spiral detection in heart simulation images---Mon 5/12 2:30
Yury Puzis: Automating induction---Mon 5/12 4:00
Anu Singh: Deductive sensor net with complexity guarantees---Mon 5/12 11:00
Tuncay Tekle: Transforming constraint specifications into efficient algorithms---Mon 5/12 1:00
Kristov Widak: Stream processing with rules for intrusion detection---Mon 5/12 3:00
5/7/08
Homework for week 14: (1) Complete a project report that includes a complete problem specification, design, implementation, and tests with a usage manual (it should be an assembly of your homeworks, plus tests with a usage manual), submit the report, with source code and test data, and presentation slides by May 12 (email a zip file of all), and schedule a demo with me within the next week. (2) Carefully read my "lecture notes" for week 11, on incrementalizing across object abstraction, and mark any big things and little things that you think should be improved. Please write clearly so it is readable. (3) Write any comments you might have about the topics discussed in this course and about the course. It can be as short as half a page or as long as you like. Any comments about the "lecture notes" would be particularly helpful for the book I am working on.
5/2/08
Homework for week 13: Complete your implementation and experiments, and prepare a presentation for the last class on May 7. The presentation will be 15 minutes each including time for questions. It should include a concise problem description and concentrate on design, implementation, and tests/demo. Everyone will evaluate each other's work and presentation.
4/24/08
Homework for week 12: (1) Work on full implementation and experiments for your course project, refine your design as necessary, and email me a brief status report---a few sentences suffice. (2) Carefully read my "lecture notes" for weeks 8 and 9, on generating efficient implementations from Datalog rules, and mark any big things and little things that you think should be improved. Please write clearly so it is readable.
4/16/08
Homework for week 11: Complete a detailed design and start an initial implementation and preliminary experiments for your course project. Write your detailed design, and summarize the status of your implementation and experiments.
4/9/08
Homework for week 10: (1) Carefully read my "lecture notes" for weeks 7 and partly 8, on optimizing recursive functions, and mark any big things and little things that you think should be improved. Please write clearly so it is readable. (2) Address comments I had sent to everyone individually, as well comments from everyone at the project discussions today, in your project description, to finish the previous homeworks.
4/2/08
Homework for week 9: Prepare a presentation about the problem or problems you are working on for your course project, based on your description for homework 7, and summarize the status. The presentations will be in class next week. Each presentation should be about 10 minutes problem description plus 5 minutes discussion.
Lifted project discussion in Lectures Schedule from week 12 to week 10, which will be next week.
3/27/08
Homework for week 8: Carefully read my "lecture notes" for weeks 5 and 6, on efficient implementation of set expressions, and mark any big things and little things that you think should be improved. Please write clearly so it is readable.
3/14/08
Homework for week 7: Write a complete problem description and a preliminary solution design. A complete problem description should include (1) an exact statement of the problem (what is given as input and what is asked as output), (2) a minimum of one concrete and detailed example (showing precisely what is given and what is asked), (3) a survey of the state of the art on solutions to the problem (with precise references), and (4) a plan of applications (either specific hard examples, or general kinds or classes of examples). A preliminary solution design should include not only ideas for solving the problem, but also an explanation of the ideas using the example in (2) and a plan of attack for the applications in (4).
3/5/08
Homework for week 6: Talk to me within the next week about your course project. You can stop by any time I am around or make an appointment by email. I can meet Thu before 1pm, Fri before 12:30pm, Mon 3-4:30; other times are possible too but with very short durations, as they are between other meetings or classes.
Added link to paper on efficient implementations by transformations for core RBAC.
2/27/08
Homework for week 5: Carefully read my "lecture notes" for last week, on incrementalizing expensive arithmetic and array computations in loops, and mark any big things and little things that you think should be improved. Please write clearly so it is readable.
2/20/08
Homework for week 4: (1) Describe ideas for what you would like to do for the course project. The ideas should include why, what, and how, in as much detail as you can write in, say, half a day. If you are not completely sure about what project you want to do yet, you can describe ideas for multiple possibilities. Feel free to discuss with me any time. (2) Include item (1) from week 1, unless you sent me or showed me otherwise already.
2/13/08
Homework for week 3: (1) Carefully read my "lecture notes" for the first week, and mark any big things and little things that you think should be improved. (2) In the core RBAC executable specification in Python, identify where each of the constraints of the form AB subset A x B and the constraint about active roles being assigned roles are maintained. Bonus: propose how the constraints in core RBAC could be better specified, and try to do it in Python and test it if possible.
2/6/08
Homework for week 2: write a test program for core RBAC in Python; try to make it general and extensible.
Added links to Python Tutorial, Library Reference, and Reference Manual under Other Pointers.
Added links to Python, Python Documentation, and Python 2.5 Quick Reference also.
Added link to core RBAC executable specification in Python.
1/30/08
Homework for week 1: (1) Write anything interesting you thought about from today's lecture; it could be a just paragraph, but no more than a page. (2) Think about a problem, or problems, in any application domain of your interest, for which you would like to come up with correct and efficient solutions. You will have a few weeks to work on this and use it for your course project. Feel free to discuss your ideas with me any time.
Added Handout Q for Questionnaire
1/29/08
Course page is created with General Information, Lectures Schedule, and Requirements.

Annie Liu