CSE614 Advanced Programming Languages (Spring `10)
Announcements


5/3/10
Homework for weeks 13 and 14: (1) Complete your project implementation and tests, and prepare a presentation for the last class on May 5. The presentation will be 15 minutes each plus 5 minutes 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. (2) Complete a project report that includes a complete problem specification, design, implementation, and tests (with instructions for setting up your programs to run the tests, and with your analysis of the test results); and submit the report, with source code and test data, and presentation slides, by May 7 (email a zip file of all). (3) Schedule a demo with me in the following week. I can do any time before 5pm on Friday, May 14, but if you want to do on a different day, let me know. (4) Write any comments you might have about any aspects of the course. It can be as short as a few sentences or as long as you like. Comments about the handout book chapters would be particularly helpful.
4/28/10
Homework for week 12: Read and markup the handout on conclusion. This will be for extra credit.
4/14/10
Homework for weeks 10 and 11: Read and markup the handout on objects.
4/7/10
Homework for week 9: Read and markup the handout on rules.
3/25/10
Homework for week 8: 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) plus a minimum of one concrete and detailed example (showing precisely what is given and what is asked), (2) a justification of why this is a good (interesting and important) problem to work on and an overview of applications (either specific hard examples, or general kinds or classes of examples), and (3) a survey of the state of the art on solutions (or no solutions) to the problem (with precise references). A preliminary solution design should include not only ideas for solving the problem, but also an explanation of the ideas using the examples in (1) and a plan of attack for the applications in (2).
3/17/10
Homework for week 7: Read and markup the handout on recursion.
3/3/10
Homework for weeks 5 and 6: Read and markup the handout on sets.
2/25/10
Homework for week 4: (1) Read and markup the handout on loops. Your markup should indicate problems you found and suggestions for changes, not key points as you read (if you want to highlight key points for yourself, please indicate that explicitly, say using a special colored marker). (2) Continue thinking about a problem or problems that you would like to work on for the course project. Feel free to discuss with me any time. You will have two more weeks to think about this.
2/17/10
Homework for week 3: In the RBAC executable specification in Python, check whether all constraints are maintained correctly. You can do this for only the constraints in hierarchical and constrained RBAC, not core RBAC. To do this, first list all constraints, then identify any statement whose functionality is to maintain a constraint, and finally argue that each constraint is maintained correctly.
Extra Credit: propose how the constraints in RBAC could be better specified, and try to do it in Python and test it if possible. In general, propose anything that helps arrive at a correct and clearest possible executable specification of RBAC, and try to realize it and test it.
Added link to all RBAC executable specification in Python.
2/4/10
Homework for week 2: (1) Write a test program for core RBAC in Python; try to make it general and extensible. (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.
Added links to Python Tutorial, Library Reference, and Reference Manual under Other Pointers.
Added links to Python, Python Documentation, and Python 2.6 Quick Reference.
Added link to core RBAC executable specification in Python.
1/28/10
I looked at all bigger available rooms yesterday, and found that all have little blackboard or whiteboard space, half or less compared with CS1441, except for one that is in a mess with a ping pong table but no desks or comfortable chairs. So the class will stay in CS1441.
Since I am too nice to deregister any one, I have to find a way to let people drop themselves. I got authoritative advice to add exams that count a big percentage. I am sorry this will affect weaker students more, which was not the intent of the course (quite opposite, weaker students tend to like the course more and gave better praises because the method helps them more, contrasting stronger students who could already solve many problems without the method and tend to be more picky), but I could not find other ways.
So we will have the first exam next week in class. I reserve the right to test anything related and, contrasting what I always did, there will be no reviews, hints, or advice to help anyone prepare. Future exams will have not be announced in advance.
1/28/10
Homework for week 1: Read and markup the handout on method overview.
1/28/10
Added Handout Q for Questionnaire
1/21/10
Course page is created with General Information, Lecture Schedule, and Requirements.

Annie Liu