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

17 of 255 comments (clear)

  1. 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 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]
  2. 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 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.

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

  4. 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]
  5. 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)

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

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

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

  9. 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!
  10. 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.

    --
    ...
  11. 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..."
  12. 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.

  13. 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!
  14. 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
  15. 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...