Now to the reason for my post. How many hours would you guess the
instructor anticipated would be spent on this assignment? I think it would
take an extreme amount of luck for a beginner to do that in what I think
would be reasonable for a student carrying a full load. And if the student
has to use the computers in the lab, that adds a whole new set of problems.
I don't think that it is unfair at all. Thinking back to my time
at Uni we had a range of assignments on either side of the difficulty
of this particular problem. I'm aware that the university system
works differently here in the UK to the US (in the UK you select
a specific and fixed term course in e.g. computer science before
you even enrol, after which you have only limited choice in selecting
specific modules - from what I understand that isn't true in the
US), but at some point you must tackle problems of this nature and
beyond to be considered vaguely competent. In the UK model I'd
guess this would be a second year, first semester kind of level.
At that level you have to assume a basic level of competence -
after all you are coming up to half way through the course and over
half way through lab assignments (third year there are no labs,
just your third year project which is generally something fairly
specialised). How long should be allowed for this exercise? I'd
say that standalone it is a two hour lab job, or a four hour lab
of three such exercises, assuming that you have done some theoretical
design work beforehand (which was always expected at least when I
was at Uni). This assumes that it is the computer posing the
problem - if it is answering that is much more interesting and I
suggest maybe six to eight hours on the same basis. I would also
assume that the lecturer has provided much more infrastructure than
we have got - a detailed description of the task and a dictionary
of words or phrases that may be used.