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