Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Technology

Computer Studies w/o Excessive Coding? 255

Peterus7 asks: "I'm a student at the University of Washington, and I was planning on majoring in Computer Science or Informatics until I took Computer science, and I'm realizing that it's simply beyond me. I grew up with computers, and naturally I want to study a field that involves a lot of interaction between people and technology (mainly computers), but the Intro to Java class I'm taking now is driving me over the edge. Any suggestions for a technologically intensive field that doesn't require ungodly amounts of coding, or perhaps any general methods for surviving computer science courses for new students?"
This discussion has been archived. No new comments can be posted.

Computer Studies w/o Excessive Coding?

Comments Filter:
  • by ajagci ( 737734 ) on Wednesday February 25, 2004 @07:04AM (#8384422)
    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.
  • Human factors (Score:4, Informative)

    by tengwar ( 600847 ) <slashdot&vetinari,org> on Wednesday February 25, 2004 @07:23AM (#8384476)
    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.
  • Re:Computer Science (Score:2, Informative)

    by davechen ( 247143 ) on Wednesday February 25, 2004 @12:07PM (#8386799) Homepage
    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.
  • by attaboy ( 689931 ) on Wednesday February 25, 2004 @01:14PM (#8387742)

    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.

  • by JavaLord ( 680960 ) on Wednesday February 25, 2004 @01:33PM (#8388108) Journal
    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 [amazon.com] 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.
  • Find a new major. (Score:2, Informative)

    by Dyrandia ( 253125 ) on Wednesday February 25, 2004 @01:45PM (#8388303) Journal
    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.
  • by PetoskeyGuy ( 648788 ) on Wednesday February 25, 2004 @02:48PM (#8389163)
    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.
  • by Peterus7 ( 607982 ) on Wednesday February 25, 2004 @05:17PM (#8390906) Homepage Journal
    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.

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...