Live data from Hacker News

Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

news.ycombinator.com

51–60 of 76 posts

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#51
Before coming to college I had tons of programming experience and two interships. I wrote websites, backends, real life applications shipped to customers, school club websites, I even taught C++ in my high school's IEEE chapter. CS 61A completely changed my perspective on how to think about code, I found it so valuable that I could graduate just with 61A, study everything else (algorithms, data structures etc) myself and be fine with it (this is likely an exaggeration of course, there is some value to finishing a traditional CS curriculum).

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#52
post #46

Disagree too. These courses were also known as “weeder” courses so less students do the major, which can’t support all the interested students, so they’re overly difficult. Anyone learning, I would start with JavaScript and make small fun stuff.

They weren't overly difficult. They were just the same difficulty as the rest of the CS classes at Cal. If you couldn't pass these you wouldn't pass any other CS course.

I don’t think they were the same difficulty at all as some of the upper divs. Classes like CS 170 (Efficient Algorithms), Cs 189 (ML) and CS 182 (Deep Neural Networks) were all significantly more difficult than any 61 series class.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#53

One person's best learning resource is another person's nightmare. We still have not understood how to tach coding. The subject seems to be completely non linear, and some people get stuck and cant move on and the teachers cant figure out why and they cant figure out why, it could last 1 month or could last 5 years, and at some point some random thing they read or watched completely unlocks them. (For me the thing th…

> We still have not understood how to tach coding. The subject seems to be completely non linear, and some people get stuck and cant move on

The same can be said about any subject or skill.

If you go to any class, you'll find some people are interested, others aren't. No matter the subject, be it sport, physics, math, chemistry, art, history, etc. Same teacher, same material, different reaction from students.

There's no artificial "ceiling" at play that's specific to coding.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#54
post #53

One person's best learning resource is another person's nightmare. We still have not understood how to tach coding. The subject seems to be completely non linear, and some people get stuck and cant move on and the teachers cant figure out why and they cant figure out why, it could last 1 month or could last 5 years, and at some point some random thing they read or watched completely unlocks them. (For me the thing th…

> We still have not understood how to tach coding. The subject seems to be completely non linear, and some people get stuck and cant move on The same can be said about any subject or skill. If you go to any class, you'll find some people are interested, others aren't. No matter the subject, be it sport, physics, math, chemistry, art, history, etc. Same teacher, same material, different reaction from students. There's…

I think the problem with coding is that people who are very interested still get stuck, I suspect this happens less often with people interested in chemistry/math etc. (possibly because of survivor bias because people drop out of it sooner, because there is no money in it)

There are countless reports of people 'not getting it' after studying for 4 years, they cant make fizzbuzz, and I dont mean they dont get some nuance of it, they literally cant even start typing.

I dont think there is artificial "ceiling" to coding, I think we still have to learn how to teach it, and particularly how to teach it to a mass of people.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#55

CS61A was great when they taught via LISP (Scheme). Have they switched to Python? Probably still good but would be nice to have LISP.

You probably know this already, but if anyone wants to learn “old-school” SICP with Scheme via video lectures, I recommend MIT 6.001 (taught by Abelson and Sussman themselves): https://ocw.mit.edu/courses/6-001-structure-and-interpretati...

The book is amazing, but it is also very extensive/overwhelming and I found that the lectures provide a better guiding structure for myself and the lecturers are also quite entertaining at times. The website also provides additional material related to the course such as exams, projects and lecture notes.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#56

I was a CS61A lecturer for 3 semesters. I thought that we covered very valuable content, but also did not think that it was appropriate for new programmers. I encouraged students to enroll in a true intro class, like CS10, before embarking on the 61A journey. Here’s my post about how to audit 61A : http://blog.pamelafox.org/2022/07/how-to-audit-cs61a.html?m=...

Took CS61AL (Lab version) about a decade ago. Even knowing how to program and working in industry for several years it was not easy. I think my class was one of the last to use Scheme before they switched towards Python and was entirely taught with SICP Book. Probably the biggest difference between sort of traditional programming courses and CS61AL is you have to essentially understand and do recursion day one. It sort of blew my mind compared to the way I learned because generally you do simple statement programs, then functions, then for, while, do while, etc. Then finally around maybe chapter 10 in a traditional book you get to recursion. CS61AL, SICP, and its lots are great, but they very quickly touch on discrete math and calculus concepts and how they relate to programming/CS. Ditto for first-class functions and Lambda's, all introduced very soon in CS61A. Great course though, was a serious challenge from something I thought I would skate through. Definitely made me a better programmer.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#57

Going to hard disagree here and say this is extremely person-specific. I already knew how to code in C++ and Python from high school AP classes. CS61A was awful for me and made me hate computer science. I tested out of 61B. 61C taught me how computers actually work and simultaneously made me quit the major. Here's my take: if you are interested in computer science , the combination of these classes is great. If you a…

Given your testimony, I trust you that it's person-specific – especially since my experience at Berkeley, back in the CS60A-CS60C days (with Scheme) was almost diametrically opposite.

My 80s high school had no programming classes to speak of, but in my own tinkering, I'd done a lot of BASIC & Hypercard Hyperscript tinkering, & I'd looked over enough assembly & Pascal to get the gist. I felt, "I'm good at computers, I can learn what I need there on demand, I've got to major in college in other deeper subjects that I can mainly learn from those departments." And, "being a software developer" alone seemd too narrow an ambition - I thought I'd instead be "someone-good-at-software" in some other kind of innovative industry.

Still, I took CS60A because I didn't want whatever watered-down stuff they'd provide to non-majors – Pascal, I think, at the time. Within a week or 2, CS60A convinced me: there's more interesting depth to 'Computer Science' worth learning.

That continued through CS60B, and by the time I'd done CS60C & the combined EE intro theory & lab course – EE1(?) then, I think, unsure its current equivalent – I'd felt like a circle had been closed on my understanding of how it all works, from logic gates (which I'd understood since a 5th-grade science project & then "Rocky's Boots") through to high-level stack-based languages.

I was hooked, & then knew CS would be at least one thing I'd major in. I ultimately double-majored it with Economics.

Then once out in paid employment, I'd work with people with Bachelors or even Masters degrees from schools not quite-as-famous for their Computer Science programs, and those people would be missing basic knowledge & intuitions about algorithms, data-structures, & OSes that'd been well covered way back in the Berkeley CS60A/B/C intro series.

Of course, the depth of tools & experience available to kids through high school age is wildly different, & better, now. And, if your highest goal is professional training as a software developer, college itself (& college-style courses) may not be ideal, compared to just doing as much as you can, as fast as you can, in the most-challenging workplace that'll take you, filling in gaps with self-study as needed.

But if you want a high-quality college-style education in Computer Science, with the breadth & depth for lots of possibility-frontier work – not just the surface stuff evident to a younger or outside view – Berkeley's curriculum was an excellent eye-opener for me. For precocious students, it should probably replace any "Python & C++" coding in AP high school classes.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#58
post #46

Disagree too. These courses were also known as “weeder” courses so less students do the major, which can’t support all the interested students, so they’re overly difficult. Anyone learning, I would start with JavaScript and make small fun stuff.

They weren't overly difficult. They were just the same difficulty as the rest of the CS classes at Cal. If you couldn't pass these you wouldn't pass any other CS course.

I once saw a young lady in the lab in Soda hall getting obviously frustrated. A few moments later she exclaimed, "Why is it so f**ing hard!" and then as if in a cartoon slammed her forehead into the lab computers keyboard repeatedly before a TA noticed and came over to help. It was like something out of a cartoon. I've taken CS/Programming courses at a few institutions and never seen quite that level of despair/frustration. Maybe its just a CAL thing, I didn't end up transferring to CAL in the end so CS61A was the only class I did on campus, so can't really say.

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#59
post #19

Earlier quoted context omitted.

Try these: An interactive website https://seeing-theory.brown.edu that takes you through some of the most critical probabilities and statistics concepts. Statistics 110: Probability If you want a more advanced overview of Probabilities and Statistics, this course from Harvard University is an excellent introduction: https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6... This is MIT Course 18.06, taught by Pr…

Is Strang that guy that just retired?

yes

Re: Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding

#60
post #6
post #3

What about calc 1/2/3 ? I use those skills all the time in optimization work. Linear algebra? These are important skills that self teachers often forget

MIT 18.01, 18.02 and 18.06

and 6.007 and 6.041
Post reply on HN