Changing from Computer Science to...?

Hello everyone,

As it stand, I am starting to become quite troubled with my major as of now. I am a sophomore this year, majoring in computer science. I sort of new what to expect when I decided on this major, but I have been progressing I have started to doubt myself and my future with my choice of major. Ever since I was about 12 years old, I have been fascinated with computers, technology, and building things. To be completely honest, I didn’t really take as much time as I should have during my high school years to really figure out what it is that I want to do.

I have been building my own computers since I was about a sophomore in high school. I have also assisted many of my friends and family with building their own computers and gaming rigs. I can help people with almost any question that have about internet issues, computer issues, program problems, etc. And I really do enjoy helping people and building things. The problem that I am facing now is with where I am going from here. As I continue along with my courses, I am passing with average grades (B, C, A here and there) in the beginner/intermediate level courses. Now I am in Discrete and Data Structure/Algorithm Classes, and I am starting to struggle. Mentally, I keep questing myself what it is I am really doing every time I sit down and try to and write a program. I KNOW that I am not retaining what I am learning. The way I am being taught to do these things in class is simply boring. We are given pages of notes on a blackboard about how certain things work, then we have to go and try to apply them to a program. I am very hands on with learning. When I am copying notes for an hour straight, I don’t really remember anything I am copying down, it just sort of seems like I am a machine translating notes to paper.

I am starting to envision myself programming and coding for hours on end after my 4 years at university, and to be honest, I can’t see myself doing it. I can deal with the math, I have always been in higher math courses and have been able to find help and teach myself how to do things. But coding really stresses me out. I want to know if there is a major out there that is in the engineering field that is more hands on with mechanical things.

I have came here because I wanted to know if anyone here could offer any advice to a troubled young man wondering if he should change majors.

My teachers and family always tell me that it is ok to have to be helped with something. But I don’t want to spend the next 2 years, being helped to do something that I will have to KNOW how to do. I don’t like having to rely on others, I like to be able to figure things out myself. And if I can’t I feel defeated. Typically I can spend DAYS trying to do some of these upper level programs I have been getting. And when I’m done with it, a week later I forgot what it is I have done. I don’t feel like I’m building up a base or tool set to carry along with me.

I have been searching for major alternatives. And I have come across Electrical/Computer/Mechanical Engineering, which seem pretty interesting. I would like to figure out how the computer actually works! If you know what I mean? I know that I can put all these components together and connect it to a power supply and it lights up and that’s cool, but what is really going on? Is there a major that deals with how the actual physical properties of the computer work on the… outside? I guess? I really enjoy taking things apart and figuring out how they work, so that I can put it together or make something completely new! That would be the perfect major for me I really enjoy working with computers and technology, but programming is seeming like it just isn’t for me.That would be the perfect major for me

If anyone has any major recommendations or advice for me, that would be fantastic. I am writing this as a struggle with yet another programming assignment. I don’t want to be asking myself this questing another year from now. If I feel like a change is necessary, and the right thing to do, I’m going to do it. Thank you to everyone that has taken the time to read this.

At many schools, computer engineering emphasizes hardware more, with courses like device electronics, integrated circuits, digital design, computer architecture, and some software courses that are closer to the hardware like operating systems.

You enjoy exploring and creatively building, but Computer Science and Engineering are how-to, recipe-oriented. Unfortunately, getting readily employed is a thing of vocational majors (in in-demand fields), and the purpose of vocational degrees is to inform one how to do a job, not to give life to one’s imagination. Their aim is to diminish uncertainty of outcome. And when uncertainty goes out the window so does the fun of interesting surprises (which I think you particularly enjoy). Also, perhaps you don’t want to go into as much technical depth as Computer Science and Engineering do.

It would be nice to believe you have acquired enough marketable skills. Let us suppose you have. That still leaves a couple of important matters: 1) persuading someone to hire you (or, if you are so inclined and one of the few who success in business, learning the ropes of that), and 2) determining what you can get out of college and getting that.

First let’s address the second one. College is a relatively easy way to learn complicated things (which is its main reason for existing).

Obviously, you should do a few physics courses, but that doesn’t mean you should major in it.

What major to do for someone who is particularly exploratory like you is difficult to say, because the obvious answer is none. Absent the make-a-living aspect, it makes sense for such people to go about college like it’s a buffet, going into several things they want to know more about, i.e. do Interdisciplinary Studies or Liberal Arts.

Ideally, you would be best served by a program that has the creativity involvement of a studio arts major, but be all about technological devices, but does such a thing exist? My brief search now of “engineering art” on the internet comes up with Engineering Sciences Major Modified with Studio Art (http://www.engineering.dartmouth.edu/academics/undergraduate/ab/modified/art/). Such is rare, but it gives an idea of what courses could be put into an interdisciplinary program. Maybe your taste for building things can be applied to the task of building your own interdisciplinary degree.

Addressing the first matter that I mentioned above, if you get a vague degree like Interdisciplinary Studies or Liberal Arts, you should extensively seek out in college and elsewhere knowledge in how to market yourself to employers. (You can still point to your accomplishments with computers to get some computer-related job, or perhaps you can do one of the jobs that are very flexible about bachelor’s degree major.)

@jjwinkle I have to disagree strongly on this. Engineering is hardly recipe-oriented. Engineering offers the tools to develop creative solutions to problems, as that’s the very heart of engineering: solving problems. This is especially true in design-oriented areas of engineering. Getting to work on novel projects, coming up with solutions to problems under various constraints, is the most exciting thing about engineering.

@SBYung Electrical and computer engineering sound like exactly what you want to do. Note that any engineering will still require a fair bit of programming.

Computer Engineering will have a significant amount of coding and you might end up with a coding job after all is said and done. With Electrical Engineering or Mechanical Engineering, you might not end up doing as much coding. However, either will give you the opportunity to work on more hardware oriented projects.

An interesting, possibly relevant thread:

http://talk.collegeconfidential.com/engineering-majors/764632-working-engineers-do-you-actually-build-things.html