Go Back   TalkBass Forums > Bass Guitar Forums > Bass Guitar Forums > Off Topic [BG]
Register Rules/FAQ/CUP Members List Search Today's Posts Mark Forums Read

Off Topic [BG] Non-music-related discussion and chat


Supporting Membership
Thank You

Latest Supporting Member
Donate to Upgrade Today

Reply
 
Thread Tools Search this Thread
  #1  
Old 05-21-2010, 07:41 PM
Registered User
 
Join Date: Mar 2009
Computer Science Major

Sign in to disble this ad
I'm going to apologize for the long-winded post in advance.

I will be attending UIC in the fall, with Mechanical Engineering as my intended major. I chose Mechanical Engineering as a place holder, I am not at all sure if that's what I want to do. I love to tinker and work with my hands, but kids who I have talked to in ME say that the classes are all theory. I am not looking forward to learning about a bunch of theory if I don't get to apply any of it in class. I would love to work on cars or something, but I'm not very excited about mechanical engineering.

I would describe myself as a very proficient computer user, but I know very little about programming. I took computer science last year, which was a complete waste of time. We learned programming with a program called Alice, which involved dragging and dropping methods into a list, and then about 2 weeks of Java. This year I'm taking a Hardware and Logic class, which I find incredibly interesting. The teacher is also MUCH better that the teacher I had last year, although he is difficult to get along with. We "built" a simple computer in HDL code from the ground up, starting with NAND gates. We are building an assembler right now, the only programming we've done this year, and to my surprise I'm not that bad at it. Not sure if I would like to study hardware design, or writing software/coding. At this point it depends on the amount of education required, and the availability of jobs. How proficient with programming are you expected to be going in to a CS major. Most of the kids I know who are doing this next year have taken AP Computer Science, and have a few years experience in Java and C++.

I've always thought I'd want a job working with my hands, and that the last thing I'd want to do is sit at a desk all day at work. I've been using linux almost exclusively for 2 years now, I'm still pretty noob. Until now I've been using Ubuntu, which requires very little linux knowledge. Recently, I discovered CrunchBang, which takes alot more effort to configure, but I'm having a blast and learning alot in the process. I really like the open source aspect of linux. Having thousands of free applications at your disposal is incredibly handy, as pirating software in windows is a PITA. What is the job market like in linux? It seems like most of the projects are done by volunteers and through donations, but it's something I would be interested in.

I'm also wondering, if I go to college for a CS major, am I going to need a computer running Windows to do my homework? Wine does a pretty good job running most programs, but with my luck, the software I'm going to have to use won't work right. Also, will I need to bring a computer to class? I do have a laptop, but unless I have to bring it with me, I think I'd rather leave it at home.

What does the job market look like for programmers? I think I'd be facing far more competition in Computer Science than in Mechanical Engineering. Supposedly there is a huge shortage of Mechanical Engineers (according to UIC), but I've also talked to some engineers who have been laid off. Seems to me that every course at UIC tells their students that their jobs are in high demand.

Programmers work in teams, correct? Can you describe to me what working on a team is like? My CS teacher loves pair programming, where 2 programmers work at one computer. Every day we alternate who gets to do all of the typing, and I HATE it when I am not the one who is typing. Not that I am against working in teams, but when we have opposing ideas, it's extremely irritating. It seems more efficient to have two computers, so that I could try out my way, while my partner tries his. This situation might be completely different when there are two competent programmers involved, but I don't have patience for peer programming. Do you have to deal with lots of pair programming in the workplace, or in class?

I'd appreciate any advice you have, even if I didn't ask about it. These are just some questions off the top of my head, I'm sure I'll have more.

Thanks
  #2  
Old 05-21-2010, 08:12 PM
Brad Barker's Avatar
Registered User
 
Join Date: Apr 2001
Location: berkeley, ca
Supporting Member
college departments have undergraduate advisers--you should talk to the cs and me advisers about whether or not your interests match the program.
__________________
http://www.cff.org/
  #3  
Old 05-21-2010, 08:14 PM
Registered User
 
