New programmers often don't appreciate the power of algorithms. They have one criteria for a piece of code: does it calculate the right answer? If it does, they go with it. Every CS program has at least one class on algorithms. However, if you are a self-taught