Stanford is offering their Algorithms I course again (via Coursera): Algorithms: Design and Analysis, Part 1
I took it the first time it was offered, and it was a fantastic course. They take the "analysis" part seriously, covering big-O notation fairly rigorously and covering the Master Method. It's fairly mathematical. I ran into problems when we covered probabilistic algorithms, as I never really studied probability mathematically. It will take a lot of your time, but if you can devote enough time to it, it will be worth it.