Solved 1st term exam

Already available, just follow this link.

Marks will be available in a few days in this same site as an update of this post.

Update: Exam marks are available in the same link as the attendance pages. Please note that solved exam contained a couple of errors that have been now fixed, just download a fresh version.

Second Update: It seems that some of you have trouble doing the math to know your current score, so now you have that numbers on the mark's page. I repeat what I explained the first day of class and it is detailed in Chapter0 slides.
mark(%) = attendance*10/classes + (9-assignments)*exam/10  +  assignments*10  + lab
The underlying logic is that exam only accounts for 70% of the final mark if you pass two assignments, 80% if you pass one assignment or 90% if you did not pass (or did not turn in) any assignment. Also note that failing on an assignment has not any negative effect on your score.

The same logic will be applied to the second term marking and then, both marks will be averaged to obtain your final grade.

Please remember the pass mark is 50%, so if you score less than this you will have to work harder on the second term to pass the subject.

Lab exam is still being marked so it has not yet been accounted for.

Third Update: Now the lab mark has been included. Go and check yours!

1st term exam

To be held January 30th, classroom B-5 at 10:00am laboratory exam.

For those of you who missed one or more laboratory sessions the exam will start at 10:30am. Duration two and a half hours.

Telegraphy vs. e-mail

It seems the fight is over.

Second assignment solution


It might not be the cleanest approach but I try to keep the line count low. You may download this server code that performs as required on the assignment#2 text.

What you may find weird is the fact that a timeout message is printed every 10 seconds when an upload is not taking place (therefore block number is zero). If you do not like this you can add an "if" sentence not to print that unless block number is larger than zero, but for me it serves as a sign that the server is up and running even when a file is not being received.

Second assignment marks

Ramazan, Anna, Manuel, Javier and Edgar have turned assignment#2 in. All of them have passed, though there are some comments, read on.

Some of them had the creative idea that a timeout event can stop the server. Let me tell you that "the show must go on" whatever it happens to the server. So you need to treat (catch) any exception that might cause the server to stop working.

On the other hand, I asked explicitly for the received files to be named in a certain way. Again some of you did not follow this part of the specification.

Edgar made the important observation that the performance when transmitting with this system is quite poor. And he also pointed out the cause: The use of a stop and wait protocol where the round trip time compared with the transmission time is quite significant.

Finally, to all of you that for any reason did not send me your work I want to encourage you to do it next time. I really think that assignment work can help you to improve your practical knowledge of network programming. Think of it like a little challenge and try not to follow the advice on this page.