CS 61A too difficult?

<p>So I'm currently undeclared, but I want to go into cognitive science. A required pre-req to declare the major is CS 61A, but I heard that having no programming experience will result in a very difficult time in 61A. Is there another CS sequence/class I can take in preparation? I'm assuming that if I take 61A, I would then go on to take 61B, which would be a year's worth of CS classes. If I take another sequence before 61, then I would have to declare a major in my sophomore year...is that too late? Also, am I allowed to take B classes during first semesters? So sorry for my list of questions -_-</p>

<p>The Cognitive Science major at Cal does not require CS 61B, if I am not mistaken: <a href=“http://ugis.ls.berkeley.edu/cogsci/major.php?page=requirements”>http://ugis.ls.berkeley.edu/cogsci/major.php?page=requirements&lt;/a&gt;&lt;/p&gt;

<p>You could take CS 10 (Beauty and Joy of Computing) before you take CS 61A. CS 10 will help you get more familiar with programming and Computer Science as a whole. If you can work hard enough, you might even do well if you take 61A without taking CS 10.</p>

<p>CS10 is supposed to be a gentler introduction to CS. Some students say it’s really helpful, some say it doesn’t help at all with 61A. That might depend on prior knowledge, though. A community college level programming class, or teaching yourself the basics online or from a textbook could also help you prepare if you don’t want to go through CS10. Or you could watch some of the old 61A lectures online, they’re posted on webcast.berkeley.edu. It’ll give you an idea of what’s coming.</p>

<p>I’ve heard of students taking 61A with no knowledge and being fine before, too. Technically it’s still an intro class, they’ll teach you coding/python basics, it just goes really really fast. So if you don’t have past programming experience, you’ll have to work hard.</p>

<p>No, you shouldn’t take B before A. You need to have a good grasp on programming for B, and also concepts like recursion, OOP, and some of the data structures (linked lists, simple trees).</p>

<p>The people who take CS 61B before CS 61A are typically junior transfers who took CS 61B-equivalent at their community colleges, although many community colleges have it split into more than one course (possibly with additional unarticulated prerequisite CS courses).</p>

<p>Old CS 61A course materials are here: <a href=“CS61A Home Page”>http://www-inst.eecs.berkeley.edu/~cs61a/archives.html&lt;/a&gt;
Old CS 10 course materials are here: <a href=“CS10 Home Page”>http://www-inst.eecs.berkeley.edu/~cs10/archives.html&lt;/a&gt;&lt;/p&gt;