This question is a bit more philosophical so feel free to remove if you like but it's been bugging me for the last 4 years!
As a final year student I find that exams can be often be passed with a couple of days of cramming, without necessarily retaining or understanding the content i.e. a regurgitation of lecture notes is often enough to gain high marks.
A friend of mine is about to graduate with an honours degree whose final year evaluation was based solely on practical work (a project, assignment marks and the creation of a poster) yet all of this work could have been completed by a third party.
Personally I don't think either of these methods of assessment is sufficient as I am currently on track for a 1st class honours in artificial intelligence and computer science and believe this is mostly due to my skill in passing exams not my skill as a programmer or my vast in depth knowledge of any of the subjects I have "studied".
Surely there is a better way to assess our skills - isn't there?
EDIT - Just to clarify about the aforementioned friend, I was not suggesting that it is easy or even likely that a third party would complete the work, I was just trying to illustrate the potential issues with this kind of assessment. In all of my exams we have to produce photographic ID to ensure a friend isn't sitting the exam for us for example but no such similar checks can be done for assessment. Although I don't believe it likely that a student being assessed solely on practical work would be able to find someone to do the work for them but I think they would certainly be able to obtain a lot of assistance for it which could be seen as unfair, after all, I don't get access to stack overflow during my exams ;-)