SCS with little prior programming experience.

<p>Is it terribly difficult for a student such as me to do well in Carnegie Mellon's SCS, considering that I am very inexperienced in programming. The only course I've taken in programming was the first CS course in my school, in which we programmed only with TRUE BASIC, lame, I know. I never had the room in my schedule to fit in courses like AP Computer Science. So yeah, I'm just worried about how hard it would be for me to succeed at Carnegie Mellon's SCS when almost everyone else has at least learned some programming at the level of AP Computer Science.</p>

<p>When I first visited, a staff member of SCS told me there are three “entry levels” into SCS, the lowest one being appropriate for those with zero programming experience. Your inexperience will not stop you.</p>

<p>Every year they accept some students with minimal programming experience. They wouldn’t keep doing it if they didn’t think it was worthwhile.</p>

<p>I visited them for sleeping bag weekend. I talked to the the Dean of Computer Science privately after an organized presention on the same issue. This is what he mentioned: Majority of folks have prior programming experience. However, CMU does not require it any longer as this had a detrimental effect on girls getting accepted (as they noticed that girls typically do not have programming experinece in their high school). Good news: Once the girls/students get into the program, they do equally well relative to folks who did have prior experience. BUT (bad news), the drop out ratio of folks who do not have prior experience in the first year (as in someone switching out of CS to an alternate major) is higher. This is despite their efforts of offering entry level courses. Reason: students who do not have prior experience get feelings of inferiority relative to their peer group. </p>

<p>Summary: you have an opportunity to succeed academically if you overcome the above issue.</p>

<p>Thanks for the responses guys. That’s somewhat comforting. I think I should probably get to teaching myself Java over the summer though… Would you guys suggest Java as a good language to start out on?</p>

<p>Yes. It’s used in AP Computer Science.</p>

<p>Not to mention that Java is the language used in the entry level programming classes.</p>

<p>Java is a very poor choice for CS majors. There’s a huge hurdle to leap in learning the syntax before you can actually start programming with it. Additionally, several major concepts are absent, so you can’t tell if you can really grasp computer science from being able to grasp Java (Joel Spoelsky has written extensively on this).</p>

<p>A much better choice is Scheme, which removes most of the burdens of syntax, and let’s you get at the concepts quicker. The main reason Scheme is the best choice, however, is not Scheme itself, but Structure and Interpretation of Computer Programs (SICP), widely considered the best introductory computer science book. It was written for the introductory CS course at MIT and used there for about two decades (until the MIT intro class was changed to be more suitable for non-majors), and is still used for the introductory class at Berkeley.</p>

<p>SICP is available free online, at [Welcome</a> to the SICP Web Site](<a href=“http://mitpress.mit.edu/sicp/]Welcome”>http://mitpress.mit.edu/sicp/)</p>

<p>If you can get through just the first two or three chapters of SICP, the intro Java class at CMU (which, by the way, is not really meant for CS majors) will be a breeze, and you’ll have a leg up on the higher classes.</p>