Subject: My opinion on the Technion - revision 1.5

From: Shlomi Fish <[email-masked]>
Date: Thu, 22 Mar 2007 07:27:13 +0200

Hi all!

Check:

http://www.shlomifish.org/philosophy/computers/education/opinion-on-the-technion/

It's a web-page version of this old Hackers-IL post:

http://tech.groups.yahoo.com/group/hackers-il/message/3480

It was made up to date, corrected and clarified. 

Note that I still haven't added the section "Should I study in University", 
where I basically say "I don't know.".

Regards,

	Shlomi Fish

---------------------------------------------------------------------
Shlomi Fish      [email-masked]
Homepage:        http://www.shlomifish.org/

Chuck Norris wrote a complete Perl 6 implementation in a day but then
destroyed all evidence with his bare hands, so no one will know his secrets.

---

From: "Nadav Har'El" <[email-masked]>
Date: Thu, 22 Mar 2007 09:36:51 +0200

> http://www.shlomifish.org/philosophy/computers/education/opinion-on-the-technion/

For the sake of fairness, I would mention the department you studied in.

Because my experience in the Math department couldn't be more different than
the one you encountered. Most (although unfortunately not all) of the
professors were excellent teachers, and I really admired both their knowledge
(which you also admit is good) and their teaching method. I got the feeling
that most of them really loved teaching, loved the material they teach, and
cared about the students.

Of course, the fact that most Math courses had 5-30 students in them - not
the hundreds you probably had in many of your courses - did a lot to improve
the situation. Sometimes even with a good teacher, if you're in a "stadium"
of 200 students, you feel neglected and lost, and it's easy to blame the
teacher. I know I have (in huge courses like Physics 1M). Of course, with
a really gifted teacher, you'll enjoy even a course in a stadium, but these
are obviously rare.

My other comments about your essay:

Your section about the faculty is confusing: did you find them enlightened,
or not?

I agree with you about the *huge* load during my studies (many days I
did not go to sleep before 3am...), but in previous discussions here, we
agreed to disagree about the merits of "pair programming" ;-) The most
basic problem with this method is that it's *not* pair programming - usually
the pair doesn't work together, but rather divide the exercise and do each
part separately. I wrote about my more fundamental problem with this approach
in http://nadav.harel.org.il/homepage/musing/educooperation

What you write about the test difficult baffles me. Do you claim that working
hard on the exercises should be enough to get a 100? Should it be enough to
be a "hard working" to finish the university with a 100 GPA? Shouldn't the
tests really be just hard enough to differenciate between people who work
hard (and have a lot of free time...) but have a shallow understanding, and
"geniouses" who got deep understanding of the material?
You know, there's an even an opposing view which says that the tests should
not be too similar to the problems encountered in the exercises (which is what
you suggest). The problem with that suggestion is that it strongly emphesizes 
memory - not understanding or even hard work; Your best way to pass these
tests is to memorize all the exercises - if you do, you'll finish the test
in an hour and get a 100, but if you don't, there's a high chance you'll do
something wrong and get less than a 100.
In fact, you can even memorize exercises which you never did yourself. I'm
sure that you know the (assumed) difference between P and NP, right? Solving
an NP problem is hard, but once you know the solution, verifying that it is
correct is easy (polynomial time). Math homework (for example) is the same -
solving it is hard, but once you see the solution, reading it, memorizing it
and even understanding it - is easy. Practicing the skill to understand someone
else's proofs is *not* the same as practicing to create new proofs.

> where I basically say "I don't know.".

I think the answer is obvious, YES with a capital Y E S. Even if you think
that it didn't change the way you think for the better (I believe it did)
then at least it changed the way that employers think about you, which is
important in today's job market...

-- 
Nadav Har'El                        |      Thursday, Mar 22 2007, 3 Nisan 5767
[email-masked]             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |I used to work in a pickle factory, until
http://nadav.harel.org.il           |I got canned.

---

From: Shlomi Fish <[email-masked]>
Date: Thu, 22 Mar 2007 20:30:43 +0200

