Campus computer science program does not compute

CAMPUS ISSUES: Culture at UC Berkeley promotes computer science without providing adequate resources

When the culture at UC Berkeley simultaneously stresses the importance of a computer science education and heightens GPA requirements for the major, barriers to entry become increasingly difficult to overcome.

More and more students entering UC Berkeley feel pressured to learn basic computer science skills to meet the needs of the postgraduation job market — a notion that the campus and its highly ranked computer science department encourage. In fact, this year, the first introductory class to the major, Computer Science 61A, had to increase its enrollment to 1,400 students in order to accommodate the demand for the class. But the upsurge in enrollment means fewer resources for beginner students, especially in terms of access to teaching assistants and professors.

The computer science department recently changed its requirements for petitioning for admission to the major: Students who entered UC Berkeley before this fall needed a cumulative GPA of 3.0 in the seven lower-division course requirements, whereas students who came in this fall need to complete, specifically, CS 61A, 61B and 70 with a cumulative GPA of 3.3. These are arguably the more difficult “weeder courses” within the prerequisites, and increasing the average required GPA from a B to a B+ makes a real difference for many deserving students hoping to earn a computer science degree. In CS 61A, for example, the past average is a 2.84, or a B-. Holding beginners to such a high standard, especially given the amount of pressure from an increasingly technologically focused society, is a tool to sort students into winners and losers rather than educate them.

We recognize that raising the bar for entry adds credence to the program’s prestige, but the selectivity can hinder students who may not be so sure of their interest or who may become overwhelmed by the hypercompetitive culture. The threat of failure has resulted in major cheating scandals during finals seasons in these classes, as students who cannot figure out the projects turn to code they can find on the Internet or borrow from classmates.

Despite CS 61A being the first class required for the computer science major and minor, many who take the class have prior coding experience. Some took AP Computer Science or previously taught themselves a language, which gave them a huge leg up.

When students lack the resources to prepare for CS classes prior to entering UC Berkeley, they are less likely to gain acceptance or stay in the highly coveted major or minor, leading to a serious lack of equity, which UC Berkeley is failing to address. Students come to campus with completely different backgrounds, and often, their level of preparedness for their classes is tied to their socioeconomic status.

While the rudimentary class CS 10 does exist to attempt to bridge the gap, it teaches a different computer science language from Python for most of the semester, and it does not adequately prepare many students for CS 61A or more advanced classes. The self-paced version of the class, CS 61AS, would be a suitable alternative if it were advertised better and could offer the same access to resources as does the traditional class.

The infrastructure of the campus’s computer science department is not keeping up with the national demand. And for an industry that is changing every day, the lethargy with which UC Berkeley’s academic curriculum moves is ironic. In the meantime, especially given the fact that a new data-analytics breadth requirement may be in the works, the campus needs to increase the accessibility and support of introductory computer science courses.

Editorials represent the collective opinion of the Senior Editorial Board as written by the opinion editor.

