Tips for CSCI 1300
Computer science is a complex subject that requires a thorough understanding of concepts. It doesn’t matter how smart or prepared you think you are, there is going to be a point in your career where you stare at your screen and think “what the heck is going on here?”. Maybe your teacher is an imbecile, you’re an imbecile or you’re just missing something important. Either way you need to figure things out quickly and can’t always get help soon enough. Here’s a few tricks that I apply regularly in my life.
While working on my final project for CSCI1300 I waited till the last minute and didn’t give myself enough time to work. This resulted in me chugging some red bull and punching keys till my fingers were raw. I was so worried about finishing each section I did not even compile my code till the due date. To say the least I did not do well on this project.
Moral: Give yourself time and room. You can’t force knowledge into your head. Some topics require that you build your understanding bit by bit.
My dad loved giving me manual labor projects around the house. One of the projects was to demo the guest room so he could remodel it. Naturally my brother and I grabbed some gloves, googles and a baseball bat. The floor and counter had these thick orange tiles that we needed to pull up. Our first solution to getting them out was to just smack them with a bat as hard as we could and then pick up the million little pieces left behind. After about thirty minutes we had gotten out 3 of the 200 tiles. Our dad came in and showed us that if you used a chisel you could slide it under and pry the tile up in one piece. After doing this for another 30 minutes we had cleared the whole room.
Moral: Your first approach might be a good guess but is probably a terrible way to go about the problem. There is always another solution, and chances are somebody else knows it. Every time I look up an algorithm/process on stack exchange, I read three different ones, because now I know what works well, what kind of works and what doesn’t work at all.
One of my first CSCI projects ever was a random team picker. You would enter all the names of the kids playing and it would choose captains and or the entire teams. A fairly simple project which should have taken me less than an hour. There was just one bug, it would always print the same name for each captain. I became so angry because I couldn’t figure it out. I started screaming into my pillow and throwing things across the room. I ended up giving up on the project and left it alone for a week. Eventually I went back and looked at it. Sure enough there it was, right in front of my face the whole time. It took me two seconds to fix the bug, I was so sure that I was right, that I couldn’t see the issue.
Moral: Don’t panic or get frustrated, stressing just clouds your head and makes it even harder to think. In addition everybody makes errors, don’t be afraid to celebrate them, try to learn a thing or two.