Hi Nadav!

I'm BCCing this message to my friend, co-student and former partner from the 
Technion.

Thanks for your email! I'll reply to your comments here and later integrate i 
into the article. (to prevent further critique).

> For the sake of fairness, I would mention the department you studied in.

Right.

> Because my experience in the Math department couldn't be more different
> than the one you encountered. Most (although unfortunately not all) of the
> professors were excellent teachers, and I really admired both their
> knowledge (which you also admit is good) and their teaching method. I got
> the feeling that most of them really loved teaching, loved the material
> they teach, and cared about the students.
>
> the hundreds you probably had in many of your courses - did a lot to
> improve the situation. Sometimes even with a good teacher, if you're in a
> "stadium" of 200 students, you feel neglected and lost, and it's easy to
> blame the teacher. I know I have (in huge courses like Physics 1M). Of
> course, with a really gifted teacher, you'll enjoy even a course in a
> stadium, but these are obviously rare.
>

Indeed. It is possible that the lecturers didn't seem enlightened and seemed 
narrow-minded to me, while in fact they were to some extent enlightened only 
they did not show it. Like I said I find it hard to believe that someone can 
become a professor in the EE department, without being very intelligent, as 
even graduating with a B.Sc. is hard enough. Many of the professors probably 
were just trained not to become an authority on anything except their fields 
of interest, and so delegate stuff to other professors with this particular 
field. That or after being enlightened students they were crashed 
by "reality" as they grew older:

http://www.shlomifish.org/philosophy/philosophy/advice-for-the-young/#growth_death

In a sense like I said I gave up on some of my aspirations, and decided to 
study material I mostly have the knack for. I'm not saying I was crashed by 
reality - I'm still excited about stuff, learn a lot everyday, have an ever 
growing list of things I'd like to write or read about, etc. But I gave up on 
the Technion's EE faculty on teaching me things that I did not know nor had 
the knack for, and which were not part of the corriculum. For example, I took 
the course "[Elctromagnetic] Waves and Conduits", which was badly managed, 
without any good reference material, without a website, with an unclear 
lecturer, with a good T.A., but whom without him I would not have been able 
to solve the homework, and with two tests that I did not know how to solve, 
and as a result recieved a close to 0 grade. After it, I decided that 
Maxwell's equations and their manipulation into optics scared me, and so 
eventually did not take any course in Electro-optics, which I intended to 
learn. (And is supposedly a very hot topic nowadays, optical fibers, optical 
computers and all considered.)

> Your section about the faculty is confusing: did you find them enlightened,

I found most of them un-enlightened. Many T.A.'s seemed more englightened and 
less narrow-minded than most of the lecturers with a Ph.D. or Prof.. It is 
possible that what I consider being "rehav-ofakim" (wide-minded, the antonym 
to narrow-minded) has a generation gap, because the lecturers were not 
interested in the same things that I am when they were B.Sc. students. So 
they may not know a lot about UNIX or XP or OOP&D or FP/Scheme/Haskell/etc. 
or dynamic languages (Perl, Python, Common Lisp, etc.) or all of the latest 
hacker culture and technologies, but they are knowledgable about the hot 
technologies of their day.

> basic problem with this method is that it's *not* pair programming -
> usually the pair doesn't work together, but rather divide the exercise and
> do each part separately. I wrote about my more fundamental problem with
> this approach in http://nadav.harel.org.il/homepage/musing/educooperation

I read it and let me try to convince you why are wrong, as I wrote then:

http://tech.groups.yahoo.com/group/hackers-il/message/3493

It's better to reach a real agreement than to agree to disagree.

1. First of all let's see what's the worst case scenario is. One partner does 
all the work. The other one slacks. Then test day come. The one partner 
passes (hopefully with blazing colours), and the other one gets 0. Test is at 
least 60% of the grade. So the other student fail.

1b. The slacker prepares for the exam intensively close to the end of the 
semester, while not learning before that. So he passes. Does he deserve the 
grade? I suppose - as he still knows the material and worked hard.