Join Date: Jan 2005
Location: Chicago
Send a message via AIM to Linas
I have no advice for you regarding CS, but i am soon graduating from UIC in the fall, so if you have any questions about the school, area, etc, feel free to PM and ask.
  #4  
Old 05-21-2010, 08:29 PM
Banned
 
Join Date: Feb 2004
Location: Omicron Persei 8
Send a message via AIM to karrot-x Send a message via MSN to karrot-x
Computer Engineering is what you want.
  #5  
Old 05-21-2010, 10:25 PM
fdeck's Avatar
Registered User

Maker of HPF-Pre upright bass preamp
 
Join Date: Mar 2004
Location: Madison WI
Supporting Member
Quote:
Originally Posted by greekorican View Post
I'm going to apologize for the long-winded post in advance.

I will be attending UIC in the fall, with Mechanical Engineering as my intended major. I chose Mechanical Engineering as a place holder, I am not at all sure if that's what I want to do. I love to tinker and work with my hands, but kids who I have talked to in ME say that the classes are all theory. I am not looking forward to learning about a bunch of theory if I don't get to apply any of it in class. I would love to work on cars or something, but I'm not very excited about mechanical engineering.
The coursework in most college majors tends to be theory-oriented. You might luck out and find a department that has a more hands-on curriculum, but it will require talking to people and finding out the "vibe" of each department.

Quote:
How proficient with programming are you expected to be going in to a CS major. Most of the kids I know who are doing this next year have taken AP Computer Science, and have a few years experience in Java and C++.
When I was in college (graduated 1986), first year CS students typically had zero programming background. Look in the catalog. If the typical CS course sequence starts with an intro programming course, then you don't strictly need any prior experience. But in any event, from what you have described, you have a perfectly good head start. What specific language you use is immaterial. Once you learn one, it's easier to learn others.

Quote:
I've always thought I'd want a job working with my hands, and that the last thing I'd want to do is sit at a desk all day at work.
I am an engineering manager at a fairly large company. Our engineers definitely are not stuck at a desk all day. Of course they do their share of desk work -- CAD and documentation. But they are also on their feet a lot, talking with one another, prototyping, meeting with suppliers, solving manufacturing problems, etc.

Quote:
What is the job market like in linux?
Limited. The dominant platform is Windows. But in my view, don't focus on the OS. The nature of the project is much more important and interesting than the particular tools chosen to develop code. Also, learning the "innards" of a technology right now is a waste of time for you, because it will be obsolete in 4 years. Better to learn general knowledge and... drum roll... theory.

What I have observed is that regardless of anybody's level of experience, when we hire someone, we expect to provide them with training in the tools and standards that we use at our site.

Quote:
I'm also wondering, if I go to college for a CS major, am I going to need a computer running Windows to do my homework? Wine does a pretty good job running most programs, but with my luck, the software I'm going to have to use won't work right. Also, will I need to bring a computer to class? I do have a laptop, but unless I have to bring it with me, I think I'd rather leave it at home.
It's worth asking. Maybe some older CS students would be willing to chat with you. From what I can tell, many CS profs make an effort to avoid hitching their wagons to a specific OS, so the assignments may turn out to be amenable to using platform independent tools.

Quote:
Seems to me that every course at UIC tells their students that their jobs are in high demand.
This is true of all academic departments.

Quote:
Programmers work in teams, correct? Can you describe to me what working on a team is like? My CS teacher loves pair programming, where 2 programmers work at one computer.
At my workplace, we don't do pair programming, though I have heard of it. Instead, projects are broken up into chunks, and individual programmers get chunks to work on by themselves. Then there are some group activities to ensure that the chunks work together.

Best of luck in your studies! Work, work, work, work, ...
__________________
DIY gear articles and HPF-Pre
  #6  
Old 05-22-2010, 12:16 AM
Registered User
 
Join Date: Dec 2006
Location: California
You could be an EE major. Best of both worlds, hands on and computer stuff
__________________
Ergo facio bassum sum
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Follow TalkBass on Twitter   Visit TalkBass on Facebook  

All times are GMT -6. The time now is 10:56 AM.




Copyright 2011 Talk Music Group Inc. All rights reserved.
Play guitar? Visit our new sister site TalkGuitar.com [beta]
Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.