Live data from Hacker News

Code != computer science

ultrasaurus.com

91–100 of 148 posts

Re: Code != computer science

#91

Speaking from experience, this is true. You also don't really know when true CS is useful until you run into it. I graduated with the equivalent of a minor in CS. When I started coding for an web-based gaming start-up in 2007, it was mostly irrelevant. You don't need a CS degree to learn Ruby on Rails, nor is it necessarily useful (beyond your basic intro courses) to have taken CS courses. Flash-forward a year, after…

These "hardcore" problems like AI and pathfinding are definitely tough problems. The issue is that there's an infinite supply of such problems and there's no way a 4 year degree can cover them all. In fact, even if they did, most lessons would be forgotten before they could be proven useful in the real world. Why not just learn these areas when needed? Taking an Advanced AI course in just a 2-3 month semester is how…

What I value most about my degree is understanding the full technological stack of the computer. You never know where your next improvement might come from, and knowing CS broadens your possible angles of approach so you can tackle a problem from any part of the stack from a high level to a low level, not just within a framework.

Re: Code != computer science

#92

I think Dr. Nassim Taleb, author of Fooled By Randomness put it the best. Real knowledge is gained from tinkering, trial and error. A degree from a recognized academic institution is largely a social credit that is earned through memorization and the ability to recall and recite those references. I studied Economics, so I had to figure out how to code (still at it) by relying on the internet and experimenting. Doing…

"Real knowledge is gained from tinkering, trial and error. A degree from a recognized academic institution is largely a social credit that is earned through memorization and the ability to recall and recite those references."

I find that quite insulting. This may be true if you go to some shoddy university that teaches things by rote and memorisation. I did an engineering degree where we had practical laboratory sessions that required you to build experience to get a good mark and the exams were not about remembering formula, you had to apply the knowledge that had been taught.

Experience cannot be taught. However, a good teacher will teach you a lot of useful skills that help you acquire experience quickly. I have learnt foreign languages where I have done a lot of studying at home but with much less opportunity to practice using those languages. When I visited the countries where they spoke those languages I struggled at first but it didn't take long to recognise the differences between my self practice and the real pronunciation/way of using a phrase.

Frequently we see these posts that say you don't need a degree to code. It's true, but if you have a good degree in programming then it's so much easier and probably your code will be much better because you know why things are done a certain way and you do them properly.

Re: Code != computer science

#93
post #31

Earlier quoted context omitted.

People in academia simply don't care about the quality of one particular implementation of their ideas. There's no value judgement here, it's just not their job to write and maintain good software. Just as it's not a mathematician's job to maintain a cryptographic protocol or a physicist's job to keep a satellite in orbit. The people who went to schools with strong research programs are trained by people in that mind…

While I'm following you ideologically, I'm not sure that this idea bears fruit in evidence. The computer science community still uses large numbers of algorithms (via libraries) that were written by academics, in peer-reviewed journals, in Fortran, in the 1970s. Even currently, a tremendous amount of the cutting-edge work in optimization and others is done at the university level: METIS for graph partitioning, and co…

I thing the problem here is you're comparing apples to oranges - the people writing code in the 70's are not the same type of people teaching students to code now.

In the 70's it would have been physicists, mathematicians or engineers writing code to solve a problem for them and their colleagues. Their code needed to be maintainable so they could share it in their academic community, and get things done with it.

Today, the people teaching computer science view code as the proof of concept. Much of the work is in the idea behind the code, and the code is just proof that it can be implemented in practice - and most importantly, isn't designed to be actually used.

The idea that the code is just the proof of concept then carries over to the students, and the mindset becomes not, "let's build this thing to do X', but "can we build a thing, in way Y to do X".

Re: Code != computer science

#95
post #31
post #20

I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…

People in academia simply don't care about the quality of one particular implementation of their ideas. There's no value judgement here, it's just not their job to write and maintain good software. Just as it's not a mathematician's job to maintain a cryptographic protocol or a physicist's job to keep a satellite in orbit. The people who went to schools with strong research programs are trained by people in that mind…

Depends on the course.

I studied a bachelors in molecular biology, took a few years out (realised I didn't like the subject much) and studied a one years masters in IT a few years later. It was taught by the Computer Science department (Glasgow University in Scotland), but the focus was on writing good quality software - readable, maintainable, usable code.

There was an optional data structures and algorithms course which I assume is more geared towards traditional comp science. I took it, but in ten years of work, I rarely use this stuff (though its good to have a background so you know which library is a better choice).

One thing they didn't teach us was networkinq, which I am completely self taught. I can get stuff working, but I think having a formal education in things (like I do in OOP) can teach you where to focus to get things done in a professional manner.

Re: Code != computer science

#96
post #44

Earlier quoted context omitted.

That last bit sounds amazing and highly valuable. I go to a well regarded top CS school and I regret that we don't have something like that in our curriculum that forces people to write multi-thousand-lines of code with a team and maintain it. Our EE program has something like that where you choose a team and build something with them over the course of a semester while having an "advisor". At the end you make a repo…

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

Your definition of engineering may have been appropriate around the time of the industrial revolution when an engineer was literally one who built steam engines, but modern engineering in the academic sense under discussion here is absolutely a science.

Re: Code != computer science

#97

Speaking from experience, this is true. You also don't really know when true CS is useful until you run into it. I graduated with the equivalent of a minor in CS. When I started coding for an web-based gaming start-up in 2007, it was mostly irrelevant. You don't need a CS degree to learn Ruby on Rails, nor is it necessarily useful (beyond your basic intro courses) to have taken CS courses. Flash-forward a year, after…

These "hardcore" problems like AI and pathfinding are definitely tough problems. The issue is that there's an infinite supply of such problems and there's no way a 4 year degree can cover them all. In fact, even if they did, most lessons would be forgotten before they could be proven useful in the real world. Why not just learn these areas when needed? Taking an Advanced AI course in just a 2-3 month semester is how…

CS doesn't make you rote learn solutions to individual problems. It teaches you how to reason about entire classes of problems.

Re: Code != computer science

#98
The difference between software development and computer science is the difference between being able to assemble a car from spare parts, and being able to design the pieces like a new engine or gear box.

The two skill sets don't overlap entirely. However having the latter generally makes mastering the former somewhat easier.

Re: Code != computer science

#99
post #44

Earlier quoted context omitted.

That last bit sounds amazing and highly valuable. I go to a well regarded top CS school and I regret that we don't have something like that in our curriculum that forces people to write multi-thousand-lines of code with a team and maintain it. Our EE program has something like that where you choose a team and build something with them over the course of a semester while having an "advisor". At the end you make a repo…

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

My job as a software engineer involves a mix of all these things. Not a lot of heavy algorithm development, but definitely some.

Re: Code != computer science

#100
post #44

Earlier quoted context omitted.

That last bit sounds amazing and highly valuable. I go to a well regarded top CS school and I regret that we don't have something like that in our curriculum that forces people to write multi-thousand-lines of code with a team and maintain it. Our EE program has something like that where you choose a team and build something with them over the course of a semester while having an "advisor". At the end you make a repo…

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

Engineering utilizes science. But not many engineers need to know as much as Knuth.
Post reply on HN