Hacker News new | past | comments | ask | show | jobs | submit login
Teaching linear algebra (bentilly.blogspot.com)
118 points by btilly on Oct 16, 2012 | hide | past | favorite | 31 comments



Nice approach. And wow, that makes me realize that I was doing it right after all as a student.

I used to take the following approach, which maps surprisingly well to the author's teaching method:

  - Pay attention, but don't really take notes during class

  - Do the homework, but don't sweat getting stuck.  
    Skip stuff that I hadn't picked up in class.

  - Take notes the next day when they went over the homework.
    Pay extra attention to the stuff I didn't get the night before.

  - The night before a test, redo (or actually do) all the homework.

  - Ace all the tests

  - Don't really study for the final

  - Ace the final

I feel like I learned pretty much everything from every Engineering class I took in school. When it came time to do the EIT exams at the end of undergrad, I took them cold, walked out with half the time remaining (and nearly everybody else still in their seats) and passed by a comfortable margin.

Naturally, grades suffered a bit. You can map my grades to how a given prof weighed homework in his grading process. Usually you can drop one test score, and occasionally they'd let you count homework as one of those droppable scores. Those were my A's.

The rest were B's and C's, but that doesn't matter even one bit now, 20 years later. I could still pass that Professional Engineering test again, deriving pretty much all of Mechanical Engineering from F=MA using differential equaitions today. And that's the whole point, right?

Glad to see a professor who gets it.


My method was:

  - Show up. Pay Attention. Sit in the front of the class
  - Take notes. 1 page is slacking, 4 sides is about right.  
  - Do the problem sets. 
  - Studying? What's that?  
  - Rock the tests.
If I sat in the first couple rows, my grade would be an A. Back row, I'd be lucky with a B. Back row in a large lecture at lunchtime was a C. Then again, I was known to be able to answer questions when obviously snoozing in the front row of an 8am class. (Steel design, IIRC. "What's wrong with all you? He can answer the questions and he's asleep")

I needed the notes, and specifically the ear - brain - hand - eye loop to make sure that the info got in my head and processed. If I slacked on notes, then the slippery slope started and I'd end up losing the thread of the class for minutes at a time. I didn't really need the notes later, I might go over them before a test, but not often. Mostly when it was an open note or 'one sheet of notes' test. Though, one time my one sheet of notes was "Don't Panic" written in letters large enough to be be seen by anyone glancing at the sheet.

Problem sets were key. As were the bigger design projects and the labs. You could fake getting the problem sets done, but you couldn't fake understanding them.


Note, I resubmitted this because I was hoping that it would find http://news.ycombinator.com/item?id=850485 for me. But it didn't. (I later found it through my user name.)

I would delete it, but it has been several years, and so it does not seem bad to have the dupe.


Actually, you just waited until we'd almost forgotten your earlier post...


I'm quite happy you reposted as well. I'll be teaching a course (first time teaching full course) next semester, and rereading that post was quite timely, since I'm starting to plan the whole thing.


I'm glad you resubmitted it. It was interesting.


The "spaced repetition" theory is similar to something I read in Wired[0] long ago, of a guy and his note-taking "SuperMemo"[1] app. The article drifts aimlessly about the guy, but the theory behind the app is very interesting. And the chart is excellent[2].

  For example, say you're studying Spanish. Your chance of
  recalling a given word when you need it declines over 
  time according to a predictable pattern. SuperMemo tracks 
  this so-called forgetting curve and reminds you to 
  rehearse your knowledge when your chance of recalling it 
  has dropped to, say, 90 percent. When you first learn a 
  new vocabulary word, your chance of recalling it will 
  drop quickly. But after SuperMemo reminds you of the 
  word, the rate of forgetting levels out. The program 
  tracks this new decline and waits longer to quiz you the 
  next time. 
[0]: http://www.wired.com/medtech/health/magazine/16-05/ff_woznia...

[1]: http://en.wikipedia.org/wiki/SuperMemo

[2]: http://www.wired.com/images/article/magazine/1605/ff_wozniak...


