cmcintos@oucsace.cs.ohiou.edu (Chip Mcintosh) (04/22/91)
I got to work today and was kind of bored, so I thought that I would look through my .newsrc to find a new newsgroup or so to add. I came across this one and found one of the most pleasant surprises I have had since I have been in college. Let me explain why. I am an undergraduate computer science/philosophy major at Ohio University, and have begun to feel a bit concerned about my future in the CS field, because I am seeing a lot of very standard career options that just do not appeal to me. I am not in computer science because I want to be a programmer for the rest of my life, I'm in it because I want to make some of my dreams come to fruition, and computer science provides the best means to this end. Over the past few years I have been doing a lot of thinking about virtual worlds, but I have no idea which path to take so that I might work on it. That is why I am so surprised to find this group. This is one of the first times that anything has appealed to my career interests since I have been in college, and I want to find out more. Unfortunately, the CS department at OU is not very large/well funded, so we basically are forced to stick to "popular interest" subjects(database design, software engineering, minor AI, etc.), as we don't have the funding(or the professors) for anything else. So what I need to know is this: What direction do I need to point myself in? What types of CS classes do you think I should take(AI, databases, etc.) in order to get going with what I want to do. What schools have good graduate programs in the area? What corporations are expressing interest? Basically, what can you tell me about virtual worlds? This is the first time I have heard anyone seriously mention it besides myself, and I want to learn more. Any help any of you can give will be very much appreciated. Thanks a lot.
johng@oce.orst.edu (John A. Gregor) (04/23/91)
In article <1991Apr22.164357.10184@milton.u.washington.edu> cmcintos@oucsace.cs. ohiou.edu (Chip Mcintosh) writes: > I am not in computer science because I want to be a programmer for the > rest of my life, I'm in it because I want to make some of my dreams > come to fruition, and computer science provides the best means to this > end. > Over the past few years I have been doing a lot of thinking about > virtual worlds, but I have no idea which path to take so that I might > work on it. > So what I need to know is this: What direction do I need to point > myself in? As with any emerging technology, the more diverse your background, the better. For VR to take off, it has to be used for _something_. Having experience in that _something_ will be as useful to you as your CS experience. > What types of CS classes do you think I should take(AI, databases, > etc.) in order to get going with what I want to do. I think that you should expand your focus beyond CS classes. If you haven't experienced real-world (tm) problems that could benefit from VR ideas, you won't be able to judge as effectively what features/paradigms are the most valuable. Some areas you might want to look at: -Technical Theater, Lighting Get a feel for how the theater folks model the real world with as few props as possible. -Broadcast Media, TV Direction To learn how the TV folks present a model of the real world on a 2D TV screen. -Engineering Lot's of visualization of complex data, highly interactive CAD tools, etc. They are pushing the limits on many of the areas relevent to VR. -Architecture They are heavily into CAD. Also they often produce animated (sometimes even interactive) walkthroughs of proposed buildings to show to customers. -Computational Chemistry They are trying to get a feel for the properties of large molecules, so they are doing lots of 3D viewing. Also some experiments with force feedback devices to probe for binding sites, etc. -Molecular Biology Same as above mostly. -Cognitive Science Learn about how we perceive and remember the world around us. In the CS domain: -Graphics, graphics, graphics Pretty obvious. -Math, math, math To be able to do all the graphics, graphics, graphics. Linear Alg, and computational geometry are the biggies. A good grounding in set theory and topology won't hurt. -Networking, Distributed computing, Distributed databases, A lot of the VR stuff wants to share a reality among lots of people. So almost any parallel distributed computing work will be useful. The database is as much of a bottleneck as the graphics (especially if the world is writeable or if you want to model object-object interactions (like collisions)). -Other programming paradigms Functional prgramming (lisp, ml, fp), logical programming (prolog), object-oriented programming (smalltalk), etc. each add new programming paradigms that are extremely effective at solving some problems. Being fluent in more than one is a plus. > Any help any of you can give will be very much appreciated. Thanks a > lot. Have fun! JohnG -- John A. Gregor College of Oceanography E-mail: johng@oce.orst.edu Oregon State University Voice #: +1 503 737-3022 Oceanography Admin Bldg. #104 Fax #: +1 503 737-2064 Corvallis, OR 97331-5503
good@baviki.enet.dec.com (Michael Good) (04/23/91)
In addition to John Gregor's many good suggestions, I'd also like
to point out the importance of your philosophy major. Someone
coming out of school with a good background in philosophers
like Heidegger and Wittgenstein, plus the comp sci and work-
related skills, would (to me) really stand out.
Pelle Ehn's book on "Work-Oriented Design of Computer Artifacts",
available from Lawrence Erlbaum Associates, is probably the best
work for illustrating the importance of philosophy to the engineering
of new computer systems. Virtual worlds takes this philosophical
link which applies to nearly all interactive systems and then makes
it explicit in the technology itself - that is, virtual worlds technology
makes explicit certain philosophical issues that have previously been
abstract.
>From that philosophical background, it should be evident
why you want the work experience that Gregor's strongly
recommends. To understand and develop the technology, you
need to undestand (at least some of) the contexts in which
it will be applied.
Good luck,
Michael Good
good@baviki.enet.dec.com