Live data from Hacker News

Why Don't Schools Teach Debugging?

danluu.com

21–30 of 132 posts

Re: Why Don't Schools Teach Debugging?

#21

The best way to find the source of a problem can be summed up in two words: binary search. On the other hand, having witnessed humans physically search for things in ordered collections, it seems we're instinctively programmed to perform a linear search.

Somewhat true. Though intuition about the nature of the problem may give you a much better place to start looking than right in the middle.

If there's one particular module that is often at fault during a particular scenario, you can often start there rather than at the midpoint.

Re: Why Don't Schools Teach Debugging?

#22

I never knew this was a problem in EE, but I know for a fact it's a huge issue in CS. They don't want to teach any "tools" b/c CS professors find teaching people how to be good developers as beneath them. They honest to god think CS is an actually hard science on par with math and physics. You can sum up their attitude with: "It's not an associates degree goddamnit!" (even though it should be) Another source of reluc…

Plenty of people still use ant. It's the path of least resistance where I work since we have a lot of tooling and preexisting code that use it.

Re: Why Don't Schools Teach Debugging?

#23

I never knew this was a problem in EE, but I know for a fact it's a huge issue in CS. They don't want to teach any "tools" b/c CS professors find teaching people how to be good developers as beneath them. They honest to god think CS is an actually hard science on par with math and physics. You can sum up their attitude with: "It's not an associates degree goddamnit!" (even though it should be) Another source of reluc…

The purpose of a CS course is not necessarily to teach people to become developers. Indeed it would be interesting to know what % of CS grads even work as programmers post graduation, probably less than HN would imply. Based on the people I keep in touch with from my graduation class, I would put it somewhere near 30%.

Ouch. Does that imply that finishing in the top 80% of your class then put you somewhere near the bottom 33% of developers?

Re: Why Don't Schools Teach Debugging?

#24

I never knew this was a problem in EE, but I know for a fact it's a huge issue in CS. They don't want to teach any "tools" b/c CS professors find teaching people how to be good developers as beneath them. They honest to god think CS is an actually hard science on par with math and physics. You can sum up their attitude with: "It's not an associates degree goddamnit!" (even though it should be) Another source of reluc…

We didn't even learn what source control is, let alone a tool like Subversion. We used it because some of us were familiar with it, but tools in general weren't taught.

Re: Why Don't Schools Teach Debugging?

#25

Earlier quoted context omitted.

The purpose of a CS course is not necessarily to teach people to become developers. Indeed it would be interesting to know what % of CS grads even work as programmers post graduation, probably less than HN would imply. Based on the people I keep in touch with from my graduation class, I would put it somewhere near 30%.

I'm curious - what do the remaining 70% do?

Various things, a common aspiration was to try and fast track to a management position at a consultancy or blue chip where things were are more about spreadsheets than code. Others do technical work, but not strictly development like Q&A or technical support.

Some went into academia and some did other things altogether, I know at least one person who became a tree surgeon and another who is a session musician.

Re: Why Don't Schools Teach Debugging?

#26
While it has been a number of years, I took CS and EE classes at Michigan State University, Tri-State University, MIT, and Notre Dame.

These are all very different schools, but all of them taught debugging. At Tri-State one of the classes was even dedicated to debugging.

I think the lack of teaching skills may be that more and more schools are degree mills, and more and more the teachers have only ever worked in a classroom so they don't know how to do things outside of the text.

But I have a hard time believing that MIT has dropped debugging, or that Tri-State which is an Engineering school has either.

Re: Why Don't Schools Teach Debugging?

#27
post #23

Earlier quoted context omitted.

The purpose of a CS course is not necessarily to teach people to become developers. Indeed it would be interesting to know what % of CS grads even work as programmers post graduation, probably less than HN would imply. Based on the people I keep in touch with from my graduation class, I would put it somewhere near 30%.

Ouch. Does that imply that finishing in the top 80% of your class then put you somewhere near the bottom 33% of developers?

Wouldn't that depend on the correlation between class grades and developer skill? I have no idea about that.

Re: Why Don't Schools Teach Debugging?

#28

I did an electrical engineering course. Especially with hardware ("welcome to tweak week"), there was a real sink or swim approach. I ended up feeling like it had to do with testability. It's easy to grade a test if you just look for right answers, and mark everything else off. It's easy to grade labs if you just look for the circuit tracking the input frequency. Grading either based on some assessment of how well th…

EE is all about intuition, really. If you don't have the intuition to approximate everything (I don't) then you just sink; there's no way to do everything exactly like is often possible in CS. It's even more important than how good you are at math, because the whole point of the skill is figuring out when you don't have to do a lot of math in the first place.

Re: Why Don't Schools Teach Debugging?

#29

I did an electrical engineering course. Especially with hardware ("welcome to tweak week"), there was a real sink or swim approach. I ended up feeling like it had to do with testability. It's easy to grade a test if you just look for right answers, and mark everything else off. It's easy to grade labs if you just look for the circuit tracking the input frequency. Grading either based on some assessment of how well th…

Does anyone have advice for learning this kind of "intuitive, heuristic, holistic way of grokking circuits"?

Buy the radio shack 150 in 1 electronics lab. Complete all 150 projects.

In between play with Lego Technics.

Buy all the parts and a breadboard, do 10 projects using solder to make the result permanent.

Re: Why Don't Schools Teach Debugging?

#30
During my Education to Electrical Technician ("Lehre") in Switzerland we had a lot of exercises to learn debugging. One was that we got a blackbox with some pins and some maximum ratings and we had to find out what circuit is inside. Or we got a Circuit with a defined function and had to find out if it works as expected or not. And so on. This was also a big part of our exams.

Then on the University the education shifted to a very theoretical approach.

Post reply on HN