honestly though i have only taken one (1) entire class on the subject, growing up in a family of compsci nerds has taught me the two important qualities of any computer science student tackling a problem:
1. willingness to google what the fuck is up (and especially the Exact Error Message)
2. willingness to kluge together a solution (because if it works, it ain't stupid)