MIT OpenCourseWare

1 Comment

So today I need to learn some multivariate calculus to use it for my other courses (somehow my first year calculus didn’t teach multivariate operators, and I didn’t have any chance or interest in taking an extra calculus course). I went to MIT OCW to watch a few lectures.

This is not my first time doing so. In my freshman year, I also used it to learn linear algebra from Gilbert Strang. Last year there were a few free classes offered by Stanford in AI and ML. Anyway, out of all those times, I got this impression.

Not all MIT students are smart. Some gave really silly questions. And the lectures were not hard at all. Instead, they were really easy to follow. They capture the concepts, and bring in intuition and new questions. An average student would have no problem following the classes, and the better students would probably skip the classes since it’s too slow for them.

There was one point where the lecturer asked if any person cannot see the figure properly due to color blindness. At that point it was clear to me. Education is not about humiliation. It is an enabler: to the poor, the blind, or the deaf… A perfect class would give a chance for everyone to excel, given a wide variety of background people lie in. The wider background the class can cope with, the more successful it is in its mission.


Danish’s education reform

Leave a comment

Below is the third reform of Danish education which takes place 20 years ago, and I don’t know when Vietnamese education can arrive at this point. Not any time in my foreseeable future :sad.

From the book “Education and the Scandinavian Welfare State in the Year 2000, Equality, Policy, and Reform”

The third reform was the 1993/94 … around 400 million Danish crowns were used to finance more than 8000 projects… experiences from these projects were summarized in 26 evaluation reports, which constituted an important source of background material for the reform….

The law has 4 fundamental features

  1. The last traces of two-level teaching are removed, as it is no longer possible to teach subjects in 8-10th grade at, respectively, a ‘high’ and a ‘low’ level (and thereby implicitly sorting the pupils). Instead teaching is supposed to be individualized on the basis of ‘plans of action’ for the individual pupil.
  2. Teaching is supposed to be cross-disciplinary to a much greater extent, and pupils are expected to work more on projects, especially in 8-10th grade.
  3. Evaluation of each pupil is to be a permanent process, which will take place through dialogue, tests, etc., and form the basis for the ‘plan of action.’
  4. The minimum number of weekly lessons taught is increased, and especially linguistic skills in Danish are given a higher priority.

Entry for April 13, 2009


Yo guys (and gals), it's quite long since I last wrote sth related to my studying.Here it goes. Disclaimer: what I write here is juz for fun :->. But dun think it's fun for most of my frens, cuz you're not IT guys :(.

Mom says, the career chooses you. To what extent this is correct, well, I don't know. But really, as much as you can choose to study which module first before exams come, there are some choice you can still make in a seemingly fixed area. Computer science for instance.

One of the sub-field that I hate the most is computer engineering. If you are motivated by the smaller details that makes a system works; your table is a mess but you can still manage your life without considerable delays… I guess you maybe interested in the area. Say, do you want to spend a week considering whether one should implement an error check for the last digit of real number calculation in Intel's latest CPU; or do you want to add more pipelining to spend even more time eliminating hazards? It seems to my lecturer that, complexity is beauty.

Math geeks would love to do algorithms. To improve an O(N^3) algorithm to an O(N^2) algorithm, you get a PhD thesis, some money, and a scholar status. Good trade, rite? Be prepared to spend days bumping into walls, because, at least for computer engineering, they have chips to bumped into.

The small series of papers I read this sem start with information retrieval. Noticing that Altavista was not good enough, and one can serve better searching by indexing through the vast Internet environment, two (used to be) young fellows created a searching service. It turns out to be the most popular IT company nowadays – Google. You get to do things you like, and gain money & reputation. Juz that, you must be a good thinker, and a good coder to overcome the cold start.

Next is cryptography. This is even more mathematics. Number theory, I think. Sth to do with distributed programming also. Once there was a computer scientist asking a mathematician a question, and come up with a paper with that answer. The mathematician thinks that it's rubbish, but it turns out to be what everyone use to day: public key cryptography (RSA in particular). So, if you are willing to dig out thousands of mathematical theorems to find one useful thing, go ahead.

Gotta say that I like networking. Once there was a wireless network in Hawai. They setup protocols for it, tested, and redesign… Later it turns out to be one of the foundation for wireless network protocols. Food for thought: what happens when 100 in a conference room all use their handphones at the same time? Anw, the paper I got to read was about how features are placed among different layers of the Internet; and how congestion avoidance came into place, blah blah blah. You don't want that the guy next to your house use up all bandwidth causing the connection to congest, rite?