SuperMemo has been around for quite some time and IIRC it was indeed the first piece of software to employ the theory of spaced repetition. So it's not coincidentally similar, SuperMemo is immediately associated with spaced repetition. That Wired article is a great read, moreso IMHO because it drifts purposely about the guy, who's as eccentric as he is fascinating in his extreme lifestyle choices and devotion to his life's work.

p.s. Something dies within me when I hear good ole' software being referred to as an 'app'.


Indeed, it was in an HN discussion of that article that I mentioned taking advantage of spaced repetition, which resulted in the blog post discussed above.


(Disclaimer: I am a current college student.)

I took a seminar on Film Studies my freshman year (all freshmen are required to take a seminar outside of their prospective major). We watched exactly one film -- Psycho -- which I greatly admired. That being said, I can't tell you much about the theory behind Psycho; but I can tell you pages upon pages about the evolution and use of 90mm film.

The results in the blog post speak for themselves; the final exam scores were phenomenal.

That being said, I feel the author didn't spend enough time dwelling on the repercussions of his approach to the course. If you're in a two- or three-credit class, you take that class with the implicit understanding course that the time commitment is going to be similar to that of other classes; if your students are spending all night working on an introductory class, then they might master that material -- but at the expense of other classes.

I took a Linear Algebra course last semester that I did well in. It was a conventional class. I definitely couldn't answer that final bonus question (and I bet I couldn't answer most of the questions on that exam) but is that an issue? Introductory courses are meant to be breadth-based, not depth-based; my class wasn't filled with Math majors but CS majors, Chem majors, Stats majors, etc. etc. -- I recognize the huge role tenets of L.A. play in programming, but I'd absolutely resent a professor who essentially uses false advertising in his course.

The metric for a successful college course, I'd argue, is not 'amount learned' but 'amount learned with respect to time and respect to the goals of the course.'


my class wasn't filled with Math majors but CS majors, Chem majors, Stats majors

I don't know much about chemistry, but for CS and stats people linear algebra is an applicable and important course. Some of these "introductary" courses are foundational to your degree.


