Course Marks available

On our usual place in the "exams" tab.

Results are quite disappointing as several people did not show up for the exam. Others did but failed the subject by not scoring good enough. Most of you did pass, for those of you, congratulations.

Those who did not pass the subject, please think whether you could have done better by turning in any of the assignments, showing up for the lectures more often, doing the lab exam and, perhaps, studying a bit more.

Anyway, you are welcome to review your exam so you see for yourself what was wrong. Drop me an email for a reviewing appointment.

Solved exam is now available.

Graded assignments

All the assignments turned in have been graded. Please go to the attendance/marks page to check yours.

So you want a video as reading is too hard ...

Here you have an interesting presentation:

Weekend reading

I mentioned today in the class I will post this article on one of the many network security battles. I guess the printer friendly version will remove most of the annoying advertising from the web page (but I was not sure the server would be happy about my referencing of a printer friendly page).

It seems that another one bites the dust in terms of getting their encryption system hacked (not that I am interested or worried as I do not have either content or player for that format).

Fourth assignment

It's only one month left so here is the last assignment for you. Please note its due date is May 28th.

Some people's comments about IPv6

Slashdot was publishing a note about the use of IPv6 in space. Some people found this an opportunity to voice their opinion about IPv6.

All you wanted to know about bit error rate but were afraid to ask

One important detail about BER (bit error ratio) is that it is an average value. If you use it as such there is no problem. But for if you have link whose BER=10^-4 and you transmit 10000 bits over that channel it is likely you won't get any error at all. The reason is that BER is an statistic but not a RULE.

If you want to learn more abot what this means, read on this interesting but yet accessible document.

Computer Networks by Andrew S. Tanembaum


It seems the book is also available for campus-wide access in electronic format (part of the O'Reilly Safari Books on-line package) so as far as you are part of the campus network either connected locally or by a VPN from your home you should be able to read the recomended chapter 4.

CRC java applet

This one will show you both the calculation and the associated circuit.

Green third assignment

It seems the current trend is all for recycling and reducing the waste we create. I am joining this effort now by presenting you a fully recycled third assignment about IP fragmentation.

Please note that the due date is wrong (recycling sometimes has some problems). The correct due date is April 6th.

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.

Class attendance and assignments records

By following this link you can check a copy of the records I keep about both attendance and assignments so you can double check them. If you detect an error please contact me ASAP to get it fixed.

Please bookmark it on your browser so you can return to it easily.

Second assignment is out


As promised here you have the second assignment work that deals with UDP network programming. As in the first assignment, it is a client/server application. Again you have to program a small server that receives files from the client and writes them down to disk.

I have chosen an "invented" protocol as there are lots of Java code out there for many standard protocols (including TFTP). The good news is that I tried to keep it as simple as possible. The bad news is that my skills at writing the protocol specification are not on par with a good RFC. As usual, feel free to ask me any question you may have about the assignment.

Although I know you can copy and paste the client's source code from the PDF file, you can also find the source code file here.

First assignment results


I want you to know that Javier, Edgar, Aitor, Ana, Ramazan and Manuel turned in their work. Unfortunately, one of them failed to meet the problem requirements but the rest pass the test with flying colors.

Congratulations, not bad for your first networking problem.

Those of you that did not turn in anything please remember there are still three other assignments to come.

Network programming is like riding a bike: None of you learnt it by reading a manual, did you?