Slashdot Mirror


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?"

255 comments

  1. Careers dont all requre coding by Anonymous Coward · · Score: 0

    But most of the good ones require a CS degree.

    And employers know this. CS programs are code intensive, beacuse they wan't to make sure you're capable of the type of logic they're looking for.

    propz to GNAA

    1. Re:Careers dont all requre coding by saden1 · · Score: 3, Insightful

      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.
    2. Re:Careers dont all requre coding by Peterus7 · · Score: 1

      What I meant to ask is... Well, I don't like coding. (Well, Perl is okay, but not Java.) and frankly I'm more interested in an informatics type deal where instead of programming I'm managing data systems, or doing things with graphics, so what I want is a way to get past the programming so I can get into the program (informatics) that allows me to do what I want to do, or is it all folly and I should just give up on my dream and go back to my old dream of wanting to be superman?

    3. Re:Careers dont all requre coding by Anonymous Coward · · Score: 0

      You can either make tools or use tools. If your studying computer science you want to make tools and your going to have to write code. If you want to use tools your looking for a different major. A CS degree wont tell you how to manage computer systems or do graphics. You might want to look into a technical or art school for that.

    4. Re:Careers dont all requre coding by Peterus7 · · Score: 1

      Informatics, actually. It's more the sociology and human side of the coding. I guess you could call it CS for liberal arts types.

  2. I got one... by Big+Sean+O · · Score: 0, Funny

    Repeat after me: "You want fries with that?"

    --
    My father is a blogger.
  3. ECE by glassesmonkey · · Score: 2, Insightful

    Most Big-Ten schools have renamed their EE dept. to be called "Electrical and Computer Engineering"

    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.

    1. Re:ECE by Anonymous Coward · · Score: 5, Insightful

      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.

    2. Re:ECE by cybermace5 · · Score: 4, Insightful

      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.

      --
      ...
    3. Re:ECE by philthedrill · · Score: 1

      Most Big-Ten schools have renamed their EE dept. to be called "Electrical and Computer Engineering"

      Actually, Washington is one of the schools where it's CSE (Computer Science and Engineering) and EE is another department.

      As for advice, find out what you're good at and what you like doing... and don't choose your major based solely on how much money you'll make when you graduate (there are many miserable lawyers because of this). Industrial Technology Education (ITED) is like a hands-on approach to using computers and networks. Chemical engineers are instrumental in semiconductor manufacturing. If you're good at (and like) math, you should consider analog/power electronics, or signal processing (all EE). I have a friend who's a very smart computer engineer... he doesn't like coding in C/C++ that much, but he told me that he found his calling in digital signal processing.

      The point is, if you're paying tons of money for school, it's worth it to take the time to find out what your skills are and what you like to do.

    4. Re:ECE by BetaJim · · Score: 1

      That is true. Virginia Tech did a similar thing with their EE department several years ago (round '98 or so.) Though what happened is that the department split into two closely related departments: EE and ECE.

      My experience in ECE there was that my time was split about 50-50 between doing hardware/electrical stuff and programming; though some courses were a mix such as microprocesser I. I really enjoyed the ECE college there.

      --

      "Drug related crime" is a misnomer, "prohibition related crime" is the more accurate and correct phrase.

    5. Re:ECE by Anonymous Coward · · Score: 1, Interesting

      EE is freaking easy (as is any engineering field). All you have to be good at is math (which is admitedly beyond many people). CS requires the ability to think, not just do as your told (engineering).

      Software engineering is just as bad... Engineering is a dirty hack, but generally practical things are most easily accomplished by dirty hacks (hence the usefulness of an engineering degree).

      Beauty: Science > Engineering
      Usefullness: Engineering > Science
      Pay: Engineering > Science

    6. Re:ECE by HeyLaughingBoy · · Score: 2, Insightful
      but if the programming in CS is too tough for this guy, then EE definitely will

      Too bad your comment is rated so low as it's probably true. The majority of people in my freshman year EE classes switched majors to Computer Science after encountering Physics and Math 101 -- I remember rooms going from standing room only first semester to mostly empty seats second semester! And a lot of those CS converts switched to Business after taking their first CS Math courses. Find what you really like to do. Life's too short to spend it hating your job(s) constantly.
    7. Re:ECE by Anonymous Coward · · Score: 1, Interesting

      No EE major I knew, including myself, had even the slightest problem with the introductory programming class (which was C++ based).

      Well, maybe you had a non-random sample set. Both of the worst coders I had to work with were EE's. One guy couldn't have written "hello world" without help. Yeah, most aren't that bad, but there was a feeling about the EE's that they had no interest in traditional programming, they wanted to make the stuff that we made programs on.

    8. Re:ECE by cybermace5 · · Score: 2

      That's a bad attitude for an EE to have. The true goal of the EE is to know about everything. This is sometimes necessary, because electrical engineering often involves significant elements of mechanical and chemical engineering, as well as mathematics, physics(especially optics and thermodynamics), biology, and computer science. Refusing to learn acceptable methods in any other branch of engineering or science is like chopping off a leg before running a marathon.

      --
      ...
    9. Re:ECE by nelsonal · · Score: 1

      It seems like the enginnering heigharchy is Chem/Electrical->CS/ Mechanical->Civil->Economics/Finance. I sort of took this route, I spent the first two years of college in EE, squeeked though linear and dif eq, even. Only to transfer into a double major econ finance in the last three years. And you know I love what I do, having a solid math background really helps in finance, and the bits of EE make reading technical papers a breeze. That being said, he might be able to hack the math and just doesn't like coding. I never really got a real buzz out of coding, I can do it and practice occasionally, but it doesn't turn my crank and I would probably not enjoy a coding job.

      --
      Degaussing scares the bad magnetism out of the monitor and fills it with good karma.
    10. Re:ECE by glassesmonkey · · Score: 1

      Of course all good midwest Universities have BOTH departments! Formerly known as EE and CIS, they are now known as ECE and CSE/CE. Washington will also soon change their EE dept name as well.

    11. Re:ECE by Mr.+Piddle · · Score: 1

      You could always try the EE route.

      Sure, drop the intro to Java in favor of four more semesters of differential equations and circuit simulation. This kid had trouble with CS 101!

      --
      Vote in November. You won't regret it.
    12. Re:ECE by PHPhD2B · · Score: 1
      No wonder you posted AC.

      If you're good at math, you're good at math. It does not satisfy the requirements for being an engineer. Being good at math and just do as you're told? Will that enable you to learn thermodynamics, physics, mechanics of materials, circuit analysis, etc? (Short answer: No.)

      Science discovers what always is. Engineers create what never was.

      --
      --I am Sun Tzu of the Borg. Resistance is feudal.
    13. Re:ECE by CBravo · · Score: 1

      I know many people who chickened out of EE, straight into CS...

      --
      nosig today
    14. Re:ECE by cybermace5 · · Score: 1

      Which is why computer science really isn't. It's pretty much just a hybrid of logic and mathematics.

      --
      ...
  4. Computer Science by justinmc · · Score: 5, Insightful

    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

    1. Re:Computer Science by Anonymous Coward · · Score: 0

      ... we haven't even been thought how to use ...

      In the south you might hear "we haven't even been learned how to"
      Do the Irish lisp, or what's going on here?
      Is this some Irish phonetic spelling of taught? (like in Boston, Worchester = Wooster)

    2. Re:Computer Science by cperciva · · Score: 2, Insightful

      No, here we are meant to learn how to write the next Windows (O/S) or Excel (Applications).

      Computer Science != Computer Programming. A good computer science program will have minimal coding requirements (just as much as is required to demonstrate the theory).

    3. Re:Computer Science by PainKilleR-CE · · Score: 4, Insightful

      Computer Science != Computer Programming. A good computer science program will have minimal coding requirements (just as much as is required to demonstrate the theory).


      You have to understand a language well enough to figure out the examples given in higher level courses. Therefore, for most people, the first year or two of a CS degree is very definitely computer programming.

      --
      -PainKilleR-[CE]
    4. Re:Computer Science by AKnightCowboy · · Score: 1
      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.

      That's funny, I had the exact opposite experience. I was able to make it through a similar class because I understood OSPF and other routing protocols. When you think of it in terms of OSPF after working with it for years it's a relatively simple concept. :-)

    5. Re:Computer Science by delete · · Score: 1

      No, I think it's just a spelling error.

    6. Re:Computer Science by cperciva · · Score: 3, Insightful

      You have to understand a language well enough to figure out the examples given in higher level courses.

      If higher level courses include *any* examples of code, they're not being taught properly. Pseudo-code (or even just pretty pictures) should be sufficient.

    7. Re:Computer Science by jhoffoss · · Score: 3, Insightful
      I agree, but this isn't how it works at most colleges in the real world. Colleges have industry at their door demanding well-educated graduates, and in CS this often means fairly proficient in C/Java/what-have-you. Granted, no one straight out of college can walk right into a developer job. But I took a software engineering course for my CS degree. Do you think that has ANYTHING to do with computer science at its core? Not a chance. But it makes for a better developer if I at leave have a clue what a development model is.

      I think nowadays, you'd have to be going somewhere like MIT or Cornell to get a *true* CS education, with high-level examples, pseudo-code, etc. and little actual coding.

      Of course, this is all my opinion.

      --
      Linux: The world's best text-adventure game.
    8. Re:Computer Science by Sentry21 · · Score: 3, Insightful

      Too true. In my computer information systems course, there were a few people who understood what programming was (even though they'd never done anything but copy javascript off tutorial websites), but most people were completely clueless.

      One girl asked me, the first time we were in the lab, 'Do these computers have HotMail?' I almost cried. A few weeks later, the fellow beside me asked me for help with a compile error that he couldn't figure out. I looked over at his screen, and saw the error. 'Missing semicolon on line 34'. I told him he was missing a semicolon on line 34 and off he went.

      People don't understand that computer science is computer work, not computer play. They signed up, most of them because they like chatting on MSN and want to make lots of money. They don't realize that there's a lot of work, thinking, and math to CS, and sometimes, it's just over their heads.

      --Dan

    9. Re:Computer Science by Dixie_Flatline · · Score: 3, Insightful

      I partly agree. I used to TA introductory courses to Computing Science, and the first thing I told my students is that if they wanted to be programmers, they should go to a different institution. We were in the business of making computing scientists.

      That said, the first year courses are all introductions to programming and programming concepts. You then take one more course in pure programming in your second year along with your logic and algorithmics classes. After that, you're expected to be able to pick up languages as you go. Classes in non-procedural programming (Lisp, Prolog), Object Oriented Languages (Java, Smalltalk), and Compilers (lex, yacc) all expect you to do a considerable amount of programming to cement certain concepts in your head. Even the algorithmics courses expected you to be able to come up with an algorithm and implement it.

      So, Computing Science is NOT the same as Computer Programming, you're right. However, the pure study of algorithmics and protocols and language without any practical element is nearly useless at the undergraduate level. Only as you get higher level degrees does it become truly possible to leave the computer behind and do all of your work on paper.

    10. Re:Computer Science by Dixie_Flatline · · Score: 1

      I should clarify that in my compilers class, we didn't study lex and yacc. They were tools that we had to use to help us write our compiler. In the other classes, we DID study prolog, lisp, java and smalltalk at the language level.

    11. Re:Computer Science by davechen · · Score: 2, Informative

      Well, I went to a pretty good CS dept (UC Berkeley) and we did a heck of a lot of coding. For the compiler class, we wrote a compiler. For the OS class, we wrote multi-threaded, producer-consumer code. For the graphics class we wrote a software renderer.

      You could avoid all that coding by doing more theory and hardware classes, but that would be pretty unusual.

    12. Re:Computer Science by cpex · · Score: 2, Insightful
      i also agree the cs != programming but for a computer scientist code is the language you speak to precisely express your ideas. Just like being a lawyer is not speaking legalese, and being a doctor is not just about knowing all the names of our body parts and names of medicines. However a doctor who says "hey hand me the knifey thinging and hold that red squishy thing there behind the other red squishy thing and stop that red stuff from spraying all over" during surgery is not going to be a doctor for much longer neither will a computer scientist who can't write c or java (languages are only example i am making no claims about superority of any language)or at least have enough expereince in languages to pick it up right away be a computer scientist for much longer.

      The particular choice of language is not relevant as long as it allows you to express what you need too, In fact most of the time when designing an algorithm pusedo code (of course all our pusedo code is almost C ) is a the way to do it, and later choose whatever language you feel can best express the algorithm. By your senior year you should be able to pick up any language and be functional within a day or two. Right now i feel comfortable with c/c++, java, perl, sparc asm, oberon (i am writing an oberon compiler), sql. But i dont know a thing about (ok maybe a few things but..) C#, python, php, or visual basic. But i know that if tommorow my professor said i want you to write an application that does x and use C#, I could grab a book look up the basic syntax and language features, and avaialble libraries and be on my way. Dont get me wrong i am not saying i can be an overnight expert in C#, but can be functional overnight.

      I think some people have problems coding because it looks like english but its symantics are very mathmatical and the state of the public education system at least here in the us is not very strong on mathmatics, and many kids leave high school heading to college who barely survied two years of algebra and maybe a geometry course ( worse for some not headed to college) and believing that they have seen the highest levels of math they ever will need. Well sorry thats not the case.

    13. Re:Computer Science by General+Wesc · · Score: 2, Funny

      Does it make a difference? I had one teacher who would write examples in Ada, Pascal, C, Scheme, Prolog, COBOL, his own made up language. . . Occationally there would be notation we had to ask about (for dereferencing and such), but for the most part, programming is programming. So long as you understand the three main paradigms (imperative, functional, and logical), reading simple examples in the language should be trivial.

      Here's some pseudocode I wrote earlier this semester:

      char **workerargv; foreach $param (@workerargv) {$param = new char* atos(tmpn);}
      C, C++, Perl, and some mathematical notation. Why use fake English when fake programming is more concise?
    14. Re:Computer Science by TwistedGreen · · Score: 1

      That's like saying that knowledge of mathematics (the notation) is not a prerequisite for the understanding of mathematics (the theory). Here, they use the same word--"mathematics"--because the two, while not equal, are inseparably related.

      This ultimately boils down to a linguistic argument, in my opinion. True, you can understand concepts without a language, but how do you express them? Learning to code--which is essentially learning how a given language can be manipulated by a programmer--is an essential part of computer science theory since it provides a framework on which these concepts can grow. Learning how computers and operating systems work is directly dependent on knowing how they are programmed and being able to program them.

      This "CS without programming" makes about as much sense as calculus without derivatives. You might be able to understand the concepts, but you can't express them. At least, not easily.

    15. Re:Computer Science by Daniel+Dvorkin · · Score: 2, Insightful

      So, I've got to ask -- where do you think programmers should come from, if not from CS? Yeah, it's possible to teach any b-school monkey to throw together Visual Basic widgets, but that's the kind of "programming" that leads to so many real-world applications being bloated and buggy. We need computer scientists writing code to ensure high-quality products.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    16. Re:Computer Science by cperciva · · Score: 1

      We need computer scientists writing code to ensure high-quality products.

      No, we don't. We need computer scientists designing software. The coding can be done by monkeys (or half the population of India, these days...)

    17. Re:Computer Science by Telastyn · · Score: 1

      Note that this doesn't just apply to computer science.

      I majored in Aeronautical Engineering. Yeah, it'd be cool to do stuff with planes, sit at a computer and do modelling and design... Aeronautical Engineering isn't sitting a computer and doing design. It's mechanic work. Surely there's a design portion where there's kind of lab coat architecture, just like there's structure design work with coding, but most of your time is spent hammering away at things.

    18. Re:Computer Science by ameoba · · Score: 1

      Of course, if the article poster is whinging about there being too much programming in an intro Java class, how do you think they'd feel about churning out stacks of rigorous proofs?

      --
      my sig's at the bottom of the page.
    19. Re:Computer Science by Brandybuck · · Score: 1

      Computer Science != Computer Programming

      And likewise, Mathematics != Arithmetic. But you had damn well be able to do arithmetic before you can do any meaningful mathematics.

      --
      Don't blame me, I didn't vote for either of them!
    20. Re:Computer Science by jbplou · · Score: 1

      I majored in BIS and the programming is easier then Comp Sci no doubt. But I still had many programming courses and if you can't get through the intro class you won't be able to get through the database and advanced programming classes. BIS focuses on applications for Business use while Comp Sci focus deeper into the Computer architecture. The programming courses I took were much more difficult then intro courses which start out with things like hello world and sorting arrays.

    21. Re:Computer Science by BitGeek · · Score: 1


      WTF?

      What you're talking about is "Computer Philosophy".

      Computer *Science* involves getting your hands dirty.

      If you aren't ready to write code, you have no business studying computers (unless you're a hardware guy, in which case you should still write some code, but not that much.)

      If you can't write code, you should not get a computer science degree.

      The worst thing about college CS Majors these days is they get too much theory that doesn't serve them in the real world-- I'm amazed to hear someone say they shouldn't have to write any code.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    22. Re:Computer Science by BitGeek · · Score: 1


      You guys are just wout of touch. I cannot talk for Cornell, but I know people who go to MIT.

      You start programming your first year at MIT even if you AREN'T a CS major.

      Your'e right that they have a real CS program-- its a true CS program because they teach you everything, hardware, software, electronics, theory and you do a LOT of programming.

      IF you have done little actual programming when you got out of college, you know nothing about computer science.

      I know it probably sounds ideal to you guys to just sit and think about theory, but it doesn't serve you well. Unless you're build computer architectures or electrical engineering-- in which case you still need more software development experience than you seem to want.

      Software engineering IS the core of computer science. Unless you're building hardware, you're building software. There are no other computer related disciplines.

      Coding IS what its all about. Unless you want to graduate and be able to annoy people at cocktail parties but be completely unable to keep up with your peers at a job.

      Straight out of college someone SHOULD be able to walk right into a developer job.

      Why do you want them to be even less able to?

      I cannot fathom why you would prefer theory over practice. In theory there is no difference between theory and practice. In practice, there is. Great CS programs give you a lot of practice and enough theory.

      IF you want to get rid of the practice, the theory will not stick with you very long..... sounds like a setup for someone to be a manager of programmers-- and possibly the worst manager ever who thinks things should work a certain way because theory tells him, but has no clue about the practice of software development.

      High level examples and speudo code and little acutal coding means: Easy easy easy. No thinking, no hard work.

      You know what the body builders say-- no pain, no gain. No code, no computer science.

      Software development is what computer science IS.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    23. Re:Computer Science by BitGeek · · Score: 1


      You were in the business of making people who had no practical skills?

      That's just silly. There is no difference between Computer Programming and Computer Science because Computer Programming includes all the Computer Science in Computer Science plus, it sounds like, even more.

      Its this stupid anti-productive anti-capitalists "We're going to learn only USELESS things!" attitude that I see coming from you guys. Just foolish.

      If you leave the computer behind and do all your work on paper, you are not doing computer science, you are doing mental masturbation.

      You know, I never thought that computer science programs would go the way of philosophy and psychology-- and become theory based, unconnected with reality, pseudo-science programs.

      What's next, computer poetry as a major?

      No wonder you guys are turning people out who can't program, can't think and don't have much of the theory-- you've rejected the science in computer science.

      Hell, you've rejected the computers!

      If you're doing your work on paper, you're not a computer scientist-- you're a luddite.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    24. Re:Computer Science by BitGeek · · Score: 1


      Ah, now I understand.

      You guys have never actually written a commercial program, have you?

      If you think you can sit an design a program and have "monkeys" as you called them-- code it. Then you're deluded.

      IF you think this is a superior way to go about it, then you're confused beyond redemption.

      Wait til you actually write software for a commercial endeavor, and then lets see what you think about having "monkeys" write your code.

      The reason those guys in india are getting so much work is that they are COMPUTER SCIENTISTS . They are PROGRAMMERS. They have Masters degrees just as good as yours and all the theory you could want.

      They don't need you to design it for them, they can do that themselves.

      In the olden days the lowest level person in the software department was the programming analyist-- all they did was figure out what the customer wanted and communicate that to the programmers-- you know, the ones with the theory and the ability, to write programs.

      You want to reduce the output of CS programs to that? To people who can't program, but can merely tell others what to do, and get coffee for them while they are at it?

      Get this straight: you CANNOT design software without knowing how to write it. And even in my day CS programs didn't teach you enoug habout how to write it.... now they apparently teach you even less.

      Knowing hte language is not enough-- knowing how to work with people and how to design programs that are implemented by groups of people and do so well-- is a whole different skills set, that has nothing to do with CS theory, but that will bite you in the ass and make your products suck really bad if you just sit back and "Design" while letting "monkey's" implement it.

      If you are a CS graduate, then you would have been better off getting a job instead--- clearly that college has made you worse, not better.

      You have NO CLUE what it takes to make high quality products.

      I've spent most of my career in software development, and I know its hard-- even experienced professionals have trouble making high quality products. Some "designer" who wants to sit back and direct people would be quickly ostracised and then ignored by a team of Computer Scientists who knew what they were doing.

      And when you called us "Monkeys" you'd be fired.

      You got a lot of work to do to get back to square one dude. I just hope it turns out you're a freshman and your program will actually make you into a real computer scientist, instead of some clueless "Designer" who is beyond useless.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    25. Re:Computer Science by BitGeek · · Score: 1


      And pretty useless. I'm glad to see that UCB hasn't regressed.

      It would be nice if colleges had team programming and simulted an actual software development project at least once-- and let people experiment with team programming, extreme programming, and then traditional design, develop, test programming....

      Even better would be a programming assignment that changed as the students were implementing it!

      All that could be done in one class, one semester and help them a lot.

      Berkeley is one of the higher rated CS programs in the country, in the top ten if I recall.

      And it seems like its not an ivory tower theory only program either... so I don't know what these "I don't want to get my hands dirty with the monkeys" guys are smoking.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  5. Oh dear. by Anonymous Coward · · Score: 0

    I guess this is part of the reason why there are an excess of IT techs. Programming isn't as easy as many think.

    In general (and based on observations of my CS classmates) I would say that unless you can program before you even start a computer science degree (even just working knowledge of Basic - or in this day and age, Python [IMHO, Perl is next to useless as a teaching language because it's a mess]) - you're probably wasting your time.

    If you've been hacking on code since high school, you're probably fit in nicely.

    /computer science graduate

    1. Re:Oh dear. by YouMakeMeSoANGRY · · Score: 4, Interesting

      1) Coding isn't as hard as most coders would like to claim. All it requires is the ability to think logically, and a bit of practice.

      2) One of my best friends at Uni who got a 1st had done no programming before starting his degree.

      3) Many of the people who had been 'hacking on code since high school' actually did less well than they thought they would as they had preconcieved ideas about just how good they were.

      (I'm also a CS graduate)

    2. Re:Oh dear. by nickos · · Score: 2, Insightful

      It depends what you're coding. If you're just programming Java then you're right - it's not that hard, but there are areas where programming is difficult. At these levels coding is an aptitude - you've either got it or you haven't.

    3. Re:Oh dear. by YouMakeMeSoANGRY · · Score: 3, Insightful

      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.

    4. Re:Oh dear. by TheLink · · Score: 1

      "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?"

      With Java even less than perfect programmers can write a network server without fear of remote root exploits.

      "The 'hard' part in writing a program is how to attack the problem"

      Not if you are trying to write securely & safely in C. So far I only know of very few people who can write securely in C.

      Writing in C is like walking from A to B but having to control each and every joint of your body individually. Screw things up and you are in for a world of pain.

      Writing in a higher level language frees you from this - you just need to figure out the best path from A to B, and a few other high level stuff - lots of other people have done the hard work of doing the nitty gritty.

      Of course the MIS people just need to learn enough to write high-level memos to programmers ;).

      --
    5. Re:Oh dear. by Anonymous Coward · · Score: 0
      1) Coding at CS undergraduate level is hard.
      The poster said "Programming isn't as easy as many think". Nothing was said explicitly about "coding at CS undergraduate level". I'm not even sure what that means.
      We learnt very quickly to think in terms of the problem not your favourite language.
      Then you probably were not utilizing all of the facilities of the langugae appropriately. Design of purely functional and object oriented systems is not the same and requires you to think in different terms.
    6. Re:Oh dear. by Coltman · · Score: 1

      I always find it truely amazing that when I see people write what a programmer is, they are never truly modded up to a decent level.

      I have come up with a new parrallel that I use to explain the difference. Programming is a lot like telling a story, Coding is like writing a book. Writing a book is easy, and can be done in many languages. Telling a story - thats the hard part, and can be done in any language. With the knowlege that the language will have the techniques to accent and inhance the story to its fullest form.

      --
      - my $.02? - you can't have it...it's all I have!!
    7. Re:Oh dear. by E_elven · · Score: 1

      >1) Coding isn't as hard as most coders would like to claim.

      Coding is easy. Software engineering is hard as hell.

      --
      Marxist evolution is just N generations away!
    8. Re:Oh dear. by Colonel+Panijk · · Score: 1

      All it requires is the ability to think logically,

      Oh dear, that rules out the vast majority of people, doesn't it?

      (CS graduate with 22 years experience, will code for food)

    9. Re:Oh dear. by jerald_hams · · Score: 1

      "Coding isn't as hard as most coders would like to claim"... Mostly anyone (grandmas, monkeys, LAS majors), can memorize the basic tricks of C++ and start churning out functional code in little time.

      My parents own a crash-course computer school. Immigrants, career-changers and miscellaneous riff-raff come in, sit through 14 weeks of labs and lectures, and off to the job market they go. They've learned C++ and their code works. BUT, the quality of the code is horrible...and improvements won't come with another quick-fix training session.
      Though coders may be common, good ones are rare. (Check sourceforge projects for further proof)

      -Jerald Hams

    10. Re:Oh dear. by YouMakeMeSoANGRY · · Score: 1

      > Though coders may be common, good ones are rare

      I agree.

      However, getting back to the original point, CS programs generally require adequate rather than excellent SE skills as CS isn't just about code monkeying. A lack of prior programming experience is most certainly not a massive hinderance.

  6. cognitive science & hci by kndnice · · Score: 3, Interesting

    i study cognitive science (specializing in computation and human-computer-interaction [hci]). this field is basically the abstraction of interactions but without doing hardcore programming.

    i started out as computer science and engineering and didnt like how it pigeon-holed students. cognitive science is a great field involving computer science, neuroscience and psychology.

    (MIT's media lab is a cogsci lab)

    1. Re:cognitive science & hci by Anonymous Coward · · Score: 0

      hci == losers. face it, you couldn't handle real computer science.

  7. EE Info by ezelkow1 · · Score: 2, Interesting

    I am currently an EcE student at Purdue. Personally, i find the electrical sections of an ECE degree to be much harder than the programming elements, but thats just me. At least here, with a Computer engineering degree there is still a fair amount of programming that you have to do. 2 C courses, 1 course in ABEL (hardware programming), 1 Course in advanced data structure programming using C/C++, 1 Course in VHDL (integrated circuit design and programming), and those are just the ones ive gotten to. I believe there are a few more.
    As far as a degree in computing without much programming you are probably going to have to look into IT administration or networking, I would think those routes would have less programming involved. Just ask an counselor at a school that provides these degrees.

  8. No Help Here ... by Mad_Fred · · Score: 1

    I'm over in Sweden, and all I can say is that we've got the same problem here, for many people programming is the main stumbling block in their informatics studies. On the other hand, you can "get away" with very little programming here if you pick the right courses. Basically someone studying informatics at my uni only really has to learn and use programming for a total of maybe 10 weeks during the first semester, after that it's entirely possible to pick courses that don't include programming all the way to your degree. You do miss other good things that come in those courses though, so many people get stuck with more programming than they'd really like because other things in the same course are valuable. But I know this varies a lot between universities as well, around here we get a lot of science philosophy and similar stuff that people at more technically oriented unis are spared (no I didn't like it much at first :-).

  9. Sorry... by DarkDust · · Score: 4, Insightful

    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

    1. Re:Sorry... by sigxcpu · · Score: 1

      There is also the possibility thet he just has a bad teacher.
      There is no reasone why an intro course in jave should not be fun.

      Some teachers don't understand that an intro course has to be structured properly and not leave a lot for the students to fill in.
      In an advanced course you can skip alot and let the students work it out on their own, ( less work for the teacher...), but in an intro course it is not fair to do that.

      He should try reading a good Java book and see maybe Java is not so bad, only the teacher.

      --
      As of Postgres v6.2, time travel is no longer supported.
    2. Re:Sorry... by Anonymous Coward · · Score: 0

      "He should try reading a good Java book and see maybe Java is not so bad, only the teacher."

      A good teacher can perhaps inspire many students even to put up with something like Java. But Java is a boring, dull, tedious choice for an introductory CS course.

    3. Re:Sorry... by ajagci · · Score: 5, Insightful

      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.

      No, he shouldn't be "thankful". Quite to the contrary. LISP is an interactive, dynamically typed language, which makes it great for introductory CS teaching. So are Python, Basic, Logo, Ruby, and many others.

      Java is a statically typed, compiled language with enormous libraries and messy, complicated development environments. That makes it a poor choice for an introductory course.

      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 !

      For someone who already knows programming, that's true. But these students are supposed to learn programming.

      Your argument actually supports what I'm saying: you should teach students programming in a language that is well-suited to the task of teaching and that doesn't burden beginners with irrelevant and complex features. You should also teach in a language that doesn't narrow the view students get of CS; sadly, Java is a one paradigm language, and a very limited paradigm at that. Once they have learned programming in a teaching language, as you say yourself, learning another programming language is easy.

    4. Re:Sorry... by phrasebook · · Score: 3, Interesting

      You should also teach in a language that doesn't narrow the view students get of CS

      I agree. At my uni the very first programming class any CS/SE/CE student takes is done in Haskell, of all languages. I think a lot of people found it difficult to think in that language, perhaps because they had already used, or were expectig to use, Java or C++ or similar. I didn't much like it at the time but looking back, it was an excellent choice for an intro class. Touched upon a lot of concepts that I didn't see for years after in C++ and Java coding, even simple stuff like recursion. Makes you think differently. One of the better COMP classes I've taken!

    5. Re:Sorry... by sigxcpu · · Score: 1

      Java might be boring, but his assignments don't have to be.

      I'm jusst guessing, but from the use of the words "not up to it" it seems that his problem is that he was given tasks but not a clue on how to do them,
      hence the referral to a good java book.

      If he would have complained that java is boaring I might have agreed with you, allthogh usually I would attach the title `boaring` to a task not to the tool used to solve it.

      --
      As of Postgres v6.2, time travel is no longer supported.
    6. Re:Sorry... by noselasd · · Score: 3, Insightful

      Really ? There are thousands of things to do with a computer
      besides writing programs for it.
      * Administration, you don't really need much programming experience to administrer a large site of e.g. Active Directory controllers.
      * Network planning/engineering..
      * Application useage, e.g. modelling in Maya , 3D theory.

    7. Re:Sorry... by StrawberryFrog · · Score: 1

      No, he shouldn't be "thankful". Quite to the contrary. LISP is an interactive, dynamically typed language, which makes it great for introductory CS teaching.

      Back in the day I tutored 1st year students doing scheme. It was good that they learned the functional paradigm early, and it was good that the amatuer hackers were on a par with the newbies in an unfamilar language, but The Pain, The Pain! The syntax is not newbie friendly, and finding bugs and misplaced brackets with them was very frustrating.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    8. Re:Sorry... by (trb001) · · Score: 2, Insightful

      Java is a statically typed, compiled language with enormous libraries and messy, complicated development environments. That makes it a poor choice for an introductory course.

      On the contrary, that makes it an excellent language to learn with because you don't suffer from the "shooting yourself in the foot" syndrome. This is the exact reason why CS classes in nearly every high school while I was that age taught programming in Pascal...the compiler will catch the programmer assigning an int to a string then testing it like a boolean. Beginning programmers shouldn't have to worry about these things, they should be grasping the larger concepts language structure and the first algorithms.

      What have CS courses switched to? Java. Why? First off, Javadoc. You head over to Javas resource page and you have an easily indexed hierarchy of all the base Java classes. Secondly, Java reads like English. Sadly, System.out.println is probably the most useful and complicated statement a beginner will learn, but look for any Java source and you can practically read, in English, what the code is doing.

      --trb

    9. Re:Sorry... by DarkDust · · Score: 2, Insightful

      Really ? There are thousands of things to do with a computer besides writing programs for it.
      * Administration, you don't really need much programming experience to administrer a large site of e.g. Active Directory controllers.

      An administrator who can't write scripts (scripting counts as programming, IMHO) to automate task isn't worth the money in my world. Especially when managing large sites you won't get very far with just the GUI's provided by MS and third-party companies. Even more so when there are UNIX systems around.

      * Network planning/engineering..
      * Application useage, e.g. modelling in Maya , 3D theory.

      I didn't know you had to study to use Maya... but on second thought... ;-) Seriously though, the one who asked this "Ask Slashdot" said "or perhaps any general methods for surviving computer science courses for new students?", and if you don't learn at least the programming basics you simply won't survive this.

    10. Re:Sorry... by cdrudge · · Score: 1
      Secondly, Java reads like English. Sadly, System.out.println is probably the most useful and complicated statement a beginner will learn, but look for any Java source and you can practically read, in English, what the code is doing.
      If you want English readability, go with Cobol. It was originally designed so that beancounters could program using their "language".
    11. Re:Sorry... by Dixie_Flatline · · Score: 1

      Ugh, Java is a terrible language to teach in. It's far more than is required. Because it's taught at a straight procedural programming language at the beginning to avoid confusing students, they pick up all sorts of bad habits and use the language very poorly once they get out of that class. It takes a while to retrain them to use Java properly and in the Object Oriented fashion for which it was intended.

      Pascal and Modula-2 are excellent teaching languages. Assembly, to an extent, is also an excellent teaching language. Getting students familiar with the computer early on usually pays off in the end. C is a bit obtuse as a teaching language, but it's what we used to do all our work in after our second year. Java is a wonderful language to teach OO classes with - far better than C++.

    12. Re:Sorry... by yod@ · · Score: 2, Insightful

      to mention any decent self respectin admin better be able to tool through some C to fix a dumb compile error.

      Shell perl C at least a decent understanding..

      Make -- dunno how many times ive had to fix makefiles to point to the right shit on various non linux platforms building OSS on them.

      Understanding the computer from ground up has helped me tremendously throughout my career. This means understanding how CPU work how memory works
      how software interacts with software..

      I dunno how you can get off saying an admin doesnt need to know how to program.. an admin that cant automate is gonna be a tired and angry admin :P

      --
      Sorry man I don't controll the aliens.
    13. Re:Sorry... by Anonymous Coward · · Score: 0

      Haskell isn't LISP though.

    14. Re:Sorry... by yod@ · · Score: 1

      damn shouldnt post so early :P

      --
      Sorry man I don't controll the aliens.
    15. Re:Sorry... by Eponymous,+Showered · · Score: 1

      Scheme has (almost) no syntax. Maybe it the lack of syntax that is not newbie friendly.

      As far as misplaced parens, Emacs and show-paren-mode are your friend.

    16. Re:Sorry... by deanj · · Score: 1

      It's not Java's fault that it's taught as a procedural language. It's the teacher's fault for teaching it that way. They shouldn't be using it as an intro course.

      You're right on the rest it though. Teach something else first, teach Java for the OO course and more advanced stuff later.

    17. Re:Sorry... by ajagci · · Score: 2, Insightful

      On the contrary, that makes it an excellent language to learn with because you don't suffer from the "shooting yourself in the foot" syndrome.

      In intro CS classes, programmers shouldn't write applications that are large enough for that to be a concern.

      This is the exact reason why CS classes in nearly every high school while I was that age taught programming in Pascal...the compiler will catch the programmer assigning an int to a string then testing it like a boolean.

      The reason high schools used Pascal was because it was a fashion to do so, just like it's a fashion to use Java now.

      What have CS courses switched to? Java. Why? First off, Javadoc. You head over to Javas resource page and you have an easily indexed hierarchy of all the base Java classes.

      Java's automatically generated documentation is about as un-didactic and scary to a beginner as any kind of documentation could be. And even for experienced programmers, that kind of automatically ground out documentation junk is perhaps better than nothing, but that's about the best one can say about it.

      Secondly, Java reads like English. Sadly, System.out.println is probably the most useful and complicated statement a beginner will learn, but look for any Java source and you can practically read, in English, what the code is doing.

      It is highly doubtful whether "reading like English" is a desirable feature in a programming language, even if Java did "read like English". That's because Java certainly doesn't behave like English, so why should it give the impression that it "reads like" it? Of course, in reality, it's hard to see what is so English-like about constructs like "if(...) { ... } { ... }".

    18. Re:Sorry... by ajagci · · Score: 1

      Sure, I agree: the syntax is a bit of a hurdle with Scheme, and the fact that there is no redundancy in its nesting invites errors. But there are good introductory programming environments for Scheme that pretty eliminate that problem. Furthermore, understanding Scheme syntax is in itself a useful learning experience.

      Java syntax may be a little more "robust", but it has its own problems, in that it contains a lot of ad-hoc syntactic constructs; and unlike Scheme, with Java programmers really have to learn all that syntax before they can become productive.

      In terms of syntax, I think languages like Python, Ruby, and some forms of Basic strike a good middle ground for education, having "mainstream" syntax on the one hand, and an interactive dynamic programming environment on the other. I don't think they are necessarily better introductory programming languages than Scheme, but they fit better into a curriculum where students will eventually have to deal with languages like Java, C#, and C anyway.

    19. Re:Sorry... by frantzdb · · Score: 1

      If you want to use Maya in an advanced way, you do have to study. For example, there's MEL scripting.

      --Ben

    20. Re:Sorry... by Anonymous Coward · · Score: 0

      You're right, it's better.

    21. Re:Sorry... by Dr.+Sp0ng · · Score: 3, Funny

      If you want to use Maya in an advanced way, you do have to study. For example, there's MEL scripting.

      Not to mention all the, uh, art stuff. I hear they have degrees in art these days.

    22. Re:Sorry... by JavaLord · · Score: 1

      But Java is a boring, dull, tedious choice for an introductory CS course.

      Huh? What language would you recommend then? Java is actually a good language for a intro into CS. Most of the Java libraries abstract a user from the nitty-gritty detail and allow a CS-101 student to do some nice things.

    23. Re:Sorry... by Anonymous Coward · · Score: 0

      Assembly, to an extent, is also an excellent teaching language

      oh yeah, the non-comp sci majors that have to take CS-101 will love that.

    24. Re:Sorry... by Dixie_Flatline · · Score: 1

      We actually had that at my University a couple years into my degree. The introductory courses taught about hex, assembly and all sorts of other things. If you come in as a blank slate, there's nothing wrong with assembly at all. It's slow, but you understand the how and why of all computer languages after that.

    25. Re:Sorry... by AllUsernamesAreGone · · Score: 1

      In intro CS classes, programmers shouldn't write applications that are large enough for that to be a concern.

      Wrong, any program is large enough for a beginner to be caught out by a language that doesn't hold their hand. I teach introductory level C courses (mainly to to bioinformaticians as part of a DL Msc programme) and many of the problems my students encounter at the start are down to the language letting them get away with things that they don't mean, don't understand and don't know how to fix. Of course, it doesn't help that in many cases they tend to ignore the warning messages from the compiler.. but since C compiler warnings tend to be even more arcane than the language, that's not too surprising...

    26. Re:Sorry... by ajagci · · Score: 1

      Wrong, any program is large enough for a beginner to be caught out by a language that doesn't hold their hand.

      Languages like Scheme actually "catch out" every error that Java catches out, and they have far better type checking than languages like C. Furthermore, educational environments for languages like Scheme give students a lot more handholding during both development and debugging than any of the existing Java environments.

      I teach introductory level C courses

      Maybe you shouldn't, then.

    27. Re:Sorry... by Bombcar · · Score: 1
      No, he shouldn't be "thankful". Quite to the contrary. LISP is an interactive, dynamically typed language, which makes it great for introductory CS teaching. So are Python, Basic, Logo, Ruby, and many others.
      <GEEZERMODE>
      Why, when I was a CS student, we had to do everything in static languages, frickin' wires! We didn't even have no stinkin' lights. Had to read the results of our programs by getting shocked with 220VAC! Stinkin' kids and there damn Dc current, wimps, I tell you....*mutter*
      </GEEZERMODE>
    28. Re:Sorry... by AuMatar · · Score: 1

      Two big problems with that

      1)We want to teach them programming concepts, not how to use libraries. In fact, if they need to use many outside function calls at all, you've screwed up the assignment

      2)Teaching OO to novices is not good. Its confusing, and it doesn't add to their understanding of the basic concepts. It also leads to the modern misconception that OO is better for all things.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    29. Re:Sorry... by BitGeek · · Score: 1


      I think that could be an excellent system...very excellent.

      Start with Assembly.
      Then in the next semester, teach them C. Datastructures, procedural stuff.

      Then teach object oriented programming with Java.

      That could well be the best way to go. I taught myself assembly before I ever went to college, but prior to your post I would have suggested Java as a first language... but your're right-- I think assembly would be excellent. Then with C as the next step, its only one degree removed from assembly... and Java shares the syntax to some extent, and is a good OO language. In the end they have two of the most common languages under their belt.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    30. Re:Sorry... by BitGeek · · Score: 1


      Yeah, all of which are "trade school" type tasks.

      Computer Science isn't required for them, and they are not things that should be taught in computer science.

      The end all, sole purpose for computer science is to teach computer programming-- the entirety of the non-hardware design side of computers.

      Computer Engineering for those who want to layout motherboards. Computer Science for the programmers.

      If you're going to be an admin, don't go to college-- its just a waste of time. Teach yourself on the job and save $30,000 and end up making twice what your peers who went to college to learn how to be a network admin do when they graduate.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  10. Instructional Technology by teknikl · · Score: 3, Interesting
    The science of using computers with the goal of educating people. The computer side isn't nearly as hard as dealing with the people.

    I took the masters program offered by the Bloomsburg University IIT. The program covered the use of modern multimedia tools and techniques (and some light programming) in conjuction with instructional design and task analysis.

    There are quite a few other similar programs out there - be mindful that there is a whole track at other colleges focused simply on instructional design - thats not not as technical and tends to focus on academic issues regarding computers in education and CBT.

    One of the most interesting things you can with this degree is get an Instructional Technology Specialist certificate. Then you are certified to direct technology operations for an entire school district. Now you're working with people!

  11. Maybe your should re-think your career? by Captain+Kirk · · Score: 4, Interesting

    If an Introduction to Java involves too much coding, perhaps this will never be the field you feel really happy in. There's a huge difference between liking computers and choosing to spend your life with them. You will spend almost a third of your life working so avoiding things that don't make you feel good is very important.

    Why not take a little time to visit your university career guidance centre, do a few psychometric tests, chat with an adviser and see if there might be a career you are happier in?

    1. Re:Maybe your should re-think your career? by AKnightCowboy · · Score: 1
      If an Introduction to Java involves too much coding, perhaps this will never be the field you feel really happy in.

      I disagree. Just because you're not happy coding doesn't mean you can't go into computer science. There's a hell of a lot more to computer science than first year programming classes. The trouble is that most colleges treat computer science as a major to teach people how to become code monkeys and that's generally pointless since those jobs are going to India.

  12. Computers and ? by Zarf · · Score: 4, Insightful

    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]
    1. Re:Computers and ? by Peterus7 · · Score: 1

      I'm actually thinking of doing that. Have you heard of deep brain stimulation? That's a fascinating field, and I've been taking a lot of classes in psychology/neuroanatomy in hopes of getting into it.

    2. Re:Computers and ? by FreeForm+Response · · Score: 1

      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.

      Since this is exactly what I am doing at college, I second this suggestion. =)

  13. Then... MIS is for you by SkewlD00d · · Score: 1

    Management Information Systems: you dont do shit but maybe VB, Fortran or some other equally worthless language. Of course, you're not exactly qualified to do anything either... Btw, my CS degree didnt require very much coding... it's mostly irrelavent theory, math, algorithms, and the occasional program. Coding is a monkey-skill, soon to be outsourced to India or made obsolete by better languages/engineering methods and higher-level scripting. Ideally, you should be able to write code w/o any redundant structures, algorithms, lines, etc. Look into Abstract Syntax/Semantic Languages, and Graph-based Programming.

    --
    The biggest trick the devil pulled was letting lawyers become politicians so they can write the laws.
    1. Re:Then... MIS is for you by neillewis · · Score: 1

      Anyone else remember The Last One from the eighties? It seems like a 4GL that will free management from pesky programmers is always just around the corner.

      Programming is a *creative* skill, at least the way I do it...

    2. Re:Then... MIS is for you by Anonymous Coward · · Score: 0

      Why isn't this modded either -1 Troll or +5 funny?

    3. Re:Then... MIS is for you by eggoeater · · Score: 1

      Unless you're actually expected to provide entire MIS solutions, like my MIS group was responsible for, in which case it's handy to know database design and programming (SQL), write custom web pages to get user data for more specific queries (asp, vb, html, javascript, ADO), or you're expected to generate flat files out of a database in nightly jobs on a unix box (kron script, perl, java, awk/sed, SQL*Plus, PL/SQL).

      Well, you get the idea. I've worked in several programming areas (I'm a telephony programmer now...) and the most coding I ever did was in the MIS group.
      -Steve
      --My dog ate my sig.

  14. well, there are alternatives, but... by ajagci · · Score: 3, Informative

    You could study applied math, electrical engineering, computer engineering, cognitive science, human-computer interaction, psychology, etc. All of them involve high-tech and aspects of computer science, but they won't make you do lots of programming initially. However, when you actually work in them, it will be hard for you to avoid programming anyway, and you will be less prepared.

    If you hate your intro CS course, chances are that the intro CS course is just poorly taught. And Java itself is a pretty questionable choice as an intro CS language in my opinion: it's tedious, it's sluggish, and has enormously complex libraries. It also is based on a very narrow view of what programming is and how people should build abstractions.

    I'm not sure what you can do about that. Switching majors within your university is one choice. Switching universities might be another if you think that that kind of teaching is common at your university. Or you may just sit through this and hope that it improves. It depends on how much you are dedicated to CS. Your university may also treat this as a kind of hazing ritual, to weed out people who just aren't all that interested in CS after all.

    One think you can do is have a look at the intro CS lectures at other universities and see how they compare (MIT's 6.001 is a good course to look at); maybe that would help you make up your mind whether you just dislike your course or whether you dislike the field.

    1. Re:well, there are alternatives, but... by Anonymous Coward · · Score: 0

      It really boils down to knowing what you're getting yourself involved with. Even after defining each major/category, you still won't know. A bachelor's in anything is mostly theory and concepts. Most students will be frustrated why they have to learn such boring dated material.

      It's all about learning to walk before you run. Computer science may not be for you. Maybe IS or IT, or BIS (business information systems) or a certification.

      I know engineers who hate program and I know engineers who love programming. If it doesn't grab you then don't do it. You don't have to.

      Then again, you could read hundreds of man pages and figure it out yourself ;)

    2. Re:well, there are alternatives, but... by ajagci · · Score: 1

      Then again, you could read hundreds of man pages and figure it out yourself ;)

      Personally, I find that a lot more exciting compared to hearing someone drone on for months about Java and their silly ideas about "good" OO design.

  15. Human factors by tengwar · · Score: 3, Informative

    Have you considered studying human factors (i.e. user interface design)? It's a small field, but when I've employed people for this they've really made a huge difference to the quality of my software. No coding is needed, but HTML is often required and it's sometimes useful to be able to craft a demo interface in a prototyping environment such as VB.

    1. Re:Human factors by mjeffers · · Score: 1

      Human factors is a great choice for people who are interested in technology but don't want to program. Its what I'm doing now (English Major, CS Minor) and balances my interest in technology and people and my hatred of math perfectly. If you're interested I'd consider minoring in CS and majoring or at least taking a lot of courses in psychology and getting a basic grounding in design. Library science is also useful for its focus on making it easy to browse and search through large amounts of information.

    2. Re:Human factors by Peterus7 · · Score: 1

      That is actually one of the things that interests me, human interfaces, and how people interact with computers (one of the big parts of Informatics, or so I'm told...) Odd thing is I did some Perl and a little VB before this class, and I did just fine. It's just that with Java I hit a brick wall.

    3. Re:Human factors by Anonymous Coward · · Score: 0

      human factors majors suffer from 2 problems. 1) they can't get jobs, because they don't know anything. 2) they only have a hammer and think everything is nails. every problem they see is a human factors problem, not one that could be solved with math or algorithms or anything like that. so they end up not knowing anything and not being able to do anything useful, since i really did want a program to do something for me, not just a GUI that makes me do it myself.

  16. Help me! by Anonymous Coward · · Score: 5, Funny

    I'm taking a degree in Baking, but I don't like kneading dough. Can anyone suggest a university where I can get by the minimum amount of getting flour on my paws?

    Hugs n Kisses

    -Junis

    1. Re:Help me! by Anonymous Coward · · Score: 0

      I'm taking a degree in Baking, but I don't like kneading dough. Can anyone suggest a university where I can get by the minimum amount of getting flour on my paws?

      Am I the only one that read this as

      I'm taking a degree in ba n king, but don't like .....

      --
      This sig is intentionally like spam
    2. Re:Help me! by Anonymous Coward · · Score: 0

      I'm paid to maintain a network of computers, but I'd rather post on Slashdot. Can anyone suggest a network where I can get the minimum amount of user interaction?

    3. Re:Help me! by ameoba · · Score: 1

      No, but I know a good carpentry-management-systems program where they don't even expect graduates to know the difference between a saw & a hammer (as long as they cost the same).

      --
      my sig's at the bottom of the page.
  17. BA in Computer Science / Business Info Sys by rjamestaylor · · Score: 1

    A friend of mine in college got a Bachelor of Arts in Computer Science. Less math/programming. This was at University of North Texas between '85 and '90.

    Others opt for business Information Systems. Some programming, just for gits and shiggles, some design, blah blah. Benefit: be the boss of your arrogant techie friends... :)

    --
    -- @rjamestaylor on Ello
  18. My advice: stop reading slashdot by Bob+Cat+-+NYMPHS · · Score: 3, Insightful

    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'.

  19. Been there... by jakoz · · Score: 5, Insightful

    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.

  20. Oh yeah... by jakoz · · Score: 1

    ...I just remembered something from uni. Once you get the deal with OO the rest will suddenly click. It was like that for pretty much everyone in my course.

  21. choose another major by hankaholic · · Score: 4, Insightful

    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!
  22. poli sci by kwoff · · Score: 2, Insightful

    Have you considered Political Science?

  23. I would suggest ... by judicar · · Score: 1, Troll

    Web design. It requires little or no actually neuron activity. Don't forget the black turtle neck and wigger fro, oh yeah and you get to ride around the office on a razor scooter while sipping a latte.

    1. Re:I would suggest ... by Anonymous Coward · · Score: 0

      looks like you hurt some mod's feelings. You forgot the part about web designers having small penises.

  24. Some of the highest-tech fields don't require ... by Anonymous Coward · · Score: 0

    ... an in-depth knowledge of coding. (Continued from subject)

    I decided at a young age that I was not going to code GUIs for a living, so I took up assembly language and now at the age of 20 I am overwhelmed with job offers doing malware analysis, vulnerability engineering, and software protection. I know plenty of people in those fields who either cannot code at all in any language other than assembly or can't write production code to save their lives. It's more common than you think.

    Take the time and learn coding, though; it's one of the most intellectually satisfying things you can do IMO, when you're not coding GUIs in Java for an asshole teacher who spouts buzzwords. In fact, I failed such a course last semester.

  25. The Answer To Your Question In Three Letters: by Goo.cc · · Score: 0, Offtopic

    SCO.

    All you have to know how to do is file baseless lawsuits and blow a lot of hot air. Plus, if there is one thing we know for sure about SCO, it is that there is no programming going on.

  26. How to think... by martin · · Score: 3, Insightful

    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.

    1. Re:How to think... by KieranElby · · Score: 3, Interesting

      I quite agree.

      Another good quote is "Computer science is as much about computers as astronomy is about telescopes" (Dijkstra, I think).

      I suspect this isn't the case in all universities, but actual programming was a very minor part of my Comp Sci. degree (at a UK university). In fact, I don't recall ever writing any code in my "Programming Language Design" or "Artificial Intelligence" modules.

  27. You're not UWCS! by Anonymous Coward · · Score: 0

    If you're having trouble with the intro class, you're obviously not in the major yet. The intro class is a weeder class! You're soiling the good name of UW CSE!

    Poser!

    1. Re:You're not UWCS! by emmilliiee · · Score: 1

      Damn you CS people and your fancy building and your fancy wifi and your fancy rooms with white boards. And your honor system food and parties with beer! You are like, *totally* spoiled.

  28. wrong course? by Anonymous Coward · · Score: 0

    if you think java is too much for you, you're most probably in the wrong course.

  29. That's the weeder course. by Anonymous Coward · · Score: 0

    If you're struggling with the first course of a CS program, don't worry, you're not alone. It sounds like the course is doing exactly what it's intended to do: cut down on those who just can't "hack it" (pun intended).

    Infomatics is a fine major. Try Applied Math in addition and with some intensive networking you'll probably get a job offer or two in a few years.

  30. You are talking about SCIENCE by at2000 · · Score: 1

    Coding is very objective. The computer (not human) tells you whether your code is right or wrong. This is science - you can only be right or wrong, not a mixture of both.

    If you want to study about human related things, then you need to study business, not science. There are a lot of information systems programmes out there for you to choose. They never require you to be proficient in coding.

    1. Re:You are talking about SCIENCE by batemanm · · Score: 2, Insightful
      Coding is very objective. The computer (not human) tells you whether your code is right or wrong.

      I teach 1st year CS at University and a lot of the time the student's program compiles (computer says it is right) but doesn't do what they have been told to do or would break if you sneezed near it, both of which count as wrong (or not quite right). The computer only tells you if your codes syntax is correct it has no idea if it is semantically correct.

      This is science - you can only be right or wrong, not a mixture of both.

      Coding isn't as precise as people like to make out. Programs are an expression of an idea and as such the details differ even if the overall idea is the same. Some implementations will be better expressions than others.

      If you want to study about human related things, then you need to study business, not science.

      A computer is not an independent entity it sits in an environment and interacts with that environment. People are part of that environment therefore at some point computers (and the code therein) have to interact with people, even if it is through another piece of code. Computer Science is human related at some level.

    2. Re:You are talking about SCIENCE by getha · · Score: 1

      This is probably nitpicking on something only used to illustrate a point in relation to computer science, but, apart from the very true rebuttal in the other reply to this post, I need to point out that 'science' is absolutely NOT a black and white field.

      It's a common misconception that everything pertaining to 'science' and 'scientific fact' is indeed just that, fact, and thus set in stone for ever.

      One look at the '50, 100 & 150 years ago from scientific american' page in that publication is enough to realise how often 'scientific fact' is utterly and completely, and often laughably, wrong. And it would be beyond hubris to think in our day and age it is any different.

      --


      xchg .,@
      jmp emailMe
    3. Re:You are talking about SCIENCE by sydneyfong · · Score: 1

      Actually, if it's just "science" we're talking about, the boundary of "right and wrong" is more defined than that of real life applications.

      It's not really *that* hard to prove, say, a quick-sort algorithm correct (or wrong).

      I think that's what the grandparent means.

      --
      Don't quote me on this.
  31. maybe electronics by auzy · · Score: 1, Interesting

    I'm a current 3rd year computer science student, and I honestly believe that you will to do some coding to become deeply involved in computers, because you cant understand how something works, if u dont know its internals.

    In fact, the period when u learn the most about computers is when u do computer architecture, where for me at least, we had to learn assembly language.

    However, maybe by doing digital logic or something, u can be involved with computers, and only worry a bit about coding, but dont count on it too much.. I'm actually recommending at least basic digital logic to ppl, because for me at least, it taught alot about optimisation, amongst other things

    I dont want to start a flamewar, but u will actually find learning C++/C, later on alot easier then java, because java is less sensitive to compile time problems I've found, and because there aren't pointers it can confuse ppl..

    anyway, dont give up so easily mate.. I suggest u learn a bit of C/C++ on the side to see if programming really is ur thing or not..

    1. Re:maybe electronics by Anonymous Coward · · Score: 0

      Java is less sensitive to compile time problems I've found, and because there aren't pointers it can confuse ppl

      You are on CRACK. You think NOT having pointers confuses people? Maybe it confuses C/C++ programmers, but it sure as hell wouldn't confuse a CS-101 student.

    2. Re:maybe electronics by Anonymous Coward · · Score: 0

      It confuses anyone who knows how computers work but don't know programming. Every variable in assembly language is a pointer.

  32. Try liberal arts... by Anonymous Coward · · Score: 0

    At my university, sociology and communications were the best majors for people who wanted a degree but didn't want to actually do any work.

  33. "I want to be a doctor, but I can't handle blood!" by Anonymous Coward · · Score: 1, Insightful

    Computer Science == programming. No ifs, ands, or buts.

    Sorry to be blunt, but if you can't handle an introductory course to Java programming, then you have misjudged your own abilities, and computer science is not for you.

    "I really like physics, but I can't do math."

    "I really like sports, but I hate breaking a sweat."

    "I really want to be a doctor, but I can't handle blood."

    You need to be realistic about your own abilities and find something that is more suited to your own abilities, and more important, your ability to persevere. Maybe a college degree isn't for you. If you want to stay in technology, maybe you should get a 2 yr IT certificate, or maybe get your MCSE and become an admin.

    Other people have suggested Electrical Engineering, but sorry, if Java is blowing your mind, how the hell will you be able to do the math and physics involved with Electrical Engineering? I have an Electrical Engineering degree, and I studied my ass off, so I know how hard the math and the concepts are in the upper levels. If you can't handle programming (which is essentially flow charting) you can't handle engineering, period.

    Sorry about that, but maybe this is the right time to switch fields into something else that you will be able to formulate a career on. It really sounds like computer science will just lead to misery for you.

  34. Learn to code! by PinkFluid · · Score: 2, Insightful

    Studying Computer Science without the knowledge of programming is like studying Physics wihout the knowledge of math.

    How are you supposed to know the machine if you don't know how it works? People that know how to use few specific applications or know how to write HTML or XML don't deserve a PHD.

    It's like being a mechanic who knows how to drive a car, but doesn't know how to fix the engine ...

  35. I wonder... by TwistedGreen · · Score: 0, Offtopic

    how many people are going to read this headline, roll their eyes, and move on?

    I know I did two of the three. I'll let you guess which two.

  36. Try a MIS degree or something else by TheLink · · Score: 1

    If you don't want to program try those - MIS, Business Computing etc.

    Of course there's a possibility that you might actually LIKE programming, but you just don't like to do it in Java.

    A way to find out is to try other computer languages. If you aren't even interested in doing that, then I doubt Computer Science is for you - you'd at least still need to do some pseudo code. Pick some other course.

    It really doesn't matter so much. The whole idea is to get a decent cert, then get a job or get enough contacts + experience (whilst building your own portfolio - help relatives/friends ) to get a job. Once you've got a job, if you learn a lot and do a lot of good stuff, that cert doesn't matter as much after a while - this is not like Law, Medicine or Civil Engineering. Or perhaps Accounting - I haven't seen many people move into Accounting from other fields tho, more the other direction.

    --
  37. actually actual 'coding' is just part of it.. by gl4ss · · Score: 1

    and the real 'cs' is done without writing a single line of code, you can draw diagrams for example that are very relevant to the design of something without knowing how to write a single line of code.

    the coding part is just the part where the building gets built(pardon the analogy).

    however if "introductory to java" is driving you around the edge maybe you need to seriously rethink your career options or you have a seriously sucky professor. if that is driving you nuts what would some course that introduced you into microprocessors with the use of assembler do to you?

    pick up some coding project that intrestes YOU and code it. heaps more motivating than doing simple dialogs with swing by copying code from text, and helps much more into getting used to coding and knowing what to do where(and will probably make you to look up information from the net by yourself, for yourself).

    you know, counter strike doesn't count as cs.. even though there's gazillion guys who have jumped into studying 'computers' because they just enjoy playing games or using programs and are not really intrested in what makes them tick(or how a big software project could be executed) at all.

    --
    world was created 5 seconds before this post as it is.
  38. Re:"I want to be a doctor, but I can't handle bloo by Jamie+Lokier · · Score: 2, Insightful

    I know an excellent Electronic Engineer who works with high speed RF and digital circuits, who wouldn't be able to handle Java programming. He cannot handle VHDL and that is somewhat closer to circuit design.

    Electronics takes a different kind of thinking than programming, and some people have a distinct aptitude for the former.

  39. MIS, IT, by Surreal_Streaker · · Score: 1
    Coding is a great way to truly understand the power of computers, but there are many computer related disciplines that do not require extensive coding. MIS leverages high level technology understanding to solve business problems without having to unduly worry about the code. HCI ( Human Computer Interaction ), understanding how individuals and systems interact, may also be of interest.

    While the last 15 years have richly rewarded artisan programmers, we are moving into an age where most programming will have to conform to increasingly rigorous blueprints. I tend to think of most coding as trending towards the white collar equivalent of construction - but much easier to export to cheaper labor markets, and requiring less equipment ( but more training). It is certainly nice knowledge to have if you are working around computers, but increasingly unlikely that you will be able to make highly meaningful contributions to society programming (unless you are skilled and visionary enough to remain one of the few artisans). Real change will be effected by those who can define at a high level, the needs of the business. Why not try to find a path that will lead you into this space? The code will take care of its self.

  40. BSc v MCSE by SkunkPussy · · Score: 1

    if you want to know HOW to do something you do a vocational course like MCSE.
    if you want to know WHY you are doing it, you do a degree.

    looks like you didn't even check what was on the course before you did it.

    --
    SURELY NOT!!!!!
  41. I'm sorry, by His+name+cannot+be+s · · Score: 4, Insightful

    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..."
  42. CS is an interdisciplinary science by 1iar_parad0x · · Score: 1

    I've spent the last 5 years writing code. I've gone back to school to finish my degree.I hate writing code. I enjoy mathematical logic. I like the rigour of foundational mathematics/theoretical CS.

    Unfortunately, CS courses don't transfer well, and I don't feel like paying large ammounts to finish non-major coursework (unfortunately I can't transfer it in from another university) at my old school.

    I hate writing stupid code. I hate paying someone for the privilege of writing trivial classroom code. I'm working without the degree, so a math/physics double major with a minor in CS will work for me. Frankly, no one cares what your major was in IT. CS-based math courses (theory of computation|algorithms|discrete math) tend to lack rigour. My experience is that they often stop sort of proof. How can you study graph theory without proofs? Erdos and Dykstra are rolling over in their graves! This may be differ by school. CS is the one field you can teach yourself.

    Do you want to be in IT or do you like applying computers to scientific problems? Frankly, physics, chemistry, and biology have computational subfields. There are even a few bioinfomatics programs for undergraduates. You might find cognitive science or statistics interesting. Heck, many good physics departments offer a computational physics/scientific computing course(s). It just depends.

    The other option might be to suffer through a few CS courses, and get a degree in something else and study CS at the graduate level. Most CS departments take people from other disciplines. Math is the best in that regard. Some MIS programs (like CMUs) allow you to focus on non-programming areas and are pretty good. You might like a program like Boston University's "Cognitive and Neural Systems". CalTech has a similar program at the Koch Lab. I even saw a "computational mathematics" program at JHU that required little programming. In fact, some of the best computer scientists are secretly mathematicians. Knuth, (Martin) Davis, Minsky, Ritchie, and many others have PhDs in math.

    The little joke among computer scientists is that the best don't often study it. Logicians and combinatorical mathematicians tend to be better with the theory. Engineers are better with hardware. EEs are usually the ones who write device drivers. Heck, who wouldn't want a Claude Shannon or Lofti Zadeh working on CS problems. Frankly, I don't understand the point of modern-day CS. It's not math and it's not quite engineering. I like CS, but I just hate the boring coursework.

    If you're still not convinced take a look at "The Feynman Lectures on Computation" and "Feynman and Computation". One of his hobbies was algorithm analysis. The man wasn't just a brilliant physicist. He did groundbreaking work with computers. I was first introduced to analog computation and quantum computation by Richard Feynman's work. He also worked on some deeper computational problems during the Manhattan Project (see "Surely You're Joking" [his memoirs]).

    Type analog computation in a search engine and you'll see that this area of CS is done by other other fields. I've been reading about the applications of analog computation and their relation to limits of computation (see Neural Networks and Analog Computation:
    Beyond the Turing Limit. In fact, the future of computing may lie in some analog world. The computer program is math (see An Introduction to Kolmogorov Complexity and Its Applications)

    --
    What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
  43. learn to code by TJmoney · · Score: 1

    Knowing how to code is a really important skill to have if you want to do anything in depth with computers, even if you dont want to do any real developing. If you can look at a program and grasp the general idea of how it works, it makes it a lot easier to use and troubleshoot. I myself am studying CS, and hope to get a coding job. I was required to write a compiler for one of my classes, and it helped my coding abilities a lot because I now understand the process of going from "if foo than bar() else foobar()" to machine language, and can write more optimized code because of it. This is analagous to being able to use software better because you know how it works. To really understand what you are working on, you need to understand what is going on underneath it.

    So the bottom line is, if you cant handle coding, i'd suggest you change your career goals.

  44. Then change majors by cdrudge · · Score: 4, Funny

    My university had 3 different computer related majors. CS, IS, and MIS. CS was for people who understood math, theory, and coding. IS was for people who don't understand theory, have some math, and could code. MIS was for people who had no clue about math, theory, or coding. They usually became your boss.

    1. Re:Then change majors by Anonymous Coward · · Score: 0

      "My university had 3 different computer related majors. CS, IS, and MIS. CS was for people who understood math, theory, and coding. IS was for people who don't understand theory, have some math, and could code. MIS was for people who had no clue about math, theory, or coding. They usually became your boss."

      My UNI was very similar but it also had computer engineering. It was people who understood math, theory and can code and electrical designs. Supposively computer engineers make the best programmers, because you understand it to the electronic level.

      I don't see it. I'm a computer engineer and all I want to do is drink.

    2. Re:Then change majors by BalkanBoy · · Score: 1

      That's crap. One can say a CS grad understands it better because they think more abstract. You need to know both, the 'subatomic' level (or the electorinc level as you said) as well as be able to understand higher, more abstract concepts.

      Neither an EE nor a CS major who has no indepth knowledge in both of these areas can survive in the field. Well, maybe survive, but they'll remain mediocre at best...

      --
      'A lie if repeated often enough, becomes the truth.' - Goebbels
  45. Forget ECE go for MSCE by Anonymous Coward · · Score: 0

    just get a MSCE no learning anything but how to reformat a drive, and how to count up licenses

  46. -1: Troll by Anonymous Coward · · Score: 0

    You could try VB.Net

  47. Become IT analyst by Geccie · · Score: 1

    Become an IT analyst - No experience required.

    Google Didiot

    Groklaw Didiot

  48. MIS by _aa_ · · Score: 2, Interesting

    What you want is "Management Information Systems". This is essentially computer science minus the coding. This course selection is geared more towards people who are to manage the people who make the software.

    Of course you may consider simply obtaining technical certififcations in place of an actual degree, they can be just as fruitful on a resume if not moreso. MCSEs and CCNAs and A+s require almost no knowledge of programming.

    1. Re:MIS by Degrees · · Score: 1
      I second this suggestion, and have two additions:

      1) Add accounting. Someone with an MIS degree that actually understands finance has a huge advantage over the MIS degree without. Its businesses that hire MIS people, and the business runs on money.

      2) Buy a copy of "What Color Is Your Parachute?" by Richard Nelson Bolles. He has execises in the book to help you identify what you like, and what you are good at (which may or may not be the same).

      --
      "The most sensible request of government we make is not, "Do something!" But "Quit it!"
  49. sorry (formatted properly and a few extra lines) by 1iar_parad0x · · Score: 2, Interesting

    I've spent the last 5 years writing code. I've gone back to school to finish my degree. I hate writing code, but I enjoy mathematical logic. I like the rigour of foundational mathematics and theoretical CS.

    Unfortunately, CS courses don't transfer well, and I don't feel like paying large ammounts to private school to finish non-major coursework (unfortunately I can't transfer non-major coursework in from another university at my old school).

    I hate writing stupid code. I hate paying someone for the privilege of writing trivial classroom code. I'm working without the degree, so a math/physics double major with a minor in CS will work for me. Frankly, no one cares what your major was in IT. CS-based math courses (theory of computation|algorithms|discrete math) tend to lack rigour. My experience is that they often stop sort of proof. How can you study graph theory without proofs? Erdos and Dykstra are rolling over in their graves! CS is the one field you can teach yourself.

    Do you want to be in IT or do you like applying computers to scientific problems? Frankly, physics, chemistry, and biology have computational subfields. There are even a few bioinfomatics programs for undergraduates. You might find cognitive science or statistics interesting. Heck, many good physics departments offer a computational physics/scientific computing course(s). It just depends.

    The other option might be to suffer through a few CS courses, and get a degree in something else and study CS at the graduate level. Most CS departments take people from other disciplines. Math is the best in that regard. Some MIS programs (like CMUs) allow you to focus on non-programming areas and are pretty good. You might like a program like Boston University's "Cognitive and Neural Systems". CalTech has a similar program at the Koch Lab. I even saw a "computational mathematics" program at JHU that required little programming. In fact, some of the best computer scientists are secretly mathematicians. Knuth, (Martin) Davis, Minsky, Ritchie, and many others have PhDs in math.

    The little joke among computer scientists is that the best don't often study it. Logicians and combinatorical mathematicians tend to be better with the theory. Engineers are better with hardware. EEs are usually the ones who write device drivers. Heck, who wouldn't want a Claude Shannon or Lofti Zadeh working on CS problems. Frankly, I don't understand the point of modern-day CS. It's not math and it's not quite engineering. I like CS, but I just hate the boring coursework.

    If you're still not convinced take a look at "The Feynman Lectures on Computation" and "Feynman and Computation". One of his hobbies was algorithm analysis. The man wasn't just a brilliant physicist. He did ground-breaking work with computers. I was first introduced to analog computation and quantum computation by Richard Feynman's work. He also worked on some deeper computational problems during the Manhattan Project (see "Surely You're Joking" [his memoirs]).

    Type analog computation in a search engine and you'll see that this area of CS is done by other other fields. I've been reading about the applications of analog computation and their relation to limits of computation (see Neural Networks and Analog Computation: Beyond the Turing Limit). In fact, the future of computing may lie in some analog world. The computer program is math (see An Introduction to Kolmogorov Complexity and Its Applications). Church's Thesis may prove to be the most valuable piece of 20th century mathematics. In fact, I've seen a few logicians that use LISP code to do mathematical work (like Gregory Chaitin).

    Ultimately, I think you need to figure out what you really enjoy doing and find other people who are doing it.

    --
    What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
  50. even if ... by sir_cello · · Score: 1


    Even if you don't want to code in your career, you should do some of it in your CS degree: otherwise you won't have a rounded appreciation of what it takes to do the coding, especially when you're interfacing with coders (you seem to want to take on a less-than hard-core style of CS career).

    Sure, I'm a BEng and I write high level code, not assembler or microcode: yet I had to do a number of assember and microcode classes at university even though I knew I would never want to use the skills: the point is that I'm a better high level designer and coder because I understand what's around me, not just superficially, but from the hard lessons of doing it.

    Life is too full of people that "think" they know how to do something without ever having to do it. The benefit of a university education is that you're supposed to have depth in what you do, and what's _around_ what you do. That depth best comes from some actual experience, not just from a few paragraphs in a text book. The world will be a better place because we'll all understand more about the landscape rather than our narrow focus.

  51. Do you want to learn or get a piece of paper? by duffbeer703 · · Score: 2, Interesting

    "Practical", hands-on work is required to learn and understand things at any level.

    You need to toil for a bit as a lower level undergraduate to give you the base knowledge that you'll need later. If you think that intro to Java is bad... just wait until you are a Junior and they have you code a project in a language that you've never heard of -- and expect it done in two weeks or so.

    The lower level classes seperate the wheat from the chaff. I'll put it to you this way. My CSI 201 course (the first course for majors) was a lecture with 550 students in it.

    Data structures had around 450.

    Algorithims had about 200.

    Senior classes had 40-50 max.

    If you can't hack it, that's cool. But if you stick with the program, you'll find the higher level classes a heck of alot more interesting.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  52. Management Potential? by jsimon12 · · Score: 1

    If you don't like coding you could always get a MBA and be the pointy haired boss ;)

  53. If you think that is bad by Mycroft_514 · · Score: 1

    wait until you get into the real world and end up writing code that has to write code in another language. I've had to do that several times over the years.

    And even more fun is writing SQL that produces control cards for utility runs. Oops, gotta do that this morning to generate the list of packages to free later this week.

    Seriously, if you don't like programming (be it Java or some more friendly language), why are you in a CS course?

    Be happy you didn't take Fortran as your intro language like I did. (Arithmatic ifs and 1 hour common exams in the auditorium, ah memories. The best memory is the dirty looks I got when I finished first out of 400+ students and walked out of those exams and still aced them). Damn, am I showing my age here?

    1. Re:If you think that is bad by mrfunky405 · · Score: 1

      Damn, am I showing my age here?

      Unfortunately, no. Fortran 90 is still used in many Intro to CS for Non-Majors courses today.

  54. English Studies w/o Excessive Writing? by Inoshiro · · Score: 1, Troll

    Posted by Cliff on 4:43 25th February, 2004
    from the english-department-lite dept.
    Peterus7 asks: "I'm a student at the University of Washington, and I was planning on majoring in English or Literature and Compositions until I took English, and I'm realizing that it's simply beyond me. I grew up with the language, and naturally I want to study a field that involves a lot of interaction between people and the language (mainly fiction writing), but the Intro to Story Structure I'm taking now is driving me over the edge. Any suggestions for a linguisticly intensive field that doesn't require ungodly amounts of writing, or perhaps any general methods for surviving english courses for new students?"

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  55. Computer Eng Tech by Your_Mom · · Score: 1

    At my school we have the School of Engineering Technology which is a more well rounded CS and CE learning experience. There is some coding, but there is also hardware, and theory with a dash of EE and networking. I left CS and went to it (Not because I didn't like coding, Calc kicked my tushie Frosh year), and it was quite an enjoyable experience. Some of my friends were also CS refugees and there were a few in the same boat as you, and they also did quite well in the environment, albeit with a little difficulty in the coding classes.

    --
    Objects in the blog are closer then they ap
  56. Good for you by hey! · · Score: 3, Insightful

    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.
    1. Re:Good for you by Peterus7 · · Score: 1

      Good point. Truth being told, I don't want to be a programmer, I just want to get enough skill and knowledge (and connections) to be something like either a web designer, or a consultant, or even a tech writer.

  57. offtopic? by TwistedGreen · · Score: 1

    This is hardly offtopic, moderators.

  58. It may be the editors / environment... by (H)elix1 · · Score: 1

    I had a full load of upper level biochem/microbiology coursework and thought the 'intro to c' course would be cake. It nearly killed me. The problem was not the coding, but rather the editors and environments. I was routed into the labs to do my assignments, logged into a sun workstation for my first time ever, and given a keyboard cheat sheet to emacs as an editor... Thanks for all the help guys...

    Rather then learn Unix shells and figure out vi/emacs - I did all my homework on using a DOS based C compiler that I used for, learned the zen of mounting a floppy and eject the bloody thing, and a command/script to strip the bloody ^M's off. It would not surprise me to see they sent you off to a Unix lab. It is Java - you don't even have to recompile your source code if you build your classes on a machine/editor you are comfortable with.

    Of course, if the coding is really the source of your problems - you are boned. Either the prof is nasty or you should have done more prep work before taking the class.

  59. Re:"I want to be a doctor, but I can't handle bloo by Anonymous Coward · · Score: 0

    If you want to be a doctor but can't handle blood,
    there are alternatives, such as physical therapy.
    From people I know, when they start handling corpses
    in medical school, many people change sections so
    they can watch instead of having to handle the corpses.
    But there are plenty of alternatives.

  60. Weeding Out Period by stuffduff · · Score: 1
    There is usually a 2 year weeding out period in CS degree programs. It's not so much an education as a filter. Additionally [IMHO] Java is a really poor choice for an introduction to programming. Among those ubiquitous programmers who value style and 'correctness' above getting the job done, Java offers a certain 'elegance.' With experience in many other languages I still find Java tedious to use.

    On the flip side, if you are not nourished by long hours in the dull glow of a crt; if you don't find algorhythms sexy, if you'ld rather clock out and have a life instead of debugging through the night until it works: then this might not be the career for you!

    --
    "Can there be a Klein bottle that is an efficient and effective beer pitcher?"
  61. You may loathe Software Engineering... by Palshife · · Score: 4, Insightful

    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!
    1. Re:You may loathe Software Engineering... by Alan+Shutko · · Score: 1

      Yes, take a look at The Art of Computer Programming by Knuth. Notice that it's actually called "The Art of Computer Programming." Notice that there's a lot of code in those books, in assembly, along with a lot of math.

      Computer Science and programming are not as divorced as many seem to believe. Knuth agrees that it's important to have a full understanding of the higher-level theory aspects as well as how it actually works in machines. Computer scientists can't divorce themselves entirely from computers. If they do, they're like noted architects who come up with fabulous edifices which are unlivable or have serious structural problems.

    2. Re:You may loathe Software Engineering... by Palshife · · Score: 1

      I can't believe I mistyped that.

      HIT
      HEAD
      ON
      KEYBOARD

      Yeah, they're joined at the hip. Theory without implementation is always somewhat flawed.

      --
      Attention deficit disorder is a complicated issue, spanning several major... HEY LET'S GO RIDE BIKES!
    3. Re:You may loathe Software Engineering... by BalkanBoy · · Score: 1

      There's a huge difference between Computer Science and Software Engineering

      That's like saying there's a huge difference between math and physics. One does not live without the other. Reminds me of that 'which came first - chicken or egg' joke.. To say that SE is 'vastly different' as you put it, than CS, is misguided at best, and blasphemous at worst.

      --
      'A lie if repeated often enough, becomes the truth.' - Goebbels
  62. Re:"I want to be a doctor, but I can't handle bloo by Anonymous Coward · · Score: 0

    No, you are wrong. I have a degree in Electrical Engineering, and I know electronics.

    If you abstract both concepts, they are both essentially flow charting. He may not know how to program in Java, but if he had to, he could learn. He may never be good at it or like it, but he could learn. Think about all the other things he has learned in order to become an Electronics Engineer.... Java programming is nothing compared to that.

    The author of the original question was incapable of learning Java.

  63. Information Systems Theory by lo_fye · · Score: 1

    Systems analysis & design is about logic, and knowing how technologies work together (with people, and other technologies). It's pretty great :)

    --
    geeks are cats who dig a certain kind of cool
  64. Electrical Engineering by aminorex · · Score: 1

    Typically, EE requires little coding, Physics
    less, and Mathematics even less.

    What you seem to want is a system administration
    career. For that, a technical school diploma
    is more suitable than a 4-year college diploma.
    You could go see what the instructors at the
    technical school majored in.

    --
    -I like my women like I like my tea: green-
  65. Any PhD will do by xenocide2 · · Score: 1

    All my professors have their PhDs, and none of them seem to be under any pressure to provide working code. In fact, I'm reasonably certain its beyond most of them to write a solid and complete program. You sound like a perfect fit.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  66. Become a Developer by Ratbert42 · · Score: 1
    Any suggestions for a technologically intensive field that doesn't require ungodly amounts of coding...

    Become a software developer for almost any company. I often go a whole week without writing code. Sometimes they even bring in lunch or donuts for the meetings.

  67. Management ! by bergeron76 · · Score: 1

    Become a PHB. That way you can play games in your cushy office with the door closed while you boss the CS grads around.

    --
    Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
  68. hmmm... by buttahead · · Score: 2, Insightful

    general methods for surviving computer science courses for new students?

    love it or leave it.

  69. How do so many people miss the point? by Moeses · · Score: 1

    OK, we've got a whole bunch of posts telling this guy he shouldn't go into computer science - I think that it's obvious that he figured that out on his own. I think that was fundamental to his whole damn point.

    There are plenty of computer intense fields that don't require coding. In fact, the number of fields that meet that criteria is increasing all the time.

    Things to look into would include IT if you're interested in networking or system administration. If your interested in science you could undoubtedly use your computer skills. Lots of business degrees are actually rather math/computer intensive and being especially good on the computer could give you a real advantage.

  70. Something computer related you may enjoy by jgardn · · Score: 2, Insightful

    Look into the fields of program manager or business management. I work around these people all the time, and while they spend a great deal of time trying to understand what we the coders do, and trying to get us on board with the rest of the company, they also have time to dabble with computers and enjoy the highlights of the field.

    You may want to exercise the artist in you and look at computer graphics. I work with a web designer who hasn't the foggiest what is happening behind the scenes, but is expert in how users will use the system, what colors and layouts are most pleasing, and things like that. These are all things that are really quite interesting to study, and even more fun to apply.

    Finally, never discount the value of being a good lawyer, doctor, or accountant. These are tried and true professions, and they require you to think and nowadays to use computers heavily. I have worked with doctors writing software for them, and I have worked with accountants as well, and these careers are anything but dry and boring.

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
  71. Instead of CS, try IT. by EvilOpie · · Score: 3, Interesting

    First of all, I unfortunately see some posts that are like "well if you can't program, don't use computers!" And that bothers me a little bit. Now while I will say that it is hard to use computers to any significant degree above the average joe without doing at least SOME programming, that doesn't mean that you have to dedicate your life to it to be in a computer field.

    Case in point. I went to a community college and got an associates degree in Computer Science. I could do programming, but my heart just wasn't in it. Let's face it, some people like to code, some don't, and I'm one of the ones who isn't that fond of it. So when I went on to a 4-year institution I switched my degree from CS to Information Technology. Instead of focusing purely on coding like with a CS degree, the IT degree involved many more aspects of the computer. I did my concentrations in systems administration, and in networking, and now I have my bachelors degree for IT. (there were also concentrations in writing code, and web design, and database work, and things like that)

    But the point I'm trying to make is that as a systems admin, I have to write code perodically. Our account-generation program on campus is 100% hand-coded, and I'm quite proud to have done it myself. But do I code on a daily basis? Nope. Just when necessairy to make a task easier. And honestly, that suits me just fine. So I'd recommend looking at alternative computer degrees at whatever college you are attending to see if they have something that might suit your needs better than CS does. I wouldn't expect to get away with no coding, but you can definately get away with less.

    At RIT the alternative degree to CS was the Information Technology degree, like I mentioned. At the community college I went to, I believe the alternative to the CS degree, was the CIS (Computer Information Systems) degree. So just keep an eye out and see what else is availble. Just don't shut yourself off from coding 100%, there are times where even a little bit of code will help make your life a lot easier.

    --
    -Through the server, over the router, off the firewall... Nothing but 'Net!
    1. Re:Instead of CS, try IT. by ameoba · · Score: 1

      Unfortunately, even IT people are going to have to take an intro programming course, which this kid can't handle. You're missing out on the fact that the original poster is just a lazy, whinging twit who can't deal with being expected to work a little bit.

      --
      my sig's at the bottom of the page.
  72. Applied Computing by Strange+Ranger · · Score: 1

    Time to burn some Karma.

    I've never worked at a technology company, I've always worked at companies in other sectors. All these companies use technology. That said, I would suggest getting your degree in Finance, or Business, or whatever floats your boat, and do a minor or second major in your school's equivalent of Applied Computing.

    Here on /. you are mostly asking programmers about how to avoid programming. But one of the biggest problems in the industry has always been the Large Gap between the IT folks and the Business Line folks. The Business Line people don't know what's possible and don't know what to ask for. While the IT folks don't spend day-in-day-out working directly with a given business line. More often than not they don't know the business process from a grain auction, how it brings in money, what processes are necessary from a legal standpoint. What IS that crazy spreadsheet for? Why are piles of printouts stacked in storerooms rather than stored as searchable electronic files? What are all these ancient files on the server for, if anything? What does the VP fly to Louisiana every week? Is there a better way?

    That's where you come in. Make it your goal to operate as a bridge between the technology folks (cost center) and the business lines (profit center). Become an expert in something + applied technology. Then instead of butting their heads against "clueless lusers" the tech folks can talk to you. And instead of feeling lost and at the mercy of the tech folks, the business folks can talk to you. You're a liaison. A facilitator. You have developed your business acumen and your people skills, AND you know what NAT is and the difference between a firewall and proxy server. You won't know how to program, but you'll know what programming can and can't accomplish for a given business need. You'll know how communicate needs and provide direction across the Business--Technology chasm.

    That's what I'd shoot for if I were you. I wish there were many more people doing that.

    --

    Operator, give me the number for 911!
  73. Spectrum of Degrees by Landaras · · Score: 2, Interesting

    As many here have said, it's possible that you're in the wrong degree program. At a four year university, if the degree says "Computer" or "Information Systems / Science" in it, you're going to have to do quite a bit of programming.

    I'm currently an Information Systems major at Ohio State and feel it's a good fit for me. (The major was formerly called Management Information Systems). IS at OSU is about (outside the General Ed requirements) half business and half tech. The tech is about two thirds programming and one third systems analysis.

    I don't enjoy coding, and I don't think I'm that great at it (relative to others who post here). However, I'm good enough and tenacious enough to pull off B's with some A's in the programming courses.

    As for what I'll be doing full-time after school, I will be doing tech support and project management for Campus Crusade for Christ's largest state-side region. I think my degree will have prepared me for that because I will be able to speak the language of business / operations as well as the language of the "dedicated" programmers and engineers. My goal coming in to MIS was to be like PERL: jack of all trades, master of very few.

    I started off as an engineering major (because of my standardized test scores), but the CAD classes kicked my ass hard enough that I decided not to pursue engineering. It sounds like perhaps you're having the same problem with coding as I did with CAD.

    There is a reason some courses are called "weed-out classes."

    I recommend you find a major that you enjoy AND are good at. It may or may not be tech-related. If you want some specific tech skills thrown in, consider hitting a community college or similar for certificates / experience in the areas of IT that interest you. A non-tech degree / skills with some tech certificates thrown in can actually be pretty attractive to a lot of employers.

    I was offered and accepted a non-tech position with U.S. Bank in 2001 for that same reason.

    Good luck!

    - Neil Wehneman

  74. The business world in a nutshell. by attaboy · · Score: 4, Informative

    I want to study a field that involves a lot of interaction between people and technology (mainly computers)... Any suggestions for a technologically intensive field that doesn't require ungodly amounts of coding

    The statements above are going to cover nearly EVERY professional field and field of study in the next few years. Psychology, Economics, statistics, law, medicine, and even English are all using computers way more than they ever did, and that trend is only going to continue.

    However, I recognize that there are lots of technically inclined people who aren't cut out for the particular mindset involved in programming (and programmming well.) Here are some job descriptions that I think incorporate both a love of technology and computers, but don't require programming:

    Log/traffic analysis: Almost every company has a Web site. Many don't make much use of their web logs to do much more than count hits or visitors. Logfiles, with lots of massaging, can reveal lots of data about the patterns of visitor behavior. These data can help develop new site features to increase return visitors or clickthrough ratios, improve upon text or navigation, etc. You can use commercial or open-source software packages to glean the information you need, but the real challenge isn't in finding the right data, it's in asking the right questions.

    Usability/Human-computer Interaction: HCI is one of the sections of the ACM computer science curriculum. Carnegie Mellon has a grad program devoted to this (I believe.) It's a growing field, combining software and cognitive psychology. It's everything from designing the User Interface to software programs or Operating systems, to figuring out the right button configuration on a new mouse design. Study cognitive psychology, take some electives in HCI from the Comp Sci department, and whatever likely courses appear in the Engineering department. Also look under ergonomics (a slightly related field.) My personal theory here is that desktop computers in business are more than fast enough to run the programs we typically use them for. Gains in productivity from faster processor and more RAM are going to be minimal. The real productivity gains of the future are going to come in making it faster and easier to do the things we do by creating better designed, more intuitive software.

    QA: Every technology shop needs QA. A lot of the time it's done by programmers. To me, that sucks. The programming mindset is a "problem-solving" one. The QA mindset is a different one, and one that programmers are almost diametrically opposed to... finding potential problems, breaking software, etc. A good coder learns how to anticipate and code for these things as part of their practices. They build in validation, check internal validity of data, prevent buffer overflows, and avoid making assumptions. A good QA tester will run circles around a good programmer in this area though. I think there's definitely a "knack" for QA that some people have, and others don't... and these people are often not the most computer savvy. At our company, we have a copy-editor who we have test out new apps, maybe because she's a copy-editor and has a good attention to detail, or maybe it's just her super-power, but she never fails to find problems that coders have missed.

    Tech support: I don't mean answering the phones for AOL... i mean find a software company that makes products targeted at end-users with better than average computer skills, more of a B-to-B than a B-to-C company. You become an expert in their software product or products, you learn to solve simple and advanced problems that users might have. You become a god and savior in times of need... there are Tech Support reps, and then there are GOOD tech support reps (although many slashdotters may disagree with me regarding the latter, but trust me, they are out there, albeit in small numbers.) We need more GOOD reps. It's a different mindset than programming, again, but we need them.

    --
    The facts have a liberal bias. --The Daily Show
  75. What exactly do you want to do? by JavaLord · · Score: 2, Informative

    The first thing you need to do is find an actual job/job field you want to be in, and see what the typical requirments are for that job. It doesn't sound like you really want to be a programmer or a network admin from this line in your post:

    grew up with computers, and naturally I want to study a field that involves a lot of interaction between people and technology (mainly computers)

    I would try to narrow that down to an actual job title. Now, if you do decide that you want to be a programmer, or at least continue to pursue a CS degree, The first thing is,

    DON'T GIVE UP!

    Despite what some of the keyboard warriors here on slashdot say, if you want to do it I'm sure you can. If I were you I would pick up Head First Java I had to train someone to move from being a web designer to using Java at my job. I recommended this book and it went over really well. Check out some of the sample chapters and see if you like their "teaching" style.

  76. Computer Science Is Not Taught Properly by Vagary · · Score: 4, Insightful

    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...

  77. Find a new major. by Dyrandia · · Score: 2, Informative

    I enjoy computers as a hobby. I won't do them for a living. I simply don't have the "coder drive". My husband is a Software Engineer. His whole job is designing specifications and requirements, as well as the programming after the spec's been done. A Software Engineer who doesn't code won't do well, becaue he doesn't know the limitations of the proposed languages, or even alternative languages to use. You may be able to take a different course, but I'm afraid that its people like you who are making it harder for others to find IT jobs. Too much dross in the market. My husband's Project Manager is a manager by trade, but never was a programmer. He ends up signing off on specs that my husband would never be able to do, because he doesn't know the limitations of the language the company requesting the specs has asked to for. Its not til later on, once the contracts are signed and my husband and his co-workers sit down to actually do the work that its discovered it can't be done. If you can't see yourself coding frequently, maybe Information Systems would be a better choice for you. Or, it might be best to keep computers as a hobby, and choose another degree. If your heart just isn't in it, you'll go to work every day hating your job, and end up hating computers too.

  78. Java For Freshmen Considered Harmful by Vagary · · Score: 1

    I TA'd a "Introduction to Programming for People Who Will Never Take Another Programming Course" last year and because the Computing Dept standardized on Java (I have yet to meet a Professor who admits to being in favour of that, interestingly enough) it was also taught in Java. Despite the language, they managed to learn some important basic concepts like functions (we called them "methods", of course) and control structures. Still, I feel guilty to this day that these students will never understand why they had to write

    public class Foo {
    public static void main(String[] args) {

    at the top of every file. :(

    1. Re:Java For Freshmen Considered Harmful by Bingo+Foo · · Score: 1
      Did you at least teach them to type
      }
      }
      at the bottom of every file?
      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
    2. Re:Java For Freshmen Considered Harmful by BitGeek · · Score: 1


      You mean they actually *teach* people to put the open brace on the same line?

      No wonder there are so many programmers out there who do it wrong.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  79. Are Guidance Counsellors Actually Useful? by Vagary · · Score: 1

    Are guidance counsellors and their tests actually useful for anything? Personally I've always steered clear, but if someone has a success story I'd be interested in hearing it.

  80. Academia Moves Slowly by Vagary · · Score: 1

    Academia is in a sense designed to move slowly and be unresponsive to industry. Unfortunately, CompSci Depts tend to be just responsive enough that they throw out some of the blessed theory and instead teach decade old technology. So universities will start pumping out software architects just around the time the last programming job leaves our fair shores.

    Personally I think that universities shouldn't waste their time trying to teach practical concepts when they're obviously not designed for it. If they think that the degree should have some practical component, then make it a joint degree with a college and let their instructors stay up on stuff.

  81. What ever happened to good old science? by Goldsmith · · Score: 1

    If you feel you're a methodical-minded person, who wants to do something cool, but you don't like coding, there's always plain old non-computer science.

    Try something like chemisty (or biology), even in physical chemistry, you don't really do any programming, but you get to use some of the most cutting edge tools out there.

    If you don't mind some minor coding (think graphical, like LabView) then experimental physics would be good. While many people in physics do a LOT of programming, there are also a lot of people who don't do very much at all.

    I think there are too many people out there who feel that just because they are good with a computer, it means they have to go into CS. There are plenty of ways you can further science and technology without doing CS, and still be a very self respecting geek.

    Think of it this way, I don't do CS, I don't program very much. I've never used registers, or written a driver, but when I tell my CS friends I'm working on experimental nanotechnology, I don't feel like I'm missing out on anything.

  82. CompSci Alone is Worthless by Vagary · · Score: 1

    I have a joint degree in CompSci and Philosophy, care to tell me what my niche is? :)

    But seriously, the parent has a very good point: pure programming is all being off-shored. It's foolish to graduate with a pure CS degree in this day and age, even if that's all you want. Your niche will be much less competitive (and probably more interesting) if it's multidisciplinary.

    May I recommend Bioinformatics or Computational Finance if you like money?

    1. Re:CompSci Alone is Worthless by Brandybuck · · Score: 1

      I have a joint degree in CompSci and Philosophy, care to tell me what my niche is?

      Big Cluestick(tm) coming up, so please don't duck...

      Your "niche" is getting an education! This is much more valuable than a mere trade. (but having that dual degree, I'm sure you already knew that).

      I myself majored in literature, and only minored in computer science. But I'm now a Software Engineer with little worry of being outsourced. I would recommend a major in any of the liberal arts for anyone considering a career in software.

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:CompSci Alone is Worthless by nicolas.e · · Score: 1

      I have a joint degree in CompSci and Philosophy, care to tell me what my niche is? :)

      Let me guess... Are you Richard Stallman ?

  83. Re:Not a Nerd by HRbnjR · · Score: 1

    Heh, 'NaN' :P

    (And if you find that funny, you are in the right field)

  84. Degrees: Money or Enlightenment? by Vagary · · Score: 1

    The problem I see with an IT or IS degree is that it's essentially a technologist designation. You don't necessarily get the broad-based education which many university degrees are famous for. I suspect MIS degrees include a bit more theory because IS is seen as a tool to help the business rather than a pursuit in of itself, but it's still not high-brow. With CompSci you get all the theory courses which can really be applied to every part of life (eg: lineups in banks are more efficient than lineups in grocery stores) and include concepts that open your mind (eg: computability).

    Mind you, it is possible for an IS program to include liberal arts and science components. For example my alma matter had an IS Prof who used IBM and the Holocaust as a text book, talked about corporations-as-organisms, and taught a senior course in general systems theory.

  85. Can I have a job? by caseydk · · Score: 2, Funny

    Hey everyone, I want to work in a really cool field, but I don't want to learn anything that goes into that field... can anyone help?

    Come on people... if the guy can't handle basic CS courses, then this is probably *NOT* the field for him. Face it, to work in most computer technology fields, you must have atleast a passing understanding of programming. Unless you're a MCSE.

    The solution: Go into politics. It seems that many of the "distinguished" politicians (in the US) claim to understand or have invented much of our technology... of course, we all know that's bull.

  86. Switch to Graphic Design by PetoskeyGuy · · Score: 2, Informative

    You work with computers all day every day, you work with people constantly but don't have to understand how they work.

    You just need to learn about colors, shapes, and eventually how to express yourself by creating websites that are 100% Macromedia flash that only other graphic artits will be able to use because of the 4 pixel boxes that you choose as your user interface while the rest of the screen looks like someone tried mixing some paint with the lids off. Learn the art of useless yet exciting shapes and how to make pages flash and cool looking "please wait" screens.

    All kidding aside, I have several not-to-techie friends who went this route. As much as they don't understand computers, they still create some frikin weird shit that I could never do myself.

  87. [Off Topic] Re:CompSci Alone is Worthless by General+Wesc · · Score: 2, Interesting

    Fascinating. There are under forty philosophy majors at ECU and just over a hundred CS majors. Three of us are CS doubling philosophy. Then in my Phil of Mind class we have a CS graduate and a former CS major.

    I personally see connections to CS in my philosophy classes all the time (Coherentism = PageRank), but I don't know about the others.

    But to answer your question, your niche is the same as a simple computer science major's, except you're more promotable because employers tend to like philosophy majors. We can (supposedly) handle critical thinking and such better than most people.

    1. Re:[Off Topic] Re:CompSci Alone is Worthless by Vagary · · Score: 1

      Sure there are lots of connections, but they're all in theoretical stuff. It's news to me that employers like philosophy majors (statistically, the whole humanities-grads-are-wonderful thing doesn't pan out), but then I suppose I haven't been in the job market for a while...

      It's cool that your school lets you do something so unorthodox -- I thought my alma matter was the exception.

  88. Fortran 90? by Mycroft_514 · · Score: 1

    We are talking Fortran 74 here... ouch

    1. Re:Fortran 90? by belroth · · Score: 1
      I used 77 at uni as part of my physics degree.
      I may be weird but I actually liked Fortran. Some of the shine wore off when I encountered IBMs bastard version where the strings were all words - max length was 4 char so you had to use lots of them. I'm glad I didn't have to use it much.

      Of course I also liked lisp and APL had a morbid fascination. I didn't even mind PL/1 but Cobol is an abomination. Now I use Java, Perl, Lisp, Rexx with an occasional side order of C. Oh, and <looks embarrased> Visual Basic </looks embarrased> and a few others that have slipped my memory.

      Seriously if you don't like coding you need to find something else to do.

      --
      I hereby inform you that I have NOT been required to provide any decryption keys.
  89. Music|Journalism|Office but no general courses? by jago25_98 · · Score: 1

    I wanted to study applied computing too.

    When I found that courses are run with programming only in mind I relised that it'll mature in time.

    Computers are supposed to be an everyday tool by now. Using them as such - a ready to use tool should be legit. You should have to learn how to dev to study computing.

    There are a few examples though:

    - Electronic Music course
    - Modern Journalism
    - some networking courses
    - Basic Office app courses

    Just a shame nothing General is available

  90. Some one ought to by jago25_98 · · Score: 1

    offer a

    "Let's mess around with slashdot style projects" course

    I'm sure that would develop the fattest portfolio.

  91. Just a little update... by Peterus7 · · Score: 2, Informative

    I talked a bit and programmed a bit last night, and I discovered a few things: I'm not bad at working with visual stuff. We were coding an iterator for importing graphics, then building graphics. I actually enjoyed it. While it was rather tedious, but I thought it was pretty fun. Maybe it was just that it was a simple assignment, but it was one of the few things I've enjoyed. Also, I thought back on the midterm that made me write this. I got a 19/40 after spending an entire weekend cramming, going to study sessions (including one on one with the TA), and other stuff. I realized that A: I looked into the questions too much and wasted time trying to make iterators and arraylists where they didn't belong (the prof big on Arrays and Iterators, almost to the point of being mind numbing), and I thought everything was a trick question. At one point, I think I had a minor panic/spaz attack for some reason. (I have a lot of math anxiety issues from bad experiences early in life, and it was sort of like that.) Anyways, I'm going to try some of the things you people suggested, and thanks a lot for your input. I just hope other people who have the same problem will read this and get something out of it. Thanks again.

    1. Re:Just a little update... by Yeechang+Lee · · Score: 1

      It could very well be that you make it through the coding that has been difficult for you and emerge with a CS degree. If so, all the better.

      But as many of the other replies here have said, there absolutely are alternatives to a CS degree if you like computers but don't necessarily like computers "in that way." I majored in history and Spanish in college while working my way through school as an employee of the university's computing group (and knew more about the nuts and bolts of Solaris and Linux than the actual CS majors that were my friends and colleagues).

      Ever since college I've worked as an investment banker, specializing in the software industry. I can't tell you how helpful it's been to have known ahead of time what a JVM is (especially during the two years I covered BEA Systems).

  92. The parent of this thread didn't like coding. by Mycroft_514 · · Score: 1

    For me this just brought a flood of old memories back is all.

    As for the list of languages, well COBOL has paid the bills for a lot of years, but I'm a DBA and DA now. Most of my coding is SQL (and contrary to popular opinion, it is pronounce "squeal", as in the sound the computer makes when the code hits it. LOL)

    Yes, I played with lisp and PL1 in college. Never touched APL, Java, Perl. Rexx I never fell into. C - yuck! A high level assembler. Never caught my fancy.

    BASIC to Visual Basic. Try writing your own pulldown menus in DOS Basic, because Visual Basic wasn't there yet? And make it well behaved enough that it still runs under the DOS window....

    1. Re:The parent of this thread didn't like coding. by belroth · · Score: 1
      When I were a lad...

      I used to call SQL SQuirreL because it drove me nuts :-)
      For a long time I was a mainframe guy, but with a lot of PC stuff on the side. In the mid '80s I converted a GWBasic program on a NewBrain (iirc) to C on a PC, - that was a pain. The only way I could get it running was effectively a line by line conversion of the original uncommented gosub ridden spaghetti and then rationalise and optimise the resultant mess of C code, but it did work and ended up almost reasonable. High level assembler may be meant as harsh but I used to hack 6502 assembler before I got paid to code, so C wasn't that bad.

      --
      I hereby inform you that I have NOT been required to provide any decryption keys.
  93. WaSU by sohp · · Score: 1

    You're already in Washington state, so you definitely want to look at
    Electronic Media and Culture at Washington State U. in Vancouver. I have a friend who worked for several years a project manager on projects to move, upgrade, or migrate office computers. He's about to graduate from the program and he's been very happy with it. Don't hesitate to get in touch with me if you want to know more.

    As far as computer studies without coding, as a software developer I will say that if you want to write software for a living, and it sounds like that's not really your goal, there is no shortcut to learning -- writing lots of code is an absolute necessity, in exactly the same way that writing lots of words is necessary to become a good writer.

  94. I used to work at the UW CS department. by Dolemite_the_Wiz · · Score: 1

    One thing you should know is that the intro to programming courses are simply designed to weed out people who might not be fully interested in CS.

    Once you get past the two or three intro courses (you need to practically get a 4.0 in both of them) and get into the Department, then the cool classes beging.

    Long story short, you gotta pay your dues and prove to the Department that you've got some serious 'game'.

    Dolemite
    ___________________

    --
    Save the World! Use a Quote!
  95. symbiosis by Anonymous Coward · · Score: 0

    Latch onto someone like me, knowledgeable, nice, never learned to say no. Then, ask inane questions all of the time, day and night.. never look anything up for yourself, you selfish bastard. hey, fsck you. do your own damn homework!

  96. I know your situation by Jules+Labrie · · Score: 1
    The first time I went to a CS lecture, I was completely lost. Too much new concepts, that was unpossible to understand the half of what the teacher said. But I had no possibility to change, so I had to do whit that. I did my first year two times, but I took time to understand everything, and now I'm going to do an intenship in one of the biggest computer firm in the world, and for me now this is no pleasure like programming (hhmm, I mean for the study !).

    The main thing is : are you prepared to learn hard and stay between 10 and 15 hours a day in front of your computer (and not to play ! ;). If yes, if you really want to work as a programmer, then try ! You know, with the understanding comes the pleasure. The problem is that some people can't understand, you must know if you are like these people or not.

  97. Computer Science exists for Software Engineering by ChaosDiscord · · Score: 2, Interesting
    I partly agree. I used to TA introductory courses to Computing Science, and the first thing I told my students is that if they wanted to be programmers, they should go to a different institution. We were in the business of making computing scientists.

    Understandable, but a very ivory tower attitude.

    The reality is that the majority of your students are going on to be programmers, perhaps even software engineers, but they're not going to be computer scientists. This doesn't mean you shouldn't teach computer science, many of those companies want people with CS education, a solid grounding in CS is necessary to be a great engineer.

    By way of comparision, it would be like a physics TA telling his students, "If you just want to build bridges and buildings, go somewhere else, we're here to create Physicists, not Engineers." Yet I damn well hope that engineers are taking those physics classes. Pure theory physics is interesting, but it's only useful when people translate it to practice. We need some of each and the pure physicists have to expect to train the engineers.

    It's unfortunate that CS blends the science and engineering into a single school. Your naive belief that there is a better place for would be programmers to go is incorrect. There really isn't a software engineering degree; the closest things tend to be fluffy and superficial; they focus on tools and techniques but fail to expose the computer science you need to excel. If you were to limit your class to people who want to be and have the potential to be computer scientists you'll be looking at some very small classes, a lower profile, and lower levels of funding.

    I am not a computer scientist, I never have been, I never wanted to be. I'm a software engineer (or a programmer, or a hacker, or a coder, whatever). That's what I wanted to be when I entered college and it's what I'm happy to be today. But I highly value my computer science degree, it's one of the keys that allows me to be a good software engineer.

    (I note that you prefer Computing Science over Computer Science to emphasize that you're about the theory, not the actual machines. It's a nice idea, but doomed one. Computer science is the accepted term and most colleges and universities call the department that. It's a tough life for the serious computer scientist. As they say, how real of science can it be if you need to append "science" to its name? If you really want to try and change things, try for just "Computing," no silly science after it. Hmmm, that doesn't look half bad. "I have a degree in Computing," sounds reasonable even.)

  98. No Lisp for introductory programming. by ChaosDiscord · · Score: 1
    Quite to the contrary. LISP is an interactive, dynamically typed language, which makes it great for introductory CS teaching.

    Lisp is a quirky functional language suitable for scaring off perfectly qualified CS students. Lisp is quirky to a fault: car, cdr, and the different meanings of ` and ' are bad historic anomalies enshrined as The Truth. But that can be worked around. More problematic is that Lisp is a functional As it happens, people don't naturally think functionally, people think procedurally. Computers don't process things functionally, they process things procedurally. Lisp is a deep shock for most people and can very effectively scare new students away.

    This is not to say that Lisp is bad. Indeed, Lisp has many useful characteristics. To get a CS degree one should absolutely be exposed to a good functional language like Lisp or Scheme. It's important to know how to think that way and why you might. But it's easier to appreciate (and less scary) after you've worked in procedural languages for a while.

    The rest of your suggestions (Python, etc) are more reasonable; I'd just keep strongly functional ones off the list.

    1. Re:No Lisp for introductory programming. by ajagci · · Score: 1

      Lisp is a quirky functional language

      Lisp is no more of a "functional language" than Python or Perl.

      suitable for scaring off perfectly qualified CS students.

      Any CS student that's scared off by Lisp shouldn't be in CS.

      Lisp is quirky to a fault: car, cdr, and the different meanings of ` and ' are bad historic anomalies enshrined as The Truth.

      Lisp syntax is no more complex than Perl or Bourne shell syntax, languages that lots of people use with no hesitation every day.

      I'd just keep strongly functional ones off the list.

      I did: there was no Haskell or anything like that. Lisp supports a functional programming style (just like Perl and Python), but it is a procedural language (because its functions can have side-effects).

      As it happens, people don't naturally think functionally, people think procedurally.

      As it happens, people don't naturally think object-oriented, or in UML diagrams, or in terms of recursion, or in terms of pointers. Education is about teaching people new ways of thinking. It is not about letting people go on in ruts and just having them memorize a bunch of Java APIs.

      Computers don't process things functionally, they process things procedurally. Lisp is a deep shock for most people and can very effectively scare new students away.

      It is exactly that kind of misguided thinking that makes it important to teach functional programming concepts early on. Languages like Lisp, Python, and Scheme give instructors the option of exposing their students to many programming styles early on. Languages like Java, Pascal, and C are just deeply deficient for teaching because they are on-paradigm languages.

    2. Re:No Lisp for introductory programming. by ChaosDiscord · · Score: 1
      Lisp is no more of a "functional language" than Python or Perl.

      ...

      Lisp supports a functional programming style (just like Perl and Python), but it is a procedural language (because its functions can have side-effects).

      That's a novel view of Lisp. Lisp and its close relative Scheme are generally held to be the most widely used functional languages. Sure, you can do procedural work in Lisp, but you're cutting against the natural flow of the language. You can also do alot of functional programming in Perl, but you're cutting against Perl's grain. It's great that these are both modern enough to include multiple programming techniques, but fundamentally Lisp wants to be functional and Perl wants to be procedural. You're doing a perfectly good language like Lisp a disservice by encouraging introductory students to take its elegant design and use it like a club. They aren't learning anything true about the language, just how to pound nails in with a funny shaped hammer.

      Lisp syntax is no more complex than Perl or Bourne shell syntax, languages that lots of people use with no hesitation every day.

      Lisp's quirkiness (and this is more about quirks than complexity) is an supporting argument against using Lisp as a teaching language, but it's not a complete argument. That said, it most certainly is an argument that can be fairly levelled at both Perl and Bourne Shell. Just because lots of people use a language (I'm fond of and heavily use both Perl and Bourne Shell) doesn't mean it's a good introductory language.

      Any CS student that's scared off by Lisp shouldn't be in CS.

      Note that I didn't say CS students should never learn Lisp; as I mentioned every CS student should learn a functional language and Lisp will do the job quite well. I'm just suggesting that as a introduction to CS it's a bit daunting. What you're suggesting is basically hazing the students; those that survive has passed your arbitrary test and can proceed. The test, however, is arbitrary. Many CS students have little or no programming experience. Their introductory CS class will often be their first real experience programming.

      As it happens, people don't naturally think object-oriented, or in UML diagrams, or in terms of recursion, or in terms of pointers. Education is about teaching people new ways of thinking. It is not about letting people go on in ruts and just having them memorize a bunch of Java APIs.

      I agree that learning APIs is generally a waste of time. You absolutely need to teach new ways of thinking. But you don't need to immediately leap into the deep part of the pool. Jumping to more complex ideas early on is a waste of time, you simply baffle the poor students. Once they have a grasp on the most obvious technique (plain old procedural programming) you can point out the far more interesting ideas (object oriented programming, functional programming, and whatever else).

      It is exactly that kind of misguided thinking that makes it important to teach functional programming concepts early on. Languages like Lisp, Python, and Scheme give instructors the option of exposing their students to many programming styles early on.

      Do you really remember your CS 101 class (or whatever the first class would-be CS majors take is called)? These students are baffled by the most basic things. You can try teaching more interesting concepts like functional and object oriented programming, but you're wasting your time; it's in one ear and out the other. It's probably just as well because the type of toy program you write at that level is so simplistic that it's unclear what the advantage of any given techique is. To the extent that they use, say, object oriented programming in their projects they are simply crudely parroting what they heard.

  99. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    Not at all. I'm a computing scientist first, and a programmer second. Despite the fact that my current job is programming games, I still consider myself a computing scientist. A physicist that ends up doing something practical is a physicist ever after.

    I don't think your analogy about physicists and engineers is particularily accurate, either. A computing science degree is about the theory and mathematics of computing, but we're grounded in the practicality and engineering of programming. Even pure theorists actually write code now and then.

    I disagree that there's not somewhere else to go to learn to be a programmer. There are numerous technical colleges that can produce fine programmers that can do a good job. They don't necessarily understand computational complexity, graph theory, or what an NP-Complete problem is, but I don't really think that it's a big deal that they don't. Most days, they'll be able to program just about as effectively as me. It's true that companies tend to look less favorably on such qualifications, though.

    Despite your claim to being a software engineer, you're still a computing scientist. You've just decided to specialize in one of the many areas of computing. I consider myself a graph theorist and human interfaces specialist. I happen to be a good programmer, but that's just something extra on the side. Your skill lies in the analysis and design of systems. Programming is a little more relevant to you than it is to me, but it's still just a side skill. Assuming that you could never write another line of code in your life, you could still be an excellent software engineer.

    Lastly, I don't really care what other people call it. I'm a Computing Scientist, like my father was before me. We both went to the University of Alberta, and went through their Computing Science program. http://www.cs.ualberta.ca/ :)

  100. In a related note by monopole · · Score: 1

    I want to obtain a Physics degree from a department which doesn't require all this math stuff

  101. aural skills and music education by chocolatetrumpet · · Score: 1

    There is a similiar situation with music education - people think their studies will be about children and playing instruments and whatnot. However, everyone is required to have an extensive background in music theory and aural skills.

    Even though you could absolutely facilitate music education without knowing much theory or having a "good ear," developing that knowledge and skills will help you guide children in the earlier stages of musical development, even if you never actually use any of the advanced skills you developed in college.

    It actually seems kinda strange - even though I now have extensive skills and knowledge, the manner in which I interact musically with people will actually have to be in such a way as if I did not have these skills or knowledge, because that is how students will relate to me musically.

    --
    Spoon not. Fork, or fork not. There is no spoon.
  102. It's hard to start ... by Anonymous Coward · · Score: 0

    Dude. Listen to me. I have a PhD in computer science but felt the same way when I wrote my first assignments. It's hard to start, there's a way of thinking that you'll learn and grow accustomed to. Don't quit because you think it's too hard if you haven't really poured all of your sweat into the process.

    Some advice, it's free and offered with no malice:

    1. Back up a little.
    2. Take SMALL steps when writing a program at the beginning.
    3. Learn to debug by using the print statement don't get involved with a debugger etc. It won't be helpful.
    4. Be prepared to spend a whole night looking for bugs (that's typical when you just start.)
    5. Don't lose faith in yourself over this ...
    6. Don't hesitate to ask for help but don't let someone else do your work for you. EVER.

  103. here's a clue by Anonymous Coward · · Score: 0

    FUCK OFF and DIE YOU ignorant MORON.

  104. As for the University of Washington.... by emmilliiee · · Score: 2, Interesting

    While I'm not a CS major, it sounds to me like the course is having the exact effect on you that the CS department designed it for.

    The impression that I get from my friends that are in the CS department is that yes, they do force you to slog through a bunch of coding classes, but you really need to develop those tools to do the cool and interesting things you probably want to do with computers. (Plus, if you stick with it, a CS degree from UW is one of the better ones.)

    Now, since you're at a pretty big school, if you really don't feel like sticking with it, there are other options that might be closer to what you want to do.

    In particular, check out the Applied Computational Mathematical Sciences Department and the ridiculously competative Information School.

  105. Don't give up on it by RaguMS · · Score: 1

    Maybe the course you are taking isn't being taught very well. A good instructor makes a lot of difference early on when there's a lot of basics to be learned. If you ask me, programming is a lot more straightforward than the theory end of CS. In fact, the few theory courses I've taken have involved no programming whatsoever. They're just so abstract that I have a bit of trouble with the concepts.

  106. Au contraire by Brandybuck · · Score: 2, Insightful

    I'll have to disagree with a lot of these replies. Too many are saying "go into MIS, or IT, or program management, etc." This is the wrong tack. I'm sick and tired of managers who couldn't code a DOS batch file telling me how to write software. Or specifying .NET for hard realtime embedded systems on the basis of some advertisement they saw in PeeCeeWeek. It's just silly.

    How can you possibly make a business decision to go with Java versus Python versus Ruby, if can't code in any of them? How can you create meaninful UML diagrams if you have no clue as to what they represent? And how the hell can you make any high level architectural decisions if you are clueless about the low level stuff works?

    It's like your grade school teacher told you years ago: you're going to be using arithmetic and algebra the rest of your life, so you had better learn them. The same holds true for programming in any field related to computers. One example. The user interface design guys do a lot of analysis. They get in megatons of user data, and need to process it to get meaningful stuff out. So they write quick and dirty Visual Basic programs to do it. It's hardly the pinnacle of programming, but it beats going to the software department and begging for charity work when resources are tight.

    --
    Don't blame me, I didn't vote for either of them!
  107. Well, um by Lord+Kano · · Score: 2, Insightful

    I'm not trying to be abrasive, but I will be direct. CS isn't what most people think it is.

    CS isn't about just using computers. It's about understanding the principles upon which they operate. Stacks, Queues, Linked Lists, Matrices, Vectors, Arrays, Binary Trees, Hashes, myriad other data structures, bubble sorts, inheritance, polymorphism, structs, classes, virtual functions, and many, many other concepts that would give the "average" computer user a spliting headache. When you boil it down, CS is about the low level manipulation of data.

    I can't imagine any effective BS degree program that involved computers that shouldn't include at least some programming. If you extrude the line of reasoning to other fields, the best car salesmen are the ones who know what is going on under the hood. I wouldn't buy a car from someone who couldn't explain to me why ABS brakes, or tuned port injection are beneficial to me. How can you expect to get into the computer field if you don't understand what's going on inside of the little box with all of the lights on it?

    In all seriousness, maybe computers isn't the field for you.

    LK

    --
    "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
  108. Informatics by GCP · · Score: 1

    If you really want to try and change things, try for just "Computing," no silly science after it.

    I definitely prefer "informatics" for the name of the science aspect. I think the real science in "computer science" is more akin to mathematics than to anything else. I'd like to see the discrete math, the information theory, the algorithmics, AI, programming language theory, etc. renamed "informatics" in the English-speaking world to emphasize the underlying theories of information, while deemphasizing any particular physical devices (computers) that are currently popular for implementation.

    Another way to say it: a recursive Towers of Hanoi solution may be grown as a network of artificial neurons in a petri dish. It's still informatics, but it seems silly to call such a thing "computer science".

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  109. give it time.. by auzy · · Score: 1

    its confusing to those who haven't programmed before at least.. The thing is that with java code, u require more knowledge of which variables to do "new" to then in C, thats been my experience though.. I just think at the very least he should try out another language before giving up instantly.

    Coding is not something u enjoy at first, because it takes a while to fully understand stuff (like in C++ ppl are taught that they need "using namespace std;" at the top of their code, but it isn't until months later that they have any comprehension of what a namespace is. But eventually, theres one point that everything falls into place, when the last basic pieces of the language are learnt.. and thats worth waiting for

  110. Nothing was meant to be harsh. by Mycroft_514 · · Score: 1

    c as a language has the functionality of a high level assembler language. Them's the facts.

    Out in the world we talk about 2nd, 3rd, and 4th generation languages. COBOL is widely considered a 3rd generation language, for example.

    Assembler is a 2nd generation langugage. The rational is that assembler has a 1:1 correspondance with processor instructions.

    In COBOL, for example, a single command will execute 1 or a dozen processor statments when compiled.

    C does not execute many commands for most of it's statements, thus it is more like a high level assembler than a 3rd generation language.

    I prefer writing in 3rd generation languages than 2nd.

    However, I have on at least one occasion written a routine in 1s and 0s. Talk about a pain....

    1. Re:Nothing was meant to be harsh. by belroth · · Score: 1
      I'm with you really, but it's horse for courses :-)
      I also use something called FOCUS a fair bit, more than I'd like actually. It was originally billed as a 4GL back when it was trendy, you remember? Back before Ted Codd and his 12 rules became the next Big Thing. Before OOP, before Java/XP/ASP/.anything/whatever.

      Don't you just love the Fashion^WIT business?

      --
      I hereby inform you that I have NOT been required to provide any decryption keys.
  111. Non-required intro classes by MrResistor · · Score: 1

    This will probably never be read by anyone, but I haven't seen anyone else mention it.

    My school, and probably yours as well, has a few intro classes for just about every subject area that aren't pre-requisites for anything else. Most students won't take them, because, well, why would they want to take an extra class that if they don't need to? But, these classes can be extremely helpful for someone in your situation. The class I took that I'm thinking would help you out was Intro to Algorithms. Based on the course code, I thought it would be between Intro to Computing and Intro to Programming, and I was right. IMHO it helped a lot when I started taking my "real" programming classes. I suspect your school has something similar.

    FWIW my Intro to Programming class was based on C++, which I think is a harder first language than Java, which they switched to a few semesters after I took it. That wasn't my first programming class, though. I started out my college career at a JC taking an Electronic Technician certificate course, and one of the requirements was Assembly Language. Personally, I think Assembly is an excellent first programming class. Working at such a basic level you really get a feel for how the computer "thinks", which makes it a lot more clear why in higher level languages certain constructs work, and others don't. Anyway, as unobvious as it might seem, that could be a good class if you're having trouble with the programming end of things.

    --
    Under capitalism man exploits man. Under communism it's the other way around.
  112. Re:Computer Science exists for Software Engineerin by ChaosDiscord · · Score: 1
    Despite your claim to being a software engineer, you're still a computing scientist.

    Perhaps we simply have a terminology problem. By your definition, yes, I guess I'm a computer scientist. But by identification I'm a programmer, a hacker, a software engineer. I don't feel myself as a scientist; I'm a problem solver. It's a inaccurate stereotype, but Real Computer Scientists seem to look at actually touching computers with a bit of distain.

    There are numerous technical colleges that can produce fine programmers that can do a good job.

    I'm familiar with various technical college programs and on the whole I'm suspicious of them (although I'm sure there are some great programs and some great people that come from them). But on the whole simply being taught languages and basic technique isn't good enough. To write software that doesn't, well, suck, you need a grounding in the context and theory. Sure, you'll be able to put together simple front ends and such, but you'll be hard pressed to manage a large scale project.

  113. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    Frankly, that's a bit like a Physicist terming himself a mathematician just because 95% of his job is dealing in mathematics. You're a programmer because that's what it takes to be a computing scientist. Take away the programming, and you would still be capable of actually doing something meaningful in computing. Similarily, a physicist with no ability to do math (pretend that that could happen) would probably be able to conceptualize physics thought experiments that would be meaningful to physics.

    You may self identify as someone that's merely a programmer, hacker and software engineer, but you're really more than that. There's nothing wrong with 'merely' being a programmer, but it's an incorrect moniker to saddle yourself with.

  114. You Damn Pussy!!! by Anonymous Coward · · Score: 0

    All you want is to leave the hard work for us!!

  115. Computer Information Systems by maxphunk · · Score: 1

    That's my major at CSU Chico. It does involve a lot of coding, BUT it requires almost no math or science classes.

    --

    "The chief enemy of creativity is 'good taste'" -Pablo Picasso
    1. Re:Computer Information Systems by maxphunk · · Score: 1

      NOTE: Computer Information Systems != Management Information Systems

      --

      "The chief enemy of creativity is 'good taste'" -Pablo Picasso
  116. "Computer Science" is a silly degree by DEN_GUY · · Score: 1

    That being said, I have a Bachelor's in Computer Science from the University of Redlands. I had a VERY traditional CS education (OOP,Algorithms, Compiler Design, etc.). But it seems to me that with the diversity or the IT field, with SysAdmins, Network Admins, DBA's, Middleware Developers, GUI developers, etc. That there should be some concentrations (i.e., BS in Software Development, BS in Network Architecture and Administration). Any one of these occupations is more than rich enough to require 4 years of rigorous study (not the ITT Tech type of bachelor's...apologies to alums of ITT).

  117. Re:"I want to be a doctor, but I can't handle bloo by Anonymous Coward · · Score: 0

    Programming is as much a science as throwing globs of paint on canvas is a science. Programming is Computer Art, not Computer Science. Furthermore, I'm a proficient C and C++ programmer, but I couldn't stand my intro Java course because the course attempted to use Java as a procedural language with some funny user-defined data types and a LOT of handwaving because it's a bitch and a half to teach OOP to people who don't understand how to declare variables. I actually suggest C++ for teaching because with much less handwaving, you can do basic programming in a procedural fashion, then teach OOP. In Java you have to teach a nasty hybrid of bad procedural programming with bad OOP, then attempt to retrain out of that into good OOP.

  118. now that I think about it by Mycroft_514 · · Score: 1

    I think I remember having focus on some of my systems in the AT&T days. As the DBA I had to let it run, but didn't use it myself.

    I have yet to see a single instance of a real 4GL language.

    As for Codd, I started in the Network model DBMS side and if you really stop and examine the underlying structures, Relational technology is a cut down version of the Network model, with the addition of the "optimizer" tool laid over the top. If we could apply that tool to the network model, we would have something.

  119. Re:Computer Science exists for Software Engineerin by BitGeek · · Score: 1


    You need to get it thru your thick head that "Programmer" is not a subset of "Computer scientist" (which by the way is an awefuly poofter label.

    Its the other way around.

    A programmer knows the application and techniques for softwware development. A programmer also knows the theory behind computers-- the science of computers.

    A computer scientist only knows the theory and not the applciation and is therefore completely useless to everyone.

    --
    Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  120. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    You're clearly something of a troll, but I'll answer anyway.

    First of all, you're wrong. There are a lot of programmers out there that understand very little about how computers or algorithms work. Most amateur programmers understand only that they can tell the computer to do things and the computer will do them. They understand nothing of computational complexity, how the compiler works, or how the computer does anything that it does.

    There was no class in my Computing Science degree that didn't include some programming except ONE high level graph theory course. Compilers, Operating Systems, Object Oriented Languages, Non-Procedural Programming Languages, Introductory Algorithmics and Logic - all of them had a programming component. You're not much of a computing scientist if you can't understand how to implement quicksort. Quicksort on paper is completely meaningless. Its only value lies in the knowledge of its implementation and usage.

    Did you get kicked out of a Computing Science program somewhere? Feeling a bit left out?

  121. Re:Computer Science exists for Software Engineerin by BitGeek · · Score: 1


    LOL, no I think you're the one who can't be bothered to actually do any computer science (eg: work) and just wants to engage in mental masturbation all day.

    Yes, there are coders that learn scripting languages and basic programming... but even basic programming requires knowledge of how computers work.

    As you point out, programming is essential to your computer science curriculem, so your fantasies about having "Computer science" without programmign are just as absurd to your college as they are to me.

    When you find monkeys that can do your programming for you, have fun.

    But the fact of the matter is, there is more to software development than just programming, and unfortunately, computer science programs tend to focus too much on theory and not enough on the practice of software development.

    By the way, you can't seem to decide if you agree with me or not-- all these "Computer scientists" who say they want to get away from computers and just work with paper are the problem here... yet you acknowledge my point-- a quicksort on paper is beyond meaningless- you'll never notice your errors, and it does nothing.

    --
    Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  122. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    No, that's not true. Like most people here on /., you have a skewed sense of what people know about computers. I KNOW a Psychology professor that taught himself how to program in Visual Basic and C. He's not great at it, but he can program somewhat mathematical code that deals with neural networks. He doesn't need to know how a computer works, merely how to tell the computer what he wants. I'm sure he doesn't care about the real difference between a char and a byte and an int, or even if there IS a difference most of the time.

    Programming IS essential to computing science, but it's just a tool. Math is essential to computing science, too, but that's just a tool. I don't call myself a mathematician despite being well trained in calculus, algebra, discrete mathematics and graph theory. They're just a means to an end.

    A programmer is not a computing scientist. A computing scientist is, however, usually a programmer.

    It's true, there's a lot missing about software engineering in a computing science degree, but that's something that most people learn pretty quickly once they get a job in the real world.

    Pure theory computing scientists are no more of a problem than pure theory physicists or pure theory mathematicians. It's useful to us to know these things. Quicksort was probably derived on paper before it was written.

    I've probably been unclear before, so I'll try to clear it up here: computing scientists can't exist without work on pen and paper as well as the computer. A computing scientist that is merely a programmer is a waste, and a useless computing scientist. Knowing that quicksort is fast is something that anyone can learn. Knowing WHY it's fast is somewhat more complex. Understanding why its computational complexity is the best you can get is something that we get trained in. It's what makes us more knowledgable and flexible than people that take an introductory programming course. A computing scientist is SO MUCH MORE than a programmer. I did a lot of work programming to get my degree, yes, but I spent an equal amount of time in class taking notes on the science of what I was doing. A trained lab technician can perform complicated work in a biology lab, but it takes someone with a biology degree to understand the why, what and how of what's going on in that lab.

  123. That's Just Cold by Farley+Mullet · · Score: 1

    I've read some of what RMS has written, and I've taken a philosophy degree. Accusing someone with a philosophy degree of writing like Stallman is insulting.

    1. Re:That's Just Cold by nicolas.e · · Score: 1

      I am sorry if I have offended you or anyone else and I sincerely apologise.

      I was just trying to do a bad joke.

  124. Re:Computer Science exists for Software Engineerin by BitGeek · · Score: 1


    Unfortunately, you don't know what you're talking about...you have your worldview and you aren't open to the real world.

    It sounds like you've spent all your time at a university and haven't actually been a programmer.

    A computer scientist and a programmer are the same thing. A psych prof who learns to program is a programmer-- not a full one, but a beginning one.

    You belittle programming for whatever reasons you choose, but it sounds to me like you don't understand it, or computer science.

    --
    Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  125. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    I'm not a real programmer, eh? I 'belittle' programming? You really DID get kicked out of a CS program, didn't you?

    Why don't you mail me at the email address that you see, and we'll talk. You can take the part of my email address after the '@' sign and add a www. to the front. Visit, and see the kinds of things that I work on.

    A computing scientist is a programmer only in the same way a physicist is a mathematician.

  126. Re:Computer Science exists for Software Engineerin by BitGeek · · Score: 1


    Yawn, now you're repeating your lame insults?

    Sorry, you have an attitude problem. You haven't made a counter argument-- all you've done is said nasty things about people.

    Those who can do, those who can't bitch about the system.

    In this discussion, it is YOU who is bitching about the system, not me.

    The reality is computer science trains programmers. That's what the programs are set up to do, and that's what they do.

    You're bitching because they are too hard, and make you actually use computers-- LOL! Maybe you're the one who got kicked out of a CS program.

    Whatever, I don't care. You have had your chance to make an argument and you've failed.

    Go get a job.

    --
    Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  127. Re:Computer Science exists for Software Engineerin by Dixie_Flatline · · Score: 1

    You obviously didn't pay any attention to my last post. I DO have a job. I WORK as a programmer. I'm also well aware enough of my abilities to realize that I'm more than just a programmer. If it came to it, I could make a very good living NOT programming, but still working with computers in some computing science related field.

    Email me. My email address is right there. Your argument is the one that lacks any substance. All you've managed to say is that 'Computing Science is the same as Programming', which doesn't become any more true any more times you say it to me.

    And I wasn't bitching about the system, merely telling people that programming isn't the be-all and end-all of computing science. It's just a skill. The person bitching about the system is the originator of the whole thread.

    Seriously, mail me. We'll talk about my job and my qualifications for saying these things.