Excelling in Computer Science?

<p>Whats the best way to do well as a Comp Sci Major? Obviously I've heard to start projects early and to spend adequate amount of time to complete them thoroughly.</p>

<p>However, I'm using AP Credit for AP Comp Sci to skip to the next class, and I was wondering how you study for a comp sci class? It seems like in my AP Comp Sci course, there was more memorizing how to write code, and less theory and concepts? Not sure how it is with upper level courses.</p>

<p>Do projects outside of school on your own time. Learn on your own time. You really should never memorize anything, really. It becomes more of a habit, intuition after you get used to it. </p>

<p>The response to your second part: AP CS was only a introduction to programming in Java. It was no more computer science than Algebra was to Physics.</p>

<p>Programming and programming languages are tools used to help understand CS concepts and apply CS concepts to problems.</p>

<p>You tend to learn a lot more in intro programming classes than you do in APCS. As that is most often the case, you should consider not using your credit. You will have a higher GPA and understand all of the concepts more completely by electing to not skip the class. If all you’re doing is memorizing, you’re doing something wrong. There are many underlying concepts that are universal among all languages and fundamental to your understanding of Computer Science. If I were you, I would check out what language the intro class is taught in and try to learn it at least decently well over the summer. You’ll find a lot of things that are similar to Java and hopefully that will make the things you were memorizing more clear as concepts.</p>

<p>You study for CS by practicing coding. You write programs that are related to a particular concept. For example, if you were learning how to print text in Java, you would write a program such as:</p>

<p>//omitting headers for this example
public static void main (String [] args)
{
System.out.println(“Hello, World”);
}</p>

<p>Try to write programs like this without referencing your source too much, or keep writing different programs until you can do it without referencing the source. This way you come away with a complete understanding of what you need to know. </p>

<p>CS is notorious for taking many long hours of practice to become good at. If you really love programming and learning about how computers work, you will find the hours you spend practicing to be mentally stimulating and enjoyable (frustrating at times, too).</p>

<p>If anything I said wasn’t very clear or you have a question, just let me know. Hope this helps.</p>

<p>You will experience all sorts of classes on CS. Some of it is straight-up programming (with lots of projects), while other bits are theoretical math filled with proofs and awesomeness. You’ll have to adapt your studying strategy to specific classes, which will each require different things (e.g. memorization vs. doing a ton of problems/proofs vs. doing a lot of programming).</p>

<p>And start early. This allows you to make the most of your interaction with the prof and TAs, and you’ll be more likely to be ahead.</p>

<p>People who do well in CS have strong ability in abstraction, idea organization, visualization, and ability to see things in bigger pictures. Memory is also important.</p>