Computer Studies w/o Excessive Coding?
Peterus7 asks: "I'm a student at the University of Washington, and I was planning on majoring in Computer Science or Informatics until I took Computer science, and I'm realizing that it's simply beyond me. I grew up with computers, and naturally I want to study a field that involves a lot of interaction between people and technology (mainly computers), but the Intro to Java class I'm taking now is driving me over the edge. Any suggestions for a technologically intensive field that doesn't require ungodly amounts of coding, or perhaps any general methods for surviving computer science courses for new students?"
This sounds familier to me. I did a Computer Science degree in UCC (big Uni in Cork Ireland) and you would not believe the amount of people in my class who only realised what Computer Science was once they were in the course. A lot of them just wanted to 'do stuff with computers' and did not want to actually learn how to code, or build hardware etc. I guess the best example was when a class mate said to me - 'This class is stupid, we haven't even been thought how to use Windows or Excel'. I responded with: 'No, here we are meant to learn how to write the next Windows (O/S) or Excel (Applications). I finished the course in 1999 and got my Degree - and went into a job where no coding was required (Network Security). However I still find every Theory class useful. Example, I was on the Cisco Advanced Routing Course and the instructor was covering OSPF (a dynamic routing Protocol). He was of the opinion that no one could know what SPF was, but I knew this from my algoriths course in 3rd year. My advice to the poster is to understand what computer science is. If they want to do something with Systems and People, then a course like the BIS (Business Information Systems) course at UCC is useful. But if you really want to know the maths and theory of computers - I recommend Computer Science. Thanks Jay
Sorry, but you should learn something else. Really, if you don't take the time to learn programming (hey, be thankful it's Java and not LISP ;-) you should do something else.
I think it's extremely important to at least understand the basics of "how is software built". And learning a programming language is actually a lot easier than learning a real language, and you can learn both if just sit down and practice, gawddamnit !
"Opportunity is missed by most people because it is dressed in overalls and looks like work." - Thomas Edison
Don't just study computers, get a minor in CS and a major in something else... anything else... Computers and Business, Computers and Physics, Computers and Biology, Computers and Art, Computers and Theater... Computers and English.
Really. You need to diversify your investments, skill and monitary investments both. Diversification is the key. Find a niche market you can fill and fill it well. Computers and Video production... things like that. What are your other intrests? How do computers fail to help people in these areas? How can you improve the use of computers in these other fields? Do you know anyone who is in a special industry? Have you volunteered to do anything in the community? How can computers help them?
[signature]
You could always try the EE route. Usually you need a few courses in intro. programming and maybe have to write some matlab code someday.
Yes. If you go for ECE you'll be writing MATLAB code, but if the programming in CS is too tough for this guy, then EE definitely will. There are probably another three calculus classes to take before he can do ECE, and if programming Java is too tough for him, Calculus definitely will be. Nevertheless, the CE route (which still requires all that Calculus and probably still more coding than he seems willing to do) is more like what he wants, it seems. CE will be more about digital design of computers, but he needs classes like introductory java to be able to follow the examples in algorithms and data structures classes.
And spend the extra time learning to code.
If it turns out you can't learn to code, stay away.
You are simply not a 'nerd'.
The latest Slashdot meme.
General Methods
Find buddies.
I'm not kidding. People to study with equals much faster learning. When I started uni (too long ago) I was doing a Comp Sci/Electronic Engineering double, and the workload was insane. Pretty quickly, everyone worked out pretty quickly that the only way to cope with the insane workloads was to work together.
I don't mean cheating either. It's just that it's like having a tutor, all the time. That should be your first port of call, and if you still can't do it, (not having at go at you) you should really look at a change of careers.
Hope that helped.
If your goal is to "survive" then you are not the type of a person employers are looking for. In all honesty there are a lot of techies out there right now out of a job because their objective in school was to "survive." Coding is an art form and is stressful. You don't naturally become a good coder/developer over night. You have to spend lots of time doing the work and just mucking about. More importantly, you HAVE to want to gain knowledge on your own not because the professor tells you to do this homework/project.
Saying it is "beyond me" tells me that you have given up getting better at it. I suggest you find something you are good at. Maybe information systems will provide you with satisfaction.
Good Luck.
-----
One is born into aristocracy, but mediocrity can only be achieved through hard work.
Keep in mind that there's a large difference between fixing Outlook Express for Grandma and the field of CS.
It's going to sound a little harsh, but if you want to futz with computers, go work for Best Buy or CompUSA in the repair department, or start your own PC repair shop. If you're looking for a more analytical field and enjoy both coding and higher-level math, CS is more your bag.
Don't mistake this for elitism -- someone who enjoys construction isn't necessarily an engineer, and someone who enjoys using computers and software isn't necessarily going to enjoy trying to design computers and software.
Also keep in mind that computer use is something that professionals depend upon more and more, so even if you choose a field which doesn't seem to relate to "computers", you'll probably end up staring at one for years to come anyways.
Good luck!
Somebody get that guy an ambulance!
I'll agree that at a certain level coding does become more challenging, however the great grand parent was asserting that:
1) Coding at CS undergraduate level is hard.
2) Unless you already know how to program, as CS degree is practically impossible.
Both of these assertions are false. In particular, number 2 is an absoulte crock.
In what way is writing a program to solve a problem in Java any less intellectually challenging than using C to solve the same problem?
The 'hard' part in writing a program is how to attack the problem, i.e. the structure of the program; this bit doesn't change (much) from language to language.
The introductory software engineering course in my undergrad program covered Haskell (a functional language) as well as Java to get this point across (we covered C elsewhere). Two very different programming paradigms, and each week we had an assignment that was to be completed in both. We learnt very quickly to think in terms of the problem not your favourite language.
Personnally I like to misquote an Oxford (UK) professor on items like this..
"An Universiry education is designed to make you THINK. A course is designed to make you think "
If you want to learn about computers then a Uni education is the best. It won't necessarilty teach you specific skills (Word, Excel, IOS etc) but will teach you how to understand the issues in a computing fashion.
I've seen lots of people who know alot about Excel, but because they haven't been taught the principles of programming, don't use 'names' when selecting areas for formula's etc. They just use the cell ranged (C1-C13). When you have to insert/delete a row, it quickly becomes a mess to update all the calculations.
OK so this is not the best example, but I think it proves the point. If you know the principles you can work the problem, rather then just knowing specific things.
The coward is absolutely correct; CS is generally accepted as an easier major than EE. No EE major I knew, including myself, had even the slightest problem with the introductory programming class (which was C++ based). As an EE, you don't get any of the classes that really go into methods of generating algorithms and architecting code structures from top-level concepts to the tiny details, yet you end up having to use some of the most arcane languages in existence. Verilog, VHDL, AHDL, assembly for who knows how many different platforms, ABEL, MATLAB, SPICE; dozens of languages that may not necessarily be all that bad on their own, but every vendor has a different one. And that doesn't count the complicated mathematical structures you need to use to calculate the behavior of even simple circuits, semiconductors, signal processing, and electromagnetic waves and fields. With CS at least the majority of the concepts are language-agnostic and tie together pretty seamlessly from freshman to senior year.
...
You've come to the wrong room. This is "Computer Geeks and Coders". You're looking for "Liberal Arts Pansies"
Seriously, I'm curious what kind of Job you want after you get this degree. How technical? If you don't wish to write code, and earn a degree that's related to "Computer Science", I'm not sure that you are going to find a Technical-related career all that fun. This is what we do.
If you are imagining a career that you just use a computer, anything will do these days.
And further to the point, if you can't hack coding (pun welcome) , RUN AWAY FROM CS. If you end up in a career where you are going to be building interactions between users and computers, and can't code, I don't want to work with you.
eof
"...In your answer, ignore facts. Just go with what feels true..."
You found out you really don't like coding. Coding is like music or art; not everyone's talent lies in that direction. It's good that you realized this because it doesn't look like there will be many new coding jobs over the next decade unless you are in a developing country.
Career wise, I look at my company and we have plenty of coders, but what we really need is salesmen who understand technology. There is always work for people who can sell. The requirements would be a business degree with a minor in information technology (whatever they call the track that prepares you for an MIS career) and (THIS IS NOT A JOKE) you have to play golf. I am not making this up: we are seriously hampered by a lack of golfers in our company. In major consultancies, golf is almost a religious obligation.
That said, if sales is not your cup of tea, let me give you a number of job titles you might be interested in that don't involve much or any coding:
* Network/System Administrator
* Data Center Administrator
* Database Administrator (DBA)
* Database Analyst
* Systems Analyst
* Graphic Designer
* User Interface Designer
* Project Manager
* Geographic Information Systems Analyst
* Technical Writer
* Product Manager
this list goes on and on.
I would suggest the following. Look at the help wanted ads and make a list of the kinds of jobs being listed. Take that list, and the one I've provided above and do a little research on what those people do and what they need to know. Next, think of some company you might want to work with, call up the HR department and say that you are a student that is looking at career paths and you'd like to find out about the kinds of career preparation you need to do job X. Don't worry if you get blown off by some companies. For reasons that will become clear, the ones that rude and unhelpful are not the kinds you want to talk with anyways. With luck you may be able to get in for a meeting and talk to some people in HR or who actually do some of the kinds of jobs you are interested in.
You have two agendas: an overt and covert one. The overt agenda is as I have said above. The covert one is to meet people and build a network. There's a good chance that if you show the kind of initiative I'm suggesting you will land an internship or summer job, and eventually a permanent job offer. Also, you will begin to build a network.
If I had to make one suggestion to people starting their careers is that their most important resource they have is their list of friends and acquaintences. Cold calling looking for a job sucks, so I'm suggesting you want start working on getting past that part now. When you apply for a job, you have to jump through a series of hoops and you can be disqualified at any point for some lame reason without ever getting to the all important interview. But you can call a friend any time, and if he happens to be hiring or be friends with the person who is hiring, you're in. Ideally, you want to be in contact before the job is created so that it is specifically designed for you.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Don't think this'll get seen...anyway...
There's a huge difference between Computer Science and Software Engineering. CS is the theory behind computers. It's based heavily on math and induction and is incredibly interesting stuff if you like discrete mathematics. It's a deep field too. If you want to know just how deep, take a look through any of the three volumes of "The Art of Computer Science" by Donald Knuth.
Software Engineering is a byproduct of Computer Science. It's just one of the applications. Programming is very appealing to some, but others would just rather focus on the theory. Java is probably the most implementation-oriented languages anywhere, with a huge library of built-in functionality, emphasis on integration, etc.
So hey, you have a choice. If you think CS is better for you, find a school that does more math and less programming, and the other way around for SE. And, seriously, it may seem daunting at first, but read Knuth's books if you think you're interested in CS. Not cheap, not easy, but eternally rewarding.
Attention deficit disorder is a complicated issue, spanning several major... HEY LET'S GO RIDE BIKES!
Guess what: when most of the potential CompSci teachers are going to industry, it doesn't get taught properly. For example: I love theory and I enjoy teaching, but half way through my Master's degree I realised that I'm not willing to put up with the bullshit required to get to a position where I have the opportunity to teach.
And actually I'd have to disagree with you somewhat: higher-level courses should have purely theoretical lectures, but students should get the opportunity to implement those theories in labs. Labs in CompSci?! A novel idea, I know. It's almost enough to make it into a real science...