Learning Advanced Programming in the UNIX Environment