Please keep our community civil. Comments should remain on topic and be respectful.
Read our full comment policy
  • Guest

    You guys blow!!!!

  • BerkeleyDude

    In a charitable reading, the article gets the most-significant bit right — the problem is squarely that the campus administration is not appropriately supporting the needs of the EECS department.

    The EECS department has through words, actions, and plans showed a consistent commitment to wanting to teach as many students as possible, while preserving the highest quality of education. EECS has expanded courses dramatically, faculty in EECS have increased their teaching loads far beyond what is required of them, faculty members have raised vast quantities of money and have contributed many gifts to the department, undergraduate students have stepped up to the plate to TA courses, tutor for courses, read for courses, and even volunteer to help out in courses without pay so that their fellow students can learn. Graduate students on external fellowships (who don’t need the money) have volunteered to be TAs in courses that desperately need their expertise, and TAs in EECS work very hard. EECS Alumni have been quite generous in donating to campus (witness the new Jacobs Hall as well as Sutardja-Dai Hall nearby), arguably in excess of any other unit on campus. And yet, we have a $1B *debt* that campus has taken to build a Football Stadium (on a fault-line!) for a team that doesn’t rank in the top 5 routinely, while the #1 EECS dept in the world has to beg campus to give us space, faculty slots, and money to pay TA’s tuition.

    • Ben Keller

      This is spot on. The University, not the EECS department, is solely to blame for these problems. The department has made every opportunity to expand its introductory courses without compromising TA-student ratios or teaching quality, but the University refuses to allocate money to fund the additional teaching staff.

  • Nikki Johl

    The infrastructure of the campus’s computer science department is not keeping up with the national demand.”

    I feel that the CS department works hard to make their courses scalable due to increasing demand. It’s impressive and commendable that a popular course like 61a worked to accommodate 1,400 students. It seems unfair to then blame the department for having to cap the major, when they’re making such an effort to be accessible to as many students as possible.

    Because of their high demand, Berkeley CS courses are often the first to adopt tools to help keep up with demand while remaining attentive and fair to students. Almost every CS course uses Gradescope for grading, Piazza for discussions, and other creative solutions that helps large classes retain the quality of a smaller course.

    (full disclosure – I work for Gradescope)

  • Colin Schoen

    We also offer more resources than students could possibly consume. If you actually have something constructive and tangible to change about CS61A I implore you to actually detail it rather than just complaining about accessibility.

  • Colin Schoen

    Strange. It seems as if the Daily Cal didn’t do their research again. We actually increased our student to staff ratio for CS61A over previous semesters…

  • James Huang

    How do we handle the fact that there are more people who want to get payed 6 figure salaries as doctors and lawyers and engineers than there is demand for these professions? Do you expect to get into med school with a 1.3 GPA?

    “Holding beginners to such a high standard, especially given the amount of pressure from an increasingly technologically focused society, is a tool to sort students into winners and losers rather than educate them.” Not everyone needs a computer science education. You don’t need a civil + mechanical engineering degree to drive a car across a bridge. The stuff learned in a computer science degree is actually grossly inapplicable to real life unless you are a programmer.

    “We recognize that raising the bar for entry adds credence to the program’s prestige.” No, this is not why Berkeley is doing what it’s doing. This is primarily a logistics problem.

    “The threat of failure has resulted in major cheating scandals during finals seasons in these classes, as students who cannot figure out the projects turn to code they can find on the Internet or borrow from classmates.” There have always been cheaters, and always will be.

    Berkeley computer science courses are extremely accessible for those willing to put in the time and effort. The 3 introductory computer science classes, CS61A, CS61B, CS61C are all online for anyone willing to google for them. If you look at the live versions of the course websites they come with office hours with TAs(GSIs). I guarantee every single TA(GSI) if you prove to want to learn regardless of your socioeconomic status or willingness enrollment status.

    https://inst.eecs.berkeley.edu/~cs61a/sp15/
    https://berkeley-cs61b.github.io/public_html/
    http://www-inst.eecs.berkeley.edu/~cs61c/sp14/

    “And for an industry that is changing every day, the lethargy with which UC Berkeley’s academic curriculum moves is ironic.” The Berkeley CS curriculum is globally ranked, and very modern.

    • Bob Bell

      “The stuff learned in a computer science degree is actually grossly inapplicable to real life unless you are a programmer.” Just to add my 2 cents worth to James’ excellent points, there are many instances when the stuff learned in a computer science degree is inapplicable even if you are a programmer. The vast majority of working programmers will never write a compiler or an operating system or an IDE or embedded software. Instead they will, using the tools that computer scientists create, translate business requirements into a working computer system. For this job, business knowledge and communication skills can be more important than digital circuit theory. So not going through a top ranked CS program will in no way preclude someone – who wants it and is willing to work for it – from a successful career in IT.

  • MBunk

    GPA is not a barrier to entry at this level. You come to college to learn, and if you work hard enough AND you’re fit for the major you choose, then you will succeed. Don’t blame the college for setting restrictions (that aren’t even very high) that many people are meeting.

    It does suck that the class sizes are ever-growing, but the teaching staff and CS community care and are working diligently to figure out ways to alleviate the issue through other means, such as through discussion sections, tutoring, homework parties, etc. We’re in college now – there’s very little chance you’ll get the 1:20 teacher-student ratio you enjoyed in primary school for any popular classes or major requirements.

    The grades are based on a point scale anyway, so everyone has a chance of doing well for the lower division CS courses. A B- isn’t a high standard, and if you feel that it is, if these courses don’t “weed” you out, your future upper divs or career will. The courses are designed for students without prior experience. Those with prior experience might find the courses easier, but that doesn’t affect those who don’t have prior experience.

    Not even going to address the point made about CS10 not teaching Python. Clearly, the author is not educated enough to comment on CS education…

  • Anurag Ajay

    Do u guys even verify your data? This is bad journalism. The average GPA of CS 61A in past two semesters were 3.11 and 3.14(source:cal answers). Also the number of TAs/readers/lab assistants increase every semester to meet the demands for 61A. You say that the curriculum of CS doesn’t changes. Go and look at CS294/194 series. For example-in CS 287, we learn about apprenticeship learning which is a very new topic. And there are many more examples. Also, you can’t change some courses(like data structure) because everyone needs to know the basics. Even those courses have interesting new projects to ensure that the course don’t become obsolete.

  • JC

    This sounds like the collective opinion of people fail to see the point of computer science (CS) education as a whole. Anyone can learn a programming language. Just search on the web and you will find a ton of resources and tutorials. But a CS education isn’t just about being about to picking up a single language, it is about computational thinking, or in layman’s terms, how to think like a computer scientist. Computational thinking is not language specific at all. Topics such as Data Mining, Security, Algorithmic Complexity, Concurrency, are all covered in CS10 and are, arguably, very advanced topics for an introductory programming course. CS10 exists primarily for students who did not have the privilege of a CS course offered in high school or early exposure to computational thinking. Believing a computer science equals programming, is a very common and very erroneous view.

    If you want to play the programming language card, you fail to mention that the current AP CS exam is in Java, which is completely different from Python taught in CS61A. CS10 covers Python in its core curriculum and allow students to complete their final project in Python.

    The problem with low GPAs in CS61A is not with CS10, because CS10 isn’t a required prerequisite. CS61A students come from a variety of different backgrounds and it is just presumptuous to lay the blame on CS10. In fact, I would argue a large number of CS61A student actually should have taken CS10, but were discouraged by false information that CS10 isn’t useful.

    Finally, your education is ultimately your responsibility and this just sounds like a case of “I got a bad grade, because the teacher didn’t know how to teach me or my previous teacher didn’t prepare me well enough.”

    • lynseysnolan

      FREELANCE AT  HOME SPECIAL REPORT………After earning an average of 19952 Dollars monthly,I’m finally getting 98 Dollars an hour,just working 4-5 hours daily online….It’s time to take some action and you can join it too.It is simple,dedicated and easy way to get rich.Three weeks from now you will wishyou have started today – I promise!….HERE I STARTED-TAKE A LOOK AT….ugm,……

      ================= Jobs367.com ☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣☣