How to Succeed in Computer Science?

<p>I’m currently an economics major at Davis, but I’m going to switch into computer science. I know basic Java and am trying to pick up C and some web-programming skills, but I still don’t feel like I would qualify for the program. I barely got by the AP Computer Science program at my high school, albeit it wasn’t taught very well (I basically got a B because my teacher had a C-immunity policy, but in college they don’t have that!). However, I’m still very much interested in computer science, and the job opportunities are great in that field too. If I’m going to do well in the program, what do I need to do now and in college in order to succeed? And should I really be preparing myself for the worst, as in everyone around me is going to be a computer genius?</p>

<p>You’ll be at a bit of an advantage by knowing some Java; many CS students (me included) start with zero programming experience and do just fine. I don’t know anything about APCS because my high school didn’t offer it, so I don’t know what to say about that. Most people either come in with no experience or barely any experience; in every intro class you’ll have one or two class geniuses, but most people aren’t like that. Heck, depending on how outspoken they are you might not even know who the “class genius” is (unless it happens to be you or a friend). Regardless, skill levels even out after a couple quarters.</p>

<p>Biggest tip: Start your assignments early. Even if an assignment seems easy, chances are you’ll hit some sort of snag along the way and you’ll be glad to not have to worry about that at the last minute (most of the time). If the assignment is easy/really straightforward and you manage to finish early due to not hit snags, then that leaves you free time later and you don’t have to stress about finishing. I learned that one the hard way with ECS 30 and it took me a third of the way through the quarter to get used to starting right after assignments were passed out.</p>

<p>Tip 2: Don’t let the first assignments lull you into a false sense of security. They’re generally easier than later assignments, and in some classes there’s a huge difficulty spike after a couple assignments. Again with ECS 30, the first two weeks were really simple (can you make the computer do arithmetic and print the results? Hooray, you can!)…then week 3 hit and I wasn’t expecting the sudden difficulty increase.</p>

<p>Tip 3: Get a good partner, if they’re allowed. Most professors let you partner up with a classmate or two. Take advantage of this, and find a good partner. A good partner is willing and able to pull their own weight, someone you can hopefully talk to (you tend to end up spending a lot of time with them), and someone with a similar skill level to you. This could mean going through a couple people in a given class until one “sticks”, or you could get lucky and get one that’s a good fit from the start. Regardless, do what you can to find a partner.</p>

<p>If you do all three of those (or even just the first two, if you’re one of the lucky people who can do it on their own), you should do perfectly fine in your CS classes. In addition to that, there’s the general advice of getting help when you need it. The CS club offers free tutoring in the CSIF (basement of Kemper hall, has the computers that professors test assignments on), plus there’s professor and TA office hours. As with any class, get help as soon as you notice a problem rather than waiting to let it get worse.</p>