|
> That's not computer science, that's software engineering. If he wants something very "applied", there's also computer engineering. I've been doing research since my first year as an undergrad (mainly through Canadian research grants, which offer paid summer internships). We do mainly C++, Java, VHDL, Verilog, assembly, but there's fairly little actual language education - they teach the semantics, we learn the syntax by reading and trying stuff. On the more CS side of things, we did state machines, graph theory, recursion, formal proofs, and a good dose of math: solving differential equations analitically and numerically, calculus applied to force fields, Laplace, Fourier, complex analysis etc. Of course there's also electronic circuits, networking, computer architecture, (object-oriented) architecture... It's possible to study more web-related things such as databases, but I'm in embedded systems so we don't really touch this. It's as applied as you can get: I have co-authored several papers and I'm only in my third year. But if you want to do research, you'll have to work for it a little. Go speak to teachers, do projects on your own, etc. AFAIK it's possible pretty much anywhere, but you won't necessarily get paid for it or get to choose your topic. |