1c. So if someone slacks he still fails the course. (factors and other 
monsters non withstanding.)

2. Is the Technion should do anything that it can to prevent students from not 
doing their homework properly? After all, they can just copy from references. 
At a course I did - "Image Analysis and Processing" (I told you about it 
extensively) , my partner and I sat for days on end solving each of the four 
exercises. Since we didn't do some things properly (or according to what the 
one who graded the test expected - ;-)) we were graded below 94 and above 80. 
But there were many 100's in the grades list. So my guess was that they 
copied it from a reference.

I don't think a university should be concerned with that, because there are 
many ways to cheat, and the grader's time is precious.

3. You do agree that when the two partners are compotent and they both sit 
down to solve it, there can be wonderful synergy. I've experienced it first 
hand many times. Often I was more successful at getting the exercises right 
and often the opposite (varying from course to course and from exercise to 
exercise) but we both had an easier time, and we both learned a lot from each 
other.

4. And it's more fun, than solving it all by alone. Man is a social animal. 
One is alone, two is a company. Psychology matters.

5. I'm not implying something stupid like it will prepare people for pair 
programming in their work (which may or may not happen). People can get used 
to pair programming or pair solving very quickly because it's natural.

6. As an analogy, most scientific articles have more than one writer.

7. I believe people will have enough chance to "work on their own" during 
their studies, as you say. There are many such courses, and some students 
solve each their own version and then compare it, for peer review and 
criticism. (There's a documented teamwork "pattern" for this too.) 

>
> What you write about the test difficult baffles me. Do you claim that
> working hard on the exercises should be enough to get a 100? Should it be
> enough to be a "hard working" to finish the university with a 100 GPA?
> Shouldn't the tests really be just hard enough to differenciate between
> people who work hard (and have a lot of free time...) but have a shallow
> understanding, and "geniouses" who got deep understanding of the material?

Maybe. However, don't you think hard work and spending a lot of time should be 
as equally rewarded as talent and "genius". Usually hard work will result in 
understanding at least in most EE courses. This is not Medicine, where all 
you have to do is memorise a lot of things by heart. Or humane studies in 
many universities (but not all) where you can easily fake it very well:

http://www.paulgraham.com/resay.html

(look for "physicists" and "French literature").

So if he worked hard he deserved it. Tests should quantify the knowledge and 
understanding of the material, not your intelligence level, however you want 
to "measure" it. If you already knew the material (say Theo de Raadt (hi 
Elad!) taking a Technion's "OS Design" course.) and slacked off completely, 
and then aced the test, then he also deserves to get 100%.

> not be too similar to the problems encountered in the exercises (which is
> what you suggest). The problem with that suggestion is that it strongly
> emphesizes memory - not understanding or even hard work; Your best way to
> pass these tests is to memorize all the exercises - if you do, you'll
> finish the test in an hour and get a 100, but if you don't, there's a high
> chance you'll do something wrong and get less than a 100.

I agree that tests should tests should not show exact exercises that were 
shown in class. After all, you need to be able to understand it enough. But 
in the Technion they are many times completely off-tangent. Here's an 
example:

I took the "Intro to Algorithms and Data Structures" course which a crash 
course on basic and more complex data structures (up to a hash), graph 
algorithms and other algorithms for EE students (who cannot take the CS 
course due to Technion politics.) There were almost no correction proofs 
which to be done correctly are very tedious and require more sophistication 
and mental prepartion. The exercises were satisfying, the lecturer conveyed 
the material well (at least I thought so), and the test was fair. I received 
100, as I spent some time before the test explaining the material to a 
friend's friend who relatively slacked off, and teaching is the best way of 
learning. He receive a grade in the 70's and 80's

Now a different friend of mine took the course, did all the homework and when 
he came to the test it was littered with having to do correction proofs. They 
weren't shown and they weren't prepared for that. Maybe 
Cormen-Leiserson-Rivest covers them somewhere superficially, but it's not 
what you expect from a "Hashmelator" (= Electrician) (not that CS students 
are better when they come but they are better prepared in the course for such 
proofs.). So this is one case where it doesn't hold.

> sure that you know the (assumed) difference between P and NP, right?
> Solving an NP problem is hard, but once you know the solution, verifying
> that it is correct is easy (polynomial time). Math homework (for example)
> is the same - solving it is hard, but once you see the solution, reading
> it, memorizing it and even understanding it - is easy. Practicing the skill
> to understand someone else's proofs is *not* the same as practicing to
> create new proofs.

I hate memorising stuff. I had bad memory. I can never remember if it was -1 
or 1 in what context. I want to have pages and I want to have all the 
material at hand. I don't want to have to recreate a 10 page proof in a Game 
Theory exam (which I understood, but would be damn if I remember). A math 
student I knew (a friend of OrrD) told me she once memorised a proof, and 
wrote it down at the test, and that after she recieved the test back she 
compared it to what was written in the notebook and she said they had been 
virtually identical.

Math is not about memorising a lot of obscure proofs and theorems. That's what 
books and formulae pages are for. While important, I don't think you can 
expect someone to recreate a 10 (or was it 20) proof in the duration of a 3 
hours test. Math is about remembering concepts, knowing how to attack 
problems, applying these problems, doing analogies, implementing what you've 
learned elsewhere (including more real life situations). If you thought a lot 
about a problem (say this one: 
http://www.shlomifish.org/MathVentures/3d-outof-4d-mathml.xhtml or its ASCII 
art version http://www.shlomifish.org/MathVentures/3d_outof_4d.html ) then 
later you will remember its technique of solution everytime and can utilise 
it as a tool in your growing mathematical arsenal. But passively reading a 
long proof from a book or copying what the professor said is not as effective 
as doing it yourself. I don't suggest you prove everything from scratch, but 
you gain more insights from the exercises you solve, and so memorising the 
proofs you've passively digested is suboptimal.

Another thing is that those who are good at maths (people with audible memory, 
who remember sounds, speech, songs, etc. very well) have worse and more 
accurate memory than people with a visual or even photographic memory. I once 
briefly tutored someone with a photographic memory who could memorise entire 
pages for a time (until he forgot them). He had no problem acing his History 
Matriculation exam where he memorisd the whole book.

But then when he did 5 units of Physics, he kept finding he had a small amount 
of time to do the tests properly. I initially thought his teacher was a nazi, 
but then after looking at the returned test saw that he did it all wrong, and 
she was right in grading him improperly. Now I would have found this test 
relatively trivial and come up with an accurate solution (minus some typos), 
because I have a better knack for math, partially because I have an audible 
memory.

>
> > Note that I still haven't added the section "Should I study in
> > University", where I basically say "I don't know.".
>

Well this question is more complex. What should I learn? CS? EE? Math? IE? CE? 
SE? Philosophy? Linguistics? Physics?

Should I do it straight out of high school? Should I work before that?

Nadav, FYI, Ori here never went to university. And on the ride to and from 
Haifa he was fully aware and understood the data structures and algorithms I 
used in Freecell Solver (hi Muli!), version control systems, etc.  He was 
very computer literate, that even many EE graduates can learn from.

Also, Randal L. Schwartz wrote this:

http://use.perl.org/~merlyn/journal/29946

It's not so simple, Nadav.

-----------

Thanks for your response. This email was a braindump and too much verbose and 
recursive. I'll put the relevant parts after repharsing back into the article 
to clarify it, but I'm in no condition to do it now.

And I'll finish with a joke (from an IRC conversation:

EE studies. In the Technion. Been There. Done That. Forgot a lot. Remember too 
much.

Rashi:
------

Forgot a lot of useless stuff (but also important stuff). Remember too much 
useless stuff.

Regards,

	Shlomi Fish

---

From: guy keren <[email-masked]>
Date: Thu, 22 Mar 2007 20:57:31 +0200

shlomi - i think you're a good example for a student that went to the 
wrong faculty.

everything you seem to find interest in, falls under programming. you 
should have gone into the CS faculty instead. you didn't know that in 
advance, i imagine (hardly anyone does) - but i think that once you 
realized this, you should have had the courage to make the switch, 
instead of forcing yourself to continue suffering. even if you have done 
that after 2 years, you could have completed a 3-years BA in CS in the 
same time you studied EE overall (it took you 5 years, right?).

i would have added this to your criticism - to put it in context ;)

--guy

Shlomi Fish wrote:
> _______________________________________________
> Perl mailing list
> [email-masked]
> http://perl.org.il/mailman/listinfo/perl

---

From: Shlomi Fish <[email-masked]>
Date: Fri, 23 Mar 2007 17:07:42 +0200

> shlomi - i think you're a good example for a student that went to the

Perhaps. However, I don't regret taking EE instead of CS, because I learned a 
lot of new things I didn't know, and deepened my understanding of how 
computers work, some high math, signal processing, and networking. I have 
second thoughts on going to the university in the first place, but I guess 
you can change that.

> everything you seem to find interest in, falls under programming. 

That's not true. I'm also interested in: philosophy, linguistics, history 
(especially pre-Renaissance), writing, the Old Testament and other things. As 
far as my studies were concerned I found many topics interesting that were 
not purely CS: signal processing (including image processing), logic design, 
some electronics, thermodynamics, the math we learned, etc. Most Electrical 
Engineers nowadays sit at the computer all day, and program something 
(including Verilog or VHDL) or at most design circuits. Some of the "lucky" 
ones manage the electrical circuitry of buildings, or power supplies etc. and 
(BTW, there's a huge shortage of those, and has been even during the bubble.)

The EE department in the Technion gives many courses on Mathematics and 
Computer Science. I think the CS courses tend to be easier and more focused 
and with a practical orientation than their equivalents as given by the CS 
department. And there are courses equivalent to EE ones at the CS department. 

It's really a huge waste of resources. I overheard someone said that you 
should take the EE department and the CS department, and throw them both to 
the sea for letting so much politics interfere with running efficiently. If 
you ask me, I think they should be merged, as is the case in MIT where they 
have one department for both. And moreover, now the Industrial Engineering 
department started having its own courses in Computer Science. 

> you 
> instead of forcing yourself to continue suffering. 

As much as I was "suffering", and recall that towards the end, it got much 
better, I still learned a lot. And I believe I would have found many courses 
pointless and redundant when studying CS too. And it certainly would have 
been more of a challenge. 

In this article:

http://www.paulgraham.com/college.html

Paul Graham says:

<<<<<<<<<<<
Another way to figure out which fields are worth studying is to create the  
dropout graph. For example, I know many people who switched from math to 
computer science because they found math too hard, and no one who did the 
opposite. People don't do hard things gratuitously; no one will work on a 
harder problem unless it is proportionately (or at least log(n)) more 
rewarding. So probably math is more worth studying than computer science. By 
similar comparisons you can make a graph of all the departments in a 
university. At the bottom you'll find the subjects with least intellectual 
content.

Now, I didn't know any people who switched to studying EE from any other 
department because the other department was too hard. So I was probably be in 
a good company.

I'd rather be a tail for the lions than the head of the foxes, and I was 
actually quite good as an EE student all considering. I graduated with an 
average of 84.6% (cum laude), while not taking an exam or a course again 
after I received a passing grade. And like I said, some things in EE or 
Physics are less intuitive to me, and I don't have the knack for them as I do 
for CS. 

> even if you have done 

It actually took me 11 semesters with 2 vacation semesters in the middle.

> i would have added this to your criticism - to put it in context ;)

I don't think it's true. I should probably address it there and paste a 
formatted reply.

BTW, I know someone who graduated from Mechanical Engineering in the Technion, 
but didn't want to sit next to the computer all day, doing CAD design, 
circuit design or programming, so he now prepares arts and crafts. But you 
don't need an ME B.Sc. for that.

Regards,

	Shlomi Fish