It seems that competitive programming might help you. Or just the "programming" part of it. If you want to hone your problem solving skills (and therefore your ability to come up with original ideas), it seems that solving competitive problems is the way to go, since they by design target this skill. You would need two kinds of resources: problem archives ...


There is no programming language that is taught in every computer science B.A. program. There is a lot of variation in what languages are used to teach material, in different programs. For instance, when I took computer science classes, I learned only C and Standard ML. There are other other programs where you might learn (for example) Python and Java. If ...


For almost 40 years it was thought that an intuitive two-pointers based algorithm for finding a maximum-area triangle inside a convex polygon was correct. It was proved incorrect in https://arxiv.org/abs/1705.11035.

Only top voted, non community-wiki answers of a minimum length are eligible