This is the first of two excellent free online Stanford University courses whose registration expires March 18th 2012.
Design and Analysis of Algorithms looks at how to approach the many solution and coding data stuctures used in modern search, storage and database operations. Prof. Roughgarden has a clear and well measured approach to the problem of choosing and optimizing different algorithms. The lectures are pointed and clear; the readings are also free and quite excellent reference sources.
Cryptography with Prof. Boneh is well described the instructor:
Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two or more parties generate a shared secret key. We will cover the relevant number theory and discuss public-key encryption, digital signatures, and authentication protocols/blockquote> Again students are treated to a top notch lecturer on an obviously salient computing topic.
There are other excellent free online courses available and readers are encoured to check the current Couresra.org offerings.