December 18th


Today's class was used to explain the basics of a P2P protocol that will be used for assignments #3 and #4. Same explanation is here.

Please note the text of the assignments will not be provided until the beginning of the second term lectures after the exams break.

Not sure how useful it will be ...


It's been suggested that having all the information in one place might be interesting. So I am putting everything together on a Google site (as an excuse to learn a bit about that feature).

First term last lab


You're required to write a concurrent web server. Here you have the source code of the lab (which appears written on the lab document). You're not supposed to waste your time re-typing it.

Second assignment is out


Now that assignment#1 is due I'm publishing assignment#2 text.

This second assignment is about writing a multithreaded server application for an instant messaging server. Not that you're going to program the next Messenger server (at least not yet) but I hope it'll be fun.

Please remember this assignment is due on January 12th, 2009.

Third lab

Some programming will be required for the third lab.

TCP sockets programming

Here you can find a copy of the source code java files I wrote during last class.

This is the client.

import java.net.Socket;
import java.io.*;
import java.util.Scanner;

class TestTCP {
public static void main(String args[]) throws java.net.UnknownHostException, java.io.IOException , java.lang.InterruptedException{
Socket s = new Socket ( "www.upv.es", 80 );
// Thread.sleep(100000);
PrintWriter output = new PrintWriter( s.getOutputStream(), true);
output.println("GET / HTTP/1.0");
output.println("");
Scanner input = new Scanner( s.getInputStream());
while(true) System.out.println(input.nextLine());
}
}


And this is the server code:

import java.net.*;
import java.io.*;
import java.util.Scanner;

class Server {

public static void main(String args[]) throws IOException, InterruptedException{
ServerSocket ss = new ServerSocket(8080);
while(true) {
Socket s = ss.accept();
Scanner input = new Scanner( s.getInputStream());
PrintWriter output = new PrintWriter( s.getOutputStream(), true);
System.out.println(input.nextLine()); // reads a line from the socket (client)
output.println("Hello client!");
s.close();
}
}
}



Please note that I detailed during the class some DOs and DON'Ts that not necessarily show in my (quick and dirty) code.

First assignment is out


You have till December 1st to turn in this first assignment. You may need to have a look to SMTP protocol specification (RFC 821). Please note that this RFC has been obsoleted by newer versions. However, for the purpose of this assignment, the original version of SMTP specs are ok.

Second chapter

Here you have second chapter slides and second lab too.

I know some of you still need to get a valid user account and I'm sorry. While this is not fixed, please ask the lab teacher to pair you with another student with a valid user account so you can do the lab.

Laboratory starts this week

Just in case you haven't noticed, lab sessions started October 13th. I'm afraid you may be looking for the English version of the lab I forgot to post :-(

1st chapter slides


As I mentioned today in the lecture, here you have the slides from Chapter 1. I have created a Google Docs spreadsheet that will contain all the relevant information about your performance (i.e. class attendance, assignments, etc).

Unfortunately today the service is not working nicely and at the moment I cannot even access that page. As soon as they are back on-line I'll post here the URL for that page.

It is advisable that you check your attendance record from time to time. Please report any error you may find as soon as possible.

Update: Attendance spreadsheet is back on-line.

Update2: Lab calendar is here.

Here we go again


A new course starts on Monday. Amazingly over 25 students are already enrolled on the group, this has to be an all times record for our subject. I want to welcome you all and I hope you'll enjoy the subject.

For the moment I'm only making the course syllabus available. All the slides and interesting materials will be added to this blog little by little. Feel free to go back in time too, but please be warned that links from years ago may no longer be working.

Applied knowledge to physical layer


Most of you are young enough not to have ever used a cassette tape as a digital storage system. But still you may feel curious about how it sounded and, even more important how it worked. This entry links to an article about using software to decode an old BASIC interpreter for Apple I computer.

Different techniques were used long time ago to create audio signals representing digital files that could be stored and recovered from a cassette using an inexpensive cassette player.

And we are back online!!

After one year of using the PoliformaT platform I've got enough. It might well be ok for some people but I'm not among them. I refuse to be a good well-trained monkey.

In what I think is the best interest of my students (and my own sanity) I'm recovering this blog as the vehicle to distribute the class material.

There are a number of reasons for this move:
  1. Students will no longer need to log-in to read any class related news.
  2. Visitors will now be able to see what's going on in the subject.
  3. Prospective students will learn what the subject is all about.
  4. I will be able to avoid to do a dance to upload a single comment or document. However I will have to add a comment with any document I add, which I find appropriated.
  5. Anyone could comment on the topics of the blog, whether they are enrolled in the subject or not.
  6. Availability will improve upon university's.
  7. I will be able to keep the English group of the subject apart from the noise of other languages' groups.
  8. Blogger's usability is miles away from the ugly and clunky interface of PoliformaT.
  9. We will be free to enjoy videos of any size (PoliformaT limits to 20 MB max which is a joke).
  10. Maybe the site will open up collaboration links with other universities.
  11. Site appearance could easily be changed (if I were not so lazy).

As an starter I'm posting here the solved exams of last June 9th, 2008.

Read this document on Scribd: solved exam 1st term


And the second semester's ...

Read this document on Scribd: Solved exam 2nd term


Please note that older material that is linked from previous entries may not work as it was lost after a hard disk crash. If you absolutely need to get any of them send me an email and I'll recover it for you.