|  | 
05-21-2010, 07:41 PM
| | | | 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 | 
05-21-2010, 08:12 PM
|  | Registered User | | Join Date: Apr 2001 Location: berkeley, ca | | | college departments have undergraduate advisers--you should talk to the cs and me advisers about whether or not your interests match the program. | 
05-21-2010, 08:14 PM
| | Registered User | | Join Date: Jan 2005 Location: Chicago | | | 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. | 
05-21-2010, 08:29 PM
| | Banned | | Join Date: Feb 2004 Location: Omicron Persei 8 | | | Computer Engineering is what you want. | 
05-21-2010, 10:25 PM
|  | Registered User Maker of HPF-Pre upright bass preamp | | Join Date: Mar 2004 Location: Madison WI | | Quote:
Originally Posted by greekorican 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, ... | 
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
| | Thread Tools | Search this Thread | | | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | |