How to implement simple noise filter based on the frequency domain information? Brief introduction:
I am working on my university project. My task is to develop application that captures sound from mobile phone and removes/reduces noise (this simpilied version of task).

I never faced with DSP before, I spend a lot of time to figure out how to get audio signal from phone (no direct API is porvided), so I have only few weeks left to study DSP.
There are a lot of information on that field, my basic source of information was: http://www.dspguide.com/.

My work, to be accepted should include some work(algorithms) in the field of DSP (so I should avoid ready libraries). 

What I need
simple algorithm(easy to understand) for noise reduction, I am very limited in time (I got only one day left, after that I should present my work)

refernces to resources for understanding FFT &amp; inverse FFT (although I implemented that algorithms in code, I simply adopted code from the book)

what I have done
FFT, Inverse FFT
I tried to remove frequencies by applying FFT to signal in time domain and zeroing needed ranges in result frequency domain (ranges &lt; 300 &amp;&amp; ranges >3700 - as human voice is in range [300;3700] - so doing that I tried to remove sounds not related to human voice, but I got very bad results (https://stackoverflow.com/questions/24101814/why-ideal-band-pass-filter-not-working-as-expected)

Could you please suggest me how I can based on the results of FFT reduce noise (I don't need super efficient method, I need something that I can present in my work and explain how I did it)

Please help!
Fast convolution filtering with an FFT/IFFT requires zero padding and using overlap add or overlap save methods to remove circular convolution artifacts.

You should also use a frequency domain response that has a shorter impulse response than a rectangle (which zeroing bins is).