Absolutely! I remember the basics of linear algebra very well, and can reproduce them easily -- proofs and more arcane aspects of the curriculum, on the other hand, not so much. (Furthermore, I'd argue that the average non-Math major is not going to have to apply such aspects, and thus an introductory course should be relatively cursory regarding them.)


Linear algebra is pretty important when you start doing quantum chemistry (usually an upper level undergraduate/intro level graduate class).


I know this isn't the point of the post, but I'm learning me some linear algebra from online video lectures now and wanted to check my answer for the bonus question, part b. Is it [[-3/2 2 -1/2] [-1/2 0 1/2] [1/2 -2 3/2]]?

My method was to represent f(x) as ax^2+bx+c, giving v = [c, a + b + c, 4a + 2b + c] as the vector in the coordinate system and dv/dx = [b, 2a + b, 4a + b] as the derivative. Then d/dx * v = dv/dx. Then split both vectors into a product of a 3x3 number matrix and [a b c], cancel the [a b c] from both sides, find the inverse of the left matrix, and multiply it by the right. I did the inverse by hand so I might have made an arithmetic mistake. Am I on the right track or did I totally misunderstand the question?


That is correct.

Your double check is to take the vectors for the polynomials 1, x, and x^2 (namely [1, 1, 1], [0, 1, 2], [0, 1, 4]) and multiply out to see that you get the vectors for the polynomials 0, 1, 2x.

Your verbal description does not make sense to me. But you appear to have done the right operations.

The approach that my class universally took was to realize that if we take the coordinate system whose basis is (1, x, x^2) then the answer is easy to write down. After that you apply change of basis matrices to each side to get the answer in the requested basis.


Cool. I haven't gotten to the change of basis lecture video yet, or I might have tried that :)


If you do the linear function/notation thing right, the idea of a change of basis comes for free. The basic idea is this. Suppose that we have a linear function F between two vector spaces (which might be the same), and we have coordinate systems on the vector spaces (which might be the same). Then we can take the elements of the first basis, v1, v2, ..., vn, and write out a matrix whose columns are F(v1), F(v2), ... F(vn) in the second coordinate system.

This matrix uniquely represents F. The function F can be applied to a vector by writing out the vector in the first coordinate system, putting that on the right of the matrix, then doing matrix multiplication. You get an answer in the second coordinate system. And the operation of matrix multiplication turns out (if the coordinate systems match up) to be exactly the same as composition of functions.

(This is no coincidence, this relationship is the motivation for matrix multiplication being defined as it is.)

OK, with all of that mess, what is a change of basis matrix? It is simply the matrix you get for the identity function going from one coordinate system to another.

Now in this case the matrix A = [[1 0 0] [1 1 1] [1 2 4]] is the matrix to change from the basis where a+bx+cx^2 is represented by [a b c] to the basis where it is represented by [a a+b+c a+2b+4c] (ie [p(0) p(1) p(2)]). Its inverse is the change of basis the other way. And B = [[0 1 0] [0 0 2] [0 0 0]] is, of course, in the [a b c] basis the representation of the function d/dx.

Then A B A^(-1) represents change from pointwise coordinates to coefficients, then differentiate in coefficient coordinates, then change from coefficient coordinates back to pointwise coordinates. (Remember, the matrices are applied right to left, so you do A^(-1) first.)

If you can keep that straight, you now understand change of basis matrices.


looks right to me (just checking by multiplying v by your answer - it gives v'). also, you and i seem to understand the question in the same way. but whether that's the most elegant way to solve the problem, i don't know.

also, you could do the proof by explicitly checking with two polynomial expressions. again i don't know if there's a simpler way (maybe you can just say that differentiation is distributive blah blah...)


...what was the question?


"Let V be the vector space of all polynomials of degree at most 2. a) Prove that d/dx is a linear operator on V. b) You can put a coordinate system on V by mapping p(x) to (p(0), p(1), p(2)). (Please imagine that flipped 90 degrees so it is a column.) Find the matrix that represents d/dx in this coordinate system."


Which online video lectures are you following?


The MIT ones taught by Strang, my new favorite professor. http://www.youtube.com/watch?v=ZK3O402wf1c


One of my favorite real-world example uses of http://www.gwern.net/Spaced%20repetition


As a 2nd year undergrad, I wish he taught my first year linear algebra course. I remember just scrambling to keep up with the prof writing the notes on the board. For my final I just crammed the steps (without knowing why they work or why we do it) for matrix multiplication, diagonalization, orthogonal diagonalization, etc.

I'm going to regret this in my 3rd year...


20 years ago, I had a professor who would ask lots of questions in class. I _still_ remember that Lindsey's designated answer was "Static Electric Charge". I'm not in the field anymore, but I still remember a bunch about that class, and I count the professor as one of my two or three best.

I only wish that I had a linalg professor who was that good.


I've been thinking of using spaced repetition in the upcoming semester to help me study (computer science). Does anyone have any tips on when to review, and what kind of material should I be preparing for review? Do I just re-do parts from previous homework assignments?


The study schedule that I was taught is to work in half-hour sections. Review for 5 min, study for 20, take a 5 min break. Start the next block with a review of the previous.

After the first day, review on a schedule. For instance the following day, several days later, a week later, a month later. Each day for your review look back in your notes the appropriate time.

When I was a student I was never that organized. Instead I would sit down and try to think through sketches of everything that I was supposed to have learned. Just pretend that I'm teaching it, and start sketching out my knowledge. Wherever I ran into trouble remembering details, that was generally a spot that I needed to review and I'd look it up in the text.

This is unorganized, but I'd walk into follow-up courses a year or two later and still know the previous course cold. So it worked for me.

You could also do it by just redoing parts of previous homework assignments. But that feels to me like a lot more work (unless the professor assists).


Yeah, I read that a few years ago, too.

Looking back, the authors approach mirrors very well what I tried to set up for myself as a student. (Asking questions, no notes, repetition schedule..)


btilly has come full circle! It's still a great post.

http://news.ycombinator.com/item?id=850485

Coincidence that I should see this; I'm not really active on HN anymore, and just happened to click.


I'm curious. The first time it was posted, you indicated that you were trying the thirds homework idea.

How did that work out?


As a former TA, this sounds like an amazing approach.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: