[Edu-sig] Computer science (long, rambling)

Dethe Elza delza@alliances.org
Fri, 20 Jul 2001 10:12:28 -0700


Here's my story about CS degrees:

I went to an alternative high school where you had to be very 
self-motivated in order to graduate.  About this time, Reagan was 
elected and all funding dried up.  The school closed in 1983 after 12 
years in operation.  This was my third year and I didn't have the 
credits to graduate, so I chose to drop out rather than re-enlist in 
traditional school.  Math was one of the credits I didn't have.

Finally got my GED in 1984 so I could go back to school. I went to a 
technical school in emergency medicine.  It was OK, but I decided I 
didn't want to be an ambulance driver, a decision driven home when I had 
an automobile accident on my way to class one day.

Dropped out for a while.

Went back to school at University, in Physics because I'd been reading 
the Tao of Physics and related works, I immediately discovered that 
college-level physics has nothing to do with all that and I'd about two 
years of math before I could take my first physics course.  Switched 
majors to Creative Writing.  My family was paying for me to go to 
school, in hopes that I would get scholarships or grants or something. 
Unfortunately, I hated paperwork.  After awhile they stopped paying and 
I dropped out again.

Spent about five years, mostly washing dishes for a living.  Finally got 
a job 12 hours a week typing reports for the local hospice.  We were 
sharing an Apple II with the visiting nurses association.  It turns out 
that typing in Junior High was the most important class I ever took, 
because everything else came from that.  I worked my way up from typist 
to full time secretary to office manager.  Along the way, a much larger 
hospice donated some software for running a hospice, mainly handling 
billing, but it ran on a PC which we didn't have.  So for two months I 
read every PC magazine I could find, learned the jargon and 
requirements, and wrote up my findings.  My boss added a cover letter 
and that was our grant application.  We got the grants, installed the 
software, and got our records and billing processes moved over to it 
(this was a 286 running DOS and Windows 2.0).  I began to think this 
computer thing might have a future in it--the idea of getting paid for 
what I enjoy doing had been pretty alien to me before.

Left hospice and did some consulting, setting up computers, 
problem-solving.  Got another job typing, mostly resumes, temped in a 
law office.  Eventually I ended up washing dishes again, but this time 
as a worker-owner of a cooperatively-run restaurant.  Decided it was 
time to get a degree.  I was thinking I'd go into Math because no matter 
what I studied (architecture, physics, music, etc.), I kept coming up 
against the wall that I didn't have Math as a language.  I didn't figure 
I needed to go into CS because I could learn computer stuff on my own. 
Wiser friends persuaded me to go into CS.

Left the restaurant business (one of the few jobs I miss) and began 
selling Macintoshes and working as a TA babysitting the computer lab.
Learned that there were two kinds of students in CS: Those who were 
genuinely interested in computers and had their own projects on the side 
and would pick up new languages and skills because they needed them or 
were curious, and those who were there to get a lucrative career, did 
the minumum to not flunk out, and would eventually be the managers of 
the others.  I also noticed a common dynamic in the university: 
Engineering students who couldn't hack it became CS students.  CS 
students who couldn't hack it became MIS students.  I don't know what 
happened to MIS students who couldn't hack it.  Interestingly enough, I 
found freedom of expression was tolerated much more in CS than in the 
creative writing department.

OK, now we finally get to the math part.  Thanks for hanging in with me.
CS required four quarters of Calculus, but it wasn't a pre-requisite for 
any of the CS classes, just for graduation.  Having had no math classes 
since junior high, I had to take three classes just to get to Calculus, 
beginning with Math 101.  Math 101 was basically a rehash of what I'd 
covered in Junior High 10 years earlier, and it was filled mostly with 
non-traditional students.  I often found myself translating the 
teacher's math-speak back and forth with the other students: The teacher 
couldn't understand them and they couldn't understand him, even when 
they were both saying the same thing.  This lead to the teacher 
suggesting that I major in Math, which I found amusing, "Dude, I'm in 
*remedial* math!"

None of the computer science classes I took mentioned math until my last 
quarter when I took a graphics class and we were expected to know Linear 
Algebra (which wasn't a requirement).  It was the first experience I had 
in CS where they showed us how any of the math we'd learned could be 
applicable to real problems.  This class was an elective and was taught 
by the worst teacher in the department, who sensible people avoided like 
the plague (I had previously sworn never to take a class with him again, 
but I never listen to my own advice.  Oh, and he was my academic 
advisor, a role which made his teaching look good by comparison.)

Now logic was something we used all the time.  I'd taken logic in my 
earlier incarnation as a creative writing major, and it was taught by 
the philosophy department, not the math department.  Needless to say, 
this was not a requirement (or even a strong suggestion) in the CS 
curriculum.

Graduating from CS, I did one of the most reckless things of my entire 
life: I reinlisted for a Master's degree.  At this time there was a 
slow-motion coup going on in the CS department.  Until this time there 
was no official CS MS degree program, just a math degree with "emphasis 
on computer science."  The junior professors were dissatisfied with 
this, while the older professors (who all came from math or philosophy 
backgrounds) were happy with it.  The junior professors won and we got 
more than we bargained for: The entire CS program was taken out of the 
college of arts and sciences and moved to the college of engineering. 
We would all be engineers now!

(Actually, my first quarter as a grad student was still in the math 
department.  I wanted to seek out my Math 101 teacher and say, "Look, 
you were right.  I'm a graduate student in math now!" But I didn't.)

Of course, no one knew how this would work, so the five of us who stayed 
on after our bachelor's degrees became guinea pigs for the new program. 
The new degree was "Electrical and Computer Engineering," and we were 
thrust into crash courses in EE (for which we didn't have even the 
barest traces of the required math), circuits, hardware logic, 
parallelism, physical networking (ethernet and it's kin, as opposed to 
TCP/IP and its kin), etc.  Then we would trudge back to the math 
building for our CS classes.  There was no continuity, and while there 
was one CS class which touched on math skills (Algorithms), I think it 
would still have been over our heads even if we'd had the experience 
with maths and proofs.  On the other hand, our EE classes were mostly 
applied math and logic, ranging from the simplistic to the brain-defying.

Since graduation I have worked at Lucent programming CORBA interfaces 
for monitoring telephone networks, at various internet startups, 
programmed servers and clients, databases and 3D visualization tools, 
installed hardware, monitored networks, written code in umpteen 
different languages, mentored junior developers, and taught some 
continuing ed. classes.  I still find I come across a need for math more 
often in my personal studies than in my work, but knowledge of math, 
especially a deep, intuitive knowledge of math, helps in the day to day, 
probably in ways I'm not even consciously aware of, but see in the work 
of people who lack it.  Logic still plays a greater role than calculus 
(even when I was doing 3D).  I should have taken statistics in college, 
I'm being forced to learn them bit by bit over the years and it would 
have been less painful to take them as one bitter pill.

I've also had the pleasure to work with some fine people over the years. 
  Some of them came from technical schools, many from CS programs, a few 
had Ph.Ds, quite a number had no official computer education at all. 
What made them good at their jobs, good with computers, is a deep-seated 
interest in computers.  The very best were interested in people more 
than computers, but the interest in computers had to be there.

Somehow I feel all of this should lead to why I love Python so much. 
Perhaps it does.  My wife, with no programming experience and whose 
computer experience is limited to email and word processing (now 
branching out into weblogging), has written a Python program to compare 
mortgages.

There is this tendency in our society to see computers as something more 
than what they are.  People like to use computers as metaphors for the 
brain, to see them as living things, or powerful forces (for good or 
ill), but really, computers are just tools.  Fantastically complicated 
and flexible tools, but just tools.  Like all tools, computers are good 
for some tasks and not for others.  People who are going to be good IT 
workers are the ones who realize this, who *regardless of their 
education* have an interest in these tools and making them work better 
for people.  Those are the two keys: Interest in constantly learning 
more about these complex tools, and interest in making them work better 
FOR PEOPLE.

OK, sorry for the long post, didn't have time write a shorter one %-)

--Dethe

--

Dethe Elza (delza@burningtiger.com)
Chief Mad Scientist
Burning Tiger Technologies (http://burningtiger.com)