I was wondering what are some good resources for computer scientists (or anyone) to learn the principles of engineering?
Ask HN: Learning Engineering
1–10 of 22 posts
Re: Ask HN: Learning Engineering
#2Re: Ask HN: Learning Engineering
#3Re: Ask HN: Learning Engineering
#4Re: Ask HN: Learning Engineering
#5Re: Ask HN: Learning Engineering
#6MIT OpenCourseWare - ocw.mit.edu - has a lot of engineering courses.
Re: Ask HN: Learning Engineering
#7Having seen both sides, I don't think either discipline prepares you more for problem solving more than the other. It's all about your mindset.
What I will say though is that engineering problems are rooted in practical issues. e.g "This suspect is approaching security, do we have a machine that can spot them far enough away to interrogate them safely?" Science problems by contrast are more concerned with the phenomena, e.g "Does the suspect reflect enough light for our detector to pick them up at extended ranges given atmospheric turbulence?"
tl;dr If you want to be a good engineer, seek out everyday problems and solve them practically with a given budget and timeline. If you want to be a good scientist, learn to ask better questions.
Re: Ask HN: Learning Engineering
#8Re: Ask HN: Learning Engineering
#9MIT OpenCourseWare - ocw.mit.edu - has a lot of engineering courses.
So does Berkeley - in fact Berkeley seems to have more core-engineering courses on the web and iTunes-u than anyone else.
Re: Ask HN: Learning Engineering
#10I have a computer eng undergrad degree from a solid canadian school. I cant say we were explicitly taught "engineering principles", I wish we were. We learned mostly domain-specific principles, but there are some deeper cross-domain principles that are worth learning (like the link above includes).
I would add to the above, a very central concept is the "engineering trade-off" -- there is no free lunch, etc.
Another smaller one I like is "visibility", seeing clearly into your system and its state is critical to debugging/design and clear thinking.
There are also things you kind of learn by osmosis from doing projects and in the workforce. Like, dont overestimate how hard it is to do some custom work to create something new (a good FPGA programmer or C programmer can do amazing things in a week). And also, dont underestimate how hard it is to maintain said custom work (most university projects dont give a sense of maintenance cost, the overriding cost in the real world).