Is AP Comp Sci A a good indicator of what a Comp Sci major is like?

<p>I'm currently taking an AP Java class and I abhor it. The programs seem tedious and the teacher is new. However, I like math and computers, and before I totally forgo all opportunities of taking comp sci classes in college, how representative is AP Java?</p>

<p>Java is a big industry language if you go the software development route. While there is more to a CS degree than programming, it is a significant part of it. Do abhor the structure of the class or the programming itself?</p>

<p>Math shows up much differently in CS compared to a math course. Math tends to be an aid, not an integral part. Programming skill also tends to correlate with mathematical ability due to the use of many of the same logical steps.</p>

<p>What exactly do you like about computers? Are you perhaps more interested in hardware / electrical engineering?</p>

<p>Since you are apparently about to attend Berkeley, the Berkeley-specific answer is that AP CS A material is a subset of CS 61B. However, the emphasis of CS 61B is not the Java language, but data structures.</p>

<p>The actual introductory CS course for CS majors at Berkeley, CS 61A, uses Python and Scheme, with fewer annoying and tedious (to beginners) syntax characteristics than Java. The CS 10 course for non-majors also does not use Java.</p>

<p>Here are the course home pages for these courses:
<a href=“http://www-inst.eecs.berkeley.edu/~cs10/sp14/”>http://www-inst.eecs.berkeley.edu/~cs10/sp14/&lt;/a&gt;
<a href=“CS 61A Spring 2014: Structure and Interpretation of Computer Programs”>http://www-inst.eecs.berkeley.edu/~cs61a/sp14/&lt;/a&gt;
<a href=“CS 61B: Data Structures - Shewchuk - UC Berkeley”>http://www.cs.berkeley.edu/~jrs/61b/&lt;/a&gt;&lt;/p&gt;

<p>No. If I recall right from high school, AP CS is just “learn Java”, with superficial approaches to stuff like recursion, OOP, etc.</p>

<p>A proper CS degree isn’t a programming degree. In fact, in a lot (maybe most?) of your classes you won’t even touch a computer. Computers are the TOOL of Comp Sci. You will take classes on Discrete Math, Data Structures, Algorithms, etc where you will not need a computer except maybe to test stuff. It’s a lot of math as well, but it’s not really Calculus, it’s discrete math. High schools do a terrible job of teaching discrete math (actually hey don’t teach it at all) so that students who were good at Calc or Algebra do poorly in logic, set theory, proofs, and discrete math classes in general. However, if you work hard and truly love math, you can do well.</p>

<p>I suggest you watch this video from 0:28 to about 3:50.</p>

<p><a href=“Lecture 1A | MIT 6.001 Structure and Interpretation, 1986 - YouTube”>Lecture 1A | MIT 6.001 Structure and Interpretation, 1986 - YouTube;

<p>I’m currently majoring in Math w/ Comp. Sci and I never took AP Computer Science. From what it looks like, APCS is mostly a beginning programming course, which doesn’t seem representative of a CS major.</p>

<p>@Matachines 6.001 --> 6.00 --> 6.0001, 6.0002 :)</p>

<p>

</p>

<p>In most CS courses, students will do programming assignments and projects to apply the concepts that they learn. Only in a few purely theory courses (discrete math, algorithms and complexity theory, theory of computation) will assignments not involve programming (these will be like math courses).</p>

<p>Thanks for all the replies! Do you guys think I should sign up for a comp sci class (10 or 61a) during CalSO and perhaps drop out before the deadline if I don’t like it?</p>

<p>If you are interested in either the computer science or cognitive science major at Berkeley, you will need to take CS 61A.</p>