I don’t know specific techniques to design good algorithms for problems.
I would suggest reading an introductory book on algorithms and data structures. There are a number of good ones, and none of them is strictly better than the rest, but for your case I would recommend Steve Skiena’s Algorithm Design Manual, which can probably be found in your university library. It’s very readable, discusses how to go about solving algorithmic problems, and has a lot of breadth.
This is some of the higher bang-for-the-buck knowledge in CS, and surprisingly relevant to the Real World.
Seconded; that’s the book I learned from, and would have been my runner-up recommendation. In particular, its pictures are excellent, and there are loads of them.