<p>You’d certainly benefit from learning some basics. You will be in very good shape if you know the following in any language: Data types, for/do/while loops, classes (constructors), and how to build a method. You also ought to have good problem solving skills. Just being able to think a problem through to possible solutions is important.</p>
<p>If you want to get wayfar ahead, learn Java. It’s used in most of the lower division classes. It is more important that you learn one language in depth rather than shallow knowledge of many languages. Because once you pick up your first language, every one after that will be much much easier.</p>
<p>If you look at the curriculum charts ([UCSC</a> Engineering Curriculum](<a href=“Baskin School of Engineering – Baskin Engineering provides unique educational opportunities, world-class research with an eye to social responsibility and diversity.”>Baskin School of Engineering – Baskin Engineering provides unique educational opportunities, world-class research with an eye to social responsibility and diversity.)) you’ll see that there are two possible paths for the intro to programming courses. If you learn all I mentioned above, you’ll be set for CMPS12A. If not, you’ll learn all of that in CMPS 5J. Neither is particularly better than the other. You’ll likely have no problem finishing your degree in 4 years, whichever way you choose.</p>
<p>Though I ought to note, if you’re going to strive for the fast track and go into CMPS12A, you have to place into calculus. This works either via the math placement exam or an AP calculus score.</p>
<p>Sorry if this is all a bit overwhelming. I was super confused about this when I was an incoming freshman, so I just want to put it all out there while I can think of it. :)</p>