The sampling theorem tells us that we can perfectly reconstruct a signal if the following two conditions are observed:

1. The signal has a finite bandwidth B. (meaning the signal is band limited)
2. The signal has been sampled at a rate that is greater than 2*B (called the Nyquist rate), in other words, more than twice per period of the highest frequency component.

Lets look at each of these requirements more closely:

1. The signal is band limited.

A band limited signal has a finite highest frequency component such that no other content exists in the signal at a higher frequency. If you take the Fourier transform of a signal and can find a point at which the signal is equal to zero at the point and all points after, it is band limited with a bandwidth equal to the frequency corresponding to that point.
Below is a Fourier transform of a signal, you can see that is is bandlimited because it has a point equal to zero and stays at zero for all frequencies higher than it. This point is labeled B on the graph and is the signals Bandwidth.

2. You must sample at a rate greater than the Nyquist rate**.

I believe there may have been some confusion in class, I think the substitute said that you may sample at equal to or greater than the Nyquist rate. This is wrong, you must sample at a rate strictly greater than the Nyquist rate otherwise aliasing occurs.
To see why, look at the figure below, which is sampled at exactly twice per period, or the Nyquist rate for the signal:
As you can see, in this case, we have shown three different possible sinusoids that fit the sampled data, and it is ambiguous as to which of them was the signal that was sampled. Also, I do not have a pretty graph for this, but image if you shifted the samples forward by 90 degrees, you would be sampling every time the green waveform crosses zero, and it would look like the waveform was a constant function of 0.
Below are some programs that you can play around with to observe what happens when either criterion is broken.
To get a 'feel' for why you must exceed the Nyquist rate, I really recommend you play around with some applets and really understand visually how and why aliasing occurs in under-sampled signals.
This is a simple program that lets you play around with a signal, sample it at different intervals, and see what the reconstructed wave looks like using a zero order hold plot. Try to find the Nyquist rate and sample both below and above it to see what happens. Also, try to find a sampling interval that produces a nice looking alias. (easiest using a simple sine wave)
Alternately, if you do not want to unzip and run a .exe on your machine, here is a more complicated version that runs in your browser as a java applet, it is at the bottom of the page.
Another decent applet to play with:

Alumni Liaison

Ph.D. 2007, working on developing cool imaging technologies for digital cameras, camera phones, and video surveillance cameras.