PDA

View Full Version : Looking for Computer Science Majors in the Playground!



Mustiado
2008-08-21, 08:18 AM
Hey guys,

My brother is starting college, and he's considering majoring in Comp Sci. What he's not sure of is if he'd rather do programming languages or software. Could you guys give me some pros and cons about both, that I can relate along to him? I've gotten a few responses from friends already, but I wanted a wider base. ?:)

Thanks!

BugFix
2008-08-21, 09:02 AM
not sure of is if he'd rather do programming languages or software.

How is a programming language not software? When I did my undergraduate work (to be fair, ages ago), the big divide was between software and hardware (which was often, but not always, taught under the umbrella of an electrical engineering program). At the undergraduate level, I'd be very surprised if you were expected to pick a specialty with this granularity. Certainly everyone with a CS degree should be able to write a parser and understand how programming language translations work.

Ashtar
2008-08-21, 09:03 AM
Are you asking about a specialisation or just asking about a specific course in his curriculum ?

If it's choosing his courses, then it would be helpful to have a list of the course's contents and to know the level of knowledge your brother has in each subject.

If he's already a competent programmer, Software (If that means Software engineering and design) would probably be a good choice. If he's not, then he would probably gain by learning more about the languages.

Mustiado
2008-08-21, 01:51 PM
We're talking about a specialization in his major, let me try to be more clear.

From what I understand, if he chooses software, the majority of his time will be spent writing different programs with some of the more commonly used languages. If he picks languages, he'll get a software basis, but spend most of his time learning different languages and how to use them. Like a linguist.

Rawhide
2008-08-21, 01:56 PM
If they teach the basis of learning any language, then it is much better to learn that than a specific set language or set range of languages. Being able to decipher a new language and learn if for yourself is a very useful skill.

valadil
2008-08-21, 02:09 PM
My program was very theoretical. I definitely pick up languages faster than other people because I have a better grasp of the fundamentals, but I have a harder time interviewing for programming jobs. "What do you mean you don't know STL?!" still haunts me.

My advice is to go with both wherever possible for as long as possible. (Does the term lazy evaluation ring a bell?) He should take classes in both and choose whichever one he likes better. He'll be happier that way and he'll pick up the basics from the other camp while he's at it.

Of course, I could have told you this about any topic without having a CS degree.

adanedhel9
2008-08-21, 03:45 PM
In my opinion, learning to do complex, interesting, and varied things in one language is better than learning multiple languages. Languages are easy to pick up; theory will do you better in the long run.

But I double-majored in a modern language (with an emphasis on linguistics) and learned a couple programming languages in my spare time while at university, so I might not be the best gauge for the ease of aquiring language skills.

pendell
2008-08-21, 05:03 PM
I have 13 years experience as a Software Engineer, and a Masters in CS (2003).

My point of view is: It doesn't matter.

Most of what you use in school will not help you land a job, anyway. Once you've got the diploma, no one will give a great flying leap what your concentration is.

So what to do?

-- look at the kind of jobs you want to do. Find out what skills those require. Then explore them in your own time. I think C#, C++, Java, are all great starts.

-- learn as much as you can about software engineering. What is UML? What is a class diagram? What are patterns? What is an adapter, and how might you use it?

-- get as many co-op /intern jobs as you can. The more experience on the resume, the better chance of landing something useful.

-- it seems to me there's not as much *programming* work as there used to be. Application development seems to take a distinct back seat to stuff like being a certified network engineer or sys admin or web master or what not.

-- one other thing: If your friend is just starting the computer science curricula, the first thing she/he has to worry about -- the very first thing -- is not the concentration, but on passing the math prerequisites. That's at least a year of calculus and other advanced math, possibly more.

If your friend cannot pass those courses, she/he won't be able to complete the degree anyway.

Unless your friends a math genius -- it's time to learn now! Bone up! Get tutors! Pass those courses, and she/he can worry about the rest later.

Alternatively, if your friend doesn't want 23 or so credit ours of advanced math and 12 hours of hard science (physics, chemistry, and not the easy ones either -- the ones that expect you to do integrals) ... then maybe they should find a different major.

Respectfully,

Brian P.

adanedhel9
2008-08-22, 02:09 AM
Pendell has some generally good points. I've found that, in the real world, customer facing and a talent for design are far more useful than any technical expertise. Studying a more "social" field - modern languages, psychology, even drama - can give you the basis to really stand out in a field of cookie-cutter programmers.

For example, my education in modern language and linguistics has opened up a whole new career path in VUI design as well as giving me the ability to work with foreign customers that would have otherwise been off-limits.

Though as an addendum to Pendell's comments on academic rigour: I assume Pendell is referring to a BS. I have a BA in Computer Science, which only required 12 credits of Math, and no science, in addition to CS and Gen Ed credits. Depending on your school, this may or may not be an option. As best as I can tell, few real-world employers really care about the difference between a BA and a BS, and those freed-up credit give you the flexibility to expand your education in other directions which can set you apart.

pendell
2008-08-22, 01:24 PM
Correct; I am referring to the BS.

While we're on the subject , there are a number of computer-related degrees besides computer science. At my last school (www.gmu.edu), there are a number of other majors:

Information Systems, BSIT
Operations Research, BS/MS
Security and Assurance, BSIT
Software Engineering, BSIT
Systems Engineering, BS/MS
Applied Computer Science, BS
Computational Science, MS
Computational Sciences and Informatics, PhD
Computational Social Science, PhD
Computer Engineering, BS, MS
Computer Science, BS
E-Commerce, MS
Geographic and Cartographic Sciences, MS
(Includes Geographic Information Systems)
Information Security and Assurance, MS
Information Systems, MS
Information Systems and Technology Management, BS
Information Systems Security, MS
Information Technology, BS
Systems Engineering, BS


So I'd encourage your friend to explore the different degrees before choosing BSCS. It may be there's another one of more use!


Respectfully,

Brian P.