views:

426

answers:

8

I will be entering my third year of university in my next academic year, once I've finished my placement year as a web developer, and I would like to hear some opinions on the two modules in the Title.

I'm interested in both, however I want to pick one that will be relevant to my career and that I can apply to systems I develop.

I'm doing an Internet Computing degree, it covers web development, networking, database work and programming. Though I have had myself set on becoming a web developer I'm not so sure about that any more so am trying not to limit myself to that area of development.

I know HCI would help me as a web developer, but do you think it's worth it? Do you think Neural Network knowledge could help me realistically in a system I write in the future?

Thanks.

EDIT: Hi guys, I thought it would be useful to follow-up with what I decided to do and how it's worked out.

I picked Artificial Neural Networks over HCI, and I've really enjoyed it. Having a peek into cognitive science and machine learning has ignited my interest for the subject area, and I will be hoping to take on a postgraduate project a few years from now when I can afford it.

I have got a job which I am starting after my final exams (which are in a few days) and I was indeed asked if I had done a module in HCI or similar. It didn't seem to matter, as it isn't a front-end developer position!

I would recommend taking the module if you have it as an option, as well as any module consisting of biological computation, it will open up more doors should you want to go onto postgraduate research in the future.

Thanks again, Shahin

+2  A: 

Unless you want to do the research end of the world, ie, get a Masters/PhD, go HCI.

Paul Nathan
I am considering going on to doing a PhD however I don't think it will be on Neural Networks
Shahin
Yes. But Neural Networks has more math, which you will need in graduate school.
ejgottl
It doesn't matter if it will be NN or not, NN can challenge you and is therefore a good preparation, HCI not so much.
ypnos
If you do a PhD in data analysis of some sort, NN will help you out. HCI is going to be far, far, far better for being a web app code monkey.
Paul Nathan
can verify all above comments are good recommendations based on experience now!
Shahin
+1  A: 

Which sounds like more fun? Or, equivalently, which will you work harder at? Pick that one.

ejgottl
+4  A: 

Neural networks sound cool until you read the fine print:

In modern software implementations of artificial neural networks the approach inspired by biology has more or less been abandoned for a more practical approach based on statistics and signal processing.

This is something that has mystified me for years. Here you have an amazingly complex and powerful control system (real-world biological neural networks), and an academic discipline that appears to be about modeling these systems in software but that has in reality abandoned that activity.

If you're doing web development, your time is probably better spent in the HCI course.

MusiGenesis
That's not actually true. NN is still quite feasible at the deeper areas of data recognition. Wiki phailed!
Paul Nathan
Can you give me some links to stuff? The Wikipedia article matches my own perception of the field.
MusiGenesis
I'll come across it from time to time in abtruse models of data. E.g., I noticed it was used in clustering algorithms for financial data.
Paul Nathan
Do you see them actually emulating in software things like neurotransmitters and synapses and action potentials and reuptake rates and so on? These are all basic aspects of real neurons, and where they're emulated at all they're emulated badly.
MusiGenesis
Well for example you can read this paper: http://www.cs.toronto.edu/~rsalakhu/papers/science.pdf -- they have (had?) a top-10 result in the Netflix challenge.
SquareCog
MusiGenesis -- Neural Networks are to actual neurons as "inspired by a true story" movies are to actual true stories :-). The goal isn't really to simulate brains.
SquareCog
Dmitriy: thanks, but that is a good example of what I'm talking about. They're doing the now-ubiquitous signal-processing "neural networks", rather than actually simulating biological neurons in software.
MusiGenesis
@Dimitriy: but WHY isn't it the goal? I think it is possibly the most interesting goal a programmer could have.
MusiGenesis
you know what, my bad. I totally misread your quote and thought it said that neural networks have been abandoned in favor of statistics-based methods, not that *the way* the NNs are built is now governed by statistical methods. I would agree with the latter.
SquareCog
Actually, there is a fair amount research going the other way, namely interpreting biological factors, such as neurotransmitters, as having a statistical interpretation. Therefore, while I think the division you mention was the case, it's closing again, only from the other direction.
John the Statistician
+3  A: 

Go with what interests you the most. The HCI stuff will be much easier to pick up later as needed, you'll likely never get another chance to learn about neural networks!

For prospective employers (at least the good ones!) you need to show a passion and excitement about what you do. I'd sooner hire someone who can enthusiastically talk about neural networks than someone who has an extra credit in HCI.

Rob Walker
I agree with Rob, sometimes it pays more to focus on those subjects you wouldn't have the occasion to study later in your career.
abahgat
Now that I've done the module, I second this post =]
Shahin
+10  A: 

The worthiness depends on three factors:

  • How familiar are you with the topic already?
  • How good is the course/class you want to take?
  • What are your interested in more?

Especially for HCI, there is a broad range of "common sense" information you would also easily obtain from reading a good book or a wider range of articles about it also published on the internet. On the other hand, there indeed exist many deeper insights mostly obtained by Psychology studies. If the course is done right, you can indeed learn a lot about the topic and the real considerations to use for developing an interface.

For Neural Networks, one has to say that this is a typical hype topic. It would be mainly interesting in what application domain the course wants to deal with neural networks. You can be quite sure that you won't program or use any neural networks for web development. On the other hand, if the course is done right, this could be a good opportunity for you to broaden your knowledge. Especially, deepening your understanding about the theory of computer science. This highly depends on how the course is laid out, though.

HCI is a topic which helps your career as a web developer, but only if you feel incompetent in that topic (then it is a must) or it is done very well. Neural Networks is a topic which has more potential of being really interesting hardcore computer science stuff, where you indeed learn a better understanding about something. If you are interested in NN, you should not pass the opportunity to get an education which is not narrowly concentrated on the domain of web development -- and, after all, perhaps find more interest in other stuff (it is always good to know other directions you would perhaps like to go into for the future).

ypnos
Thanks for the reply, very helpful. I don't think I want to be in Web Dev for all my life, and I feel that I'd only be doing HCI just to get the qualification that employers would want.
Shahin
Don't base these decisions on how it will look on your resume. Think about what can get you excited and/or challenge you most, so you get the most out of your education.
ypnos
I completely agree. Just a side note: HCI is *not* as web-dev specific as it may appear by reading this post.
abahgat
Hi, I've edited my main post now with information on how it's all gone!
Shahin
+1  A: 

Did two courses in NN and some other AI-courses - its fun to poke round with that stuff and I actually managed to implement the stuff in some of the things I've done like face-recognition, and it's useful in some other areas to if you wanna plot your lab data etc. I have never used the NN:s in my web development career though I am sure it could be used for something however what it all really boils down to is to find a client or employee willing pay for it when you can just take the straight path. So I would rather read book about it if I wasn't that hardcore about it.

Fundamental Neural Networks doesn't take to much knowledge in math, and was what I used in my first course.

Reed Richards
+2  A: 

I studied Neural Computation at University when I studied AI. I now run my own company. The number of times since I studied that I have used my NN skills equals zero. I'm glad I did it, as it was quite fascinating, but I would have found HCI much more useful from the position I'm at now. I think that you'd pick up a lot more insight from an HCI course relevant to the software industry, but if you think you experience should be more on the esoteric/almost arty side of development, go for NN.

spender
A: 

as a programmer to be you need the knowledge of neural network. if parallel processing is the way to go in hardware then future programmers must be knowledgable in neural network. don't forget that NN works better with noise or imprecise data but other systems may not. Note that most data we use for analysis are sample data which is a fraction of the whole and you could imagine if some in the sample are way off. so you need knowledge of NN if you want to last in computer programming field.