The one I read today was about animation. How ppl write script to make animations of fishes, birds… You are the Creator. You can decide how a predator acts, and how a prey acts. You decide how a male approach a female. It's like the film Matrix, but in a much more simplistic view. The author of the paper was… how to say. I expect that was a man, cuz usually all the papers I read were written by men. It turns out to be a lady. And this explains, because she paid good attention into small details that make her 3D world of fishes beautiful. She was able to combine the beauty of engineering equations with detailed observation & biology literature. With a love for creating beauty, she wrote:
"It is intriguing to watch some of the male artificial fish's attempts fail because of an inappropriate approach angle which triggers the avoiding-fish response."
Well, you can still choose to be artistic sometimes, don't ya?

Last but most important is my major ;)). I may get to know how proteins fold using computational models… I may get to find important genes using statistic models… I may also create diagnosis strategies by writing systems that take the output of instruments in… I have so many choices. Worst thing is that I'm left with no time to make a choice. Gotta have to make one soon :P.

Anw, these days I'm quite ok with my studying. I love the fact that I have choices. When tired with computer science report, I study life science. When tired with life science, I take probability as a mean of escaping the world of uncertainty. Should have been writing a paper summary instead of this entry, but it's okay. Why should I abandon my right of choosing?

But really, after writing all the nonsense stuff above, I miss you, dear. Want to hold you so much. You sound tired these days. Gotta treat yourself right, kay? Love you.

How should computer scientists proceed in computational biology?


Dear friends,
I typed this out from a book. I feel that this would explain the reason for our major.

The advice to computer scientists is twofold. First, learn as much real biology as possible – read biology texts and journals (Science, Nature, and Trends in Genetics are particularly good for a broad view), attend biology talks and conferences, talk extensively to biolo­gists, and seriously consider computational problems and abstract models already defined by biologists. But, second, do not be limited by the already formalized computational problems and established models, and do not be discouraged if you cannot immediately incorporate the full biological complexity into your formalized problems.
After immersion into real biology, try to frame and explore your own questions (partic­ularly biology-driven questions) guided by your understanding of the biology, by the goal of ultimately solving the “full problem”, and by your understanding of what is computa­tionally feasible and infeasible. Computer science will make the most serious contribution to biology after the emergence of a large community of people who understand both fields and who know the strengths and needs of both. I am not suggesting that you ignore prob­lems posed by biologists, but rather that you augment or modify them with your own questions. To quote from Leroy Hood “As computer scientists come in knowing more and more biology, they will chart their own course. Once they get into it, we don’t tell them what to do or where to go. They just take off” [280].
In the long run, a community of biology-educated computer scientists will make the largest impact by proceeding the same way that molecular biology proceeds – by picking problems and research approaches that best suit available and potential techniques; by de­veloping new techniques that one believes will be valuable, even if they do not perfectly fit existing problems; by focusing on model organisms (model computational problems); by framing manageable, somewhat simplified problems where progress can be made; and by working as a community to build on each others’ results, incrementally adding in more real­istic features of the biology-driven problem. That indirect and incremental approach is well accepted in both computer science and biology, but it will generate many silly, overly ideal­ized computational problems along the way, and these may be disappointing to some peo­ple. However, this approach is realistic. It will be more likely to succeed than will premature frontal attacks on the most difficult computational problems for the same reasons that fun­damental research on model organisms in biology is often a more productive, but more indirect way to obtain practical insights to problems arising in more complex organisms. It is instructive to realize that less than one percent of all known bacteria have been successfully cultured in the lab, creating a huge bias in what laboratory biologists have focussed on. And yet, studies of that one percent have lead to profound discoveries. Looking intensely under a lamppost, while also trying to expand its beam, is often both a necessary and a successful strategy.
I offer one more piece of advice to theoretical computer scientists. Focus more on the biological quality of a computation, and not exclusively on speed and space improvements. Because the formalization of a biology-driven problem may be difficult, the biological quality of the computed results must be examined, possibly requiring successive changes in the formal problem. The skills of computer scientists can be very important in iterating ­this process (finding practical solutions to each of the succeeding formalized problems). Making each step practical may be more important than optimally speeding any given step.

In summary, learn real biology, talk extensively to biologists, and work on problems of known importance to biology. But, in addition, try to become your own consultant. Guided by real biology, frame your own manageable, technical questions. Be ­willing to take the criticism that many of these questions will be too idealize to be of ­immediate practical use, knowing that in the long run, this incremental approach (with its many failures) is how a research community best addresses difficult problems. Most of all, be curious, have fun, and appreciate the wonderful opportunities you have to work in such an exciting and important field.
Dan Gusfield

Linear Algebra – to be continued


