right arrow
Examples: Monday, today, last week, Mar 26, 3/26/04
GUEST STUDENT OF THE WEEK: Rohan is a freshman at Dartmouth (and loves it) having gotten in ED for the Class of 2023. He's here to debunk myths regarding admissions and student life at his school. ASK HIM ANYTHING!
Make sure to check out our May Checklists for HS Juniors and HS Seniors. Consult these quick resources to get you started on the process this month.
As we work to adjust to the current reality, make sure to check out these dedicated COVID-19 resources: our directory of virtual campus tours, our directory of extended deadlines, as well as the list of schools going test optional this fall.

CS88 or CS61A?

Major accepts both. Which one should I take? CS88 is only 2 units but people say that it feels like a 4 unit course while CS61A feels like more than a 4 unit course. Yet, CS 61A prepares me well for other CS classes (CS61B), so I'm in between these two.

I have no foundation in CS, but I heard that both of them start from the ground up. I'm also taking either CS88/CS61A, Data 8 and another breadth, so I'll be able to spend a lot of time learning coding. Any input is appreciated. Thanks!
5 replies
· Reply · Share

Replies to: CS88 or CS61A?

  • ProfessorPlum168ProfessorPlum168 4184 replies92 threads Senior Member
    If you have no background in CS, you should not take CS61A until you have taken one of the beginning courses. CS61A is a very challenging class as my kid can attest to and one could call it a weeder class. Data 8 on the other hand is a pretty easy beginning course. I’m not sure if you really need both Data 8 and the CS 88 connector to Data Science - to me that seems like overkill, but that’s just one opinion. CS 10 is also a beginner class that is offered.
    · Reply · Share
  • StressedSeniorIntStressedSeniorInt 78 replies33 threads Junior Member
    CS88 actually replaces CS61A for data science, but I'm not sure if that'll prepare me well for cs 61b. Thoughts?
    · Reply · Share
  • smsksmsk 136 replies10 threads Junior Member
    edited February 2019
    Take CS61A and choose one of the "sections designed for beginners" (plenty of non CS majors there).
    Just like Chem1A/1B is the slayer of dreams for pre-med students, CS61A-B is the slayer of dreams for CS hopefuls (agree @ProfessorPlum168 ) :P There is no point in taking CS88 if you still need CS61B for Data-sci imho...
    edited February 2019
    · Reply · Share
  • ProfessorPlum168ProfessorPlum168 4184 replies92 threads Senior Member
    Ah yes, there are discussion sections for beginners in CS61A, forgot about that. In a weird way, knowing nothing about CS and learning from the ground up at Berkeley is almost better than having lots of experience prior, because the midterms and finals test questions often require you to answer the problems within a framework and a lot of people who are experienced often get flustered at being limited by these frameworks. My kid constantly had to battle that.

    I would still take Data 8 first though, easy class and you’ll learn a lot of Python in that class.

    Note that classes like CS61A and Data 8 have their own signup methodology for discussion and lab sections. A word of warning: Signups for discussions and labs take place a few days prior to the start of class and is first come first serve so make sure you are available on an Internet-connected computer or phone right at signup time. Choice discussion and lab times can go away within a few minutes.
    · Reply · Share
  • smsksmsk 136 replies10 threads Junior Member
    edited February 2019
    @ProfessorPlum168 that's right. I think one of the most difficult parts about CS61A is that it's not necessarily correlated with your programming experience/competence. You need to be able to think a problem in a certain way, which might not be your preferred way to solve a problem.

    For example: Complete the function prune_small that takes in a Tree t and a number n and prunes t mutatively. If t or any of its branches has more than n branches, the n branches with the smallest labels should be kept and any other branches should be pruned, or removed, from the tree.

    I'm sure that most people with python experience can solve this problem in some way, but if I give you some blanks to fill up and 5 minutes to do it, then it's another story :P

    def prune_small(t, n):
    while ___________________________:
    largest = max(_______________, key=____________________)
    _________________________
    for __ in _____________:
    ___________________
    edited February 2019
    · Reply · Share
This discussion has been closed.

Recent Activity