Network Coding Theory, Raymond Yeung, Shuo-Yen Robert Li, Ning Cai and Zhen Zhang, Now Publishers, 2006
Fundamentals of Wireless Communication, David Tse and Pramod Viswanath, Cambridge University Press, 2005
Convex Optimization, Stephen Boyd and Lieven Vandenberghe, Cambridge University Press, 2004
Information Theory, Inference, and Learning Algorithms, David J. C. MacKay, Cambridge University Press, 2003
Handbook of applied cryptography, Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, CRC Press, 1996
Numerical Recipes in C, William H. Press, Brian P. Flannery, Saul A. Teukolsky and William T. Vetterling, Cambridge University Press, 1992
MikTeX: Open source TeX implementation for Microsoft Windows
JabRef: Open source bibliography reference manager
TeXnicCenter: Open source integrated development environment for developing LaTeX-documents on Microsoft Windows
TeX4PPT: Free software to include LaTeX equations in Powerpoint presentations
Firefox: Mozilla's web browser
Thunderbird: Mozilla's e-mail client
Sunbird: Mozilla's calendar application
Ubuntu: Free Debian-derived linux distribution. Also check the kde-based version (Kubuntu)
Python provides a very decent scientific library, an interactive command line and a powerful plotting library. This makes it an interesting open-source alternative to Matlab. I tried it recently, and I got hooked ! I especially like the weave module which allows you to include C code in you scripts almost seemlessly.
Python: everything you need to use the programming language
NumPy: the fundamental package needed for scientific computing with Python
SciPy: library of scientific tools for Python (depends on NumPy)
Matplotlib: python 2D plotting library