What’s the difference between a plane and a grid? They all contain infinite points (or vectors), but a plane is a vector space, while a grid is not. That is, a plane follows the closure conditions: 1.u in V –> ku in V 2.u, v in V -> u+v in V. The simple condition is used in many models, and it signals the “linearity”. We can directly show that if u, v in V then x1*u+x2*v is also in V. The formula follows for more vectors, which has its own name: linear combination.
A plane can be “spanned” by 2 vectors. A 3-D space can be spanned by 3 vectors. A smallest subset of vectors so that any vector is a linear combination of that set is called a basis. The number of vectors in a basis is the dimension of the vector space.
Note that the idea of linear combination is not new. Consider a linear system of equations. Aligning all the factors column by column. If the right hand side is considered a column vector, then it should be a linear combination of column vectors from LHS, with the coefficients of (x1,x2..xn). A short way of writing the whole thing is Ax=b, where x is the list of coefficients, b is a vector and A is a list of vectors. Actually, A is a rectangular of numbers, which is called a matrix.
Take another “linear” example. A linear transformation from Rn –> Rm would also follow “closure conditions”: f(kv) = kf(v) and f(u+v)=f(u)+f(v). As it has something in common with vector space, matrix can also be applied here. The matrix A = (c1, in which ci is the image of ei is called the standard matrix for the linear transformation. With standard matrix, things seem to be clearer: f(v) = Av with any vector v.
The composition of transformation turns out to be so much fun. f(v)=Av, g(u)=Bu –> g(f(v)) = BAv. This would reveal some nature of matrix multiplication. With Av, we change v into some combination of A’s vectors. Now, with B*A, we turn v into B*A1, whose multiplication follows exactly the same rule as in linear systems.
Note that a transformation is invertible if and only if it is a bijection. That is, a basis would be turn into a basis. Columns of A should be independent.
Fortunately (for mathematicians), or unfortunately (for students), matrix is more than some linear system stuff or some linear transformation stuff. It’s a rectangular of numbers, which can be viewed by rows or by columns. There are four (at least) vector spaces associated with it: column space C(A), row space C(A’), nullspace N(A) and left-nullspace N(A’). C(A) has the same dimension with C(A’). N(A) is orthogonal to C(A’), while N(A’) is orthogonal to C(A). That’s why dim(C(A’))+dim(N(A))=m, and N(A’)+C(A)=n.
Oh, I forgot to discuss about orthogonality. Actually, it’s just perpendicularity. It’s more comfortable to deal with orthogonal vectors when we do projections. A matrix consists of orthonormal vectors is an orthogonal matrix: A’ = inv(A)
And here comes the determinant of matrix. It shows the scaling factor of volume during transformation. If that scaling factor is 0, for example, when a plane is transform into a line, then the transformation is not invertible. Checking whether a matrix is invertible by calculating its determinant seems to be troublesome, but sometimes it’s the only way.
For example, when the matrix is not full of numbers, but there are still variables inside. That’s the case when we find eigenvectors. Given a square matrix, eigenvectors are vectors that remain the same direction after transformation: Ax=Lx. By finding eigenvalues L, we can find x through the linear system (A-LI)x=0. L is found by solving the characteristic polynomial det(A-LI)=0.
Eigenvectors are used to construct matrix that can diagonalize A: inv(P)*A*P = D (D: a diagonal matrix). In other words, we try to find some “simple” matrix D (in this case, diagonal – matrices only do scaling) which is similar to A. The problem of eigenvectors and similarity lead to deeper studies in linear algebra.

Entry for May 27, 2007


He’ he’, tại sao ta lại ko thể vừa ôn bài, vừa vít blog nhỉ 😀 Sau đây là tiết mục ôn bài sử của APong

NÁQ: 1919:yêu sách, 7/20: đọc luận cương, 20: ĐH 18 Đảng XH F’, 21: Hội LHiệp .., 22: Ng Cùng khổ, 23: Đi LX, 24: ĐH5 QTCS, cuối 24: về Quảng Châu. VNCMTN: 6/25; Đường Kách Mệnh: 27; hội nghị thành lập ĐCS: 3/2/30

Chi bộ CS đầu tiên: 3/29
ĐH1 VNCMTN: 5/29
ĐDCSĐ: 17/6/29
An Nam CSĐ: 7/29
ĐDCSLĐ: 9/29
Hội nghị BCH TW lâm thời của Đảng: 10/30 -> đổi tên thành ĐCS ĐD đó pà con

CMVN 1930->1945:
2 vạn ND Hưng Nguyên: 12/9/30
ĐH lần 1 của Đảng: 3/35
HN BCP TW Đ: 7/36
MtrDC ĐD: 38
2.5 vạn ngi btình ở HN: 1/5/38
HN TW Đ lần 6: 11/39
Nhật đánh F’ ở Lạng Sơn: 9/40
Bắc Sơn:27/9/40
Nam Kỳ:23/11/40
Đô Lương:13/1/41
NAQ về nước: 28/1/41
Mtrận VM: 19/5/41
Đề cương VHVN: 43
VN tuyên truyền GP quân: 22/12/44
Nhật đảo chính Pháp: 9/3/45
VN tuyên truyền GP quân + Cứu Quốc Quân: 5/45
Khu Giải Phóng VB: 4/6/45