Posted by Ed on October 14, 2010
“Brick walls are there for a reason: they let us prove how badly we want things.” – Randy Pausch
Randy Pausch, a professor for computer science, gave a talk at the Oprah Winfrey Show on how to achieve your childhood dreams. It is very inspirational and moving.
The full version of his “Last Lecture” at Carnegie Mellon University can be viewed here.
Posted in computer science, Uncategorized | Tagged: childhood dream, inspirational | Leave a Comment »
Posted by Ed on October 13, 2010
We can calculate an approximate value for pi by using the Monte Carlo method. This probabilistic method relies on a random number generator and is described below. At the end of the post there is an excellent video by Kevin Wallenstein. Read the rest of this entry »
Posted in mathematics | Tagged: monte carlo, pi | 6 Comments »
Posted by Ed on October 10, 2010
Below is a list of websites and programs that help you to improve your note reading. The last two links lead to programs that allow connecting your midi keyboard to a pc. I can imagine this to be a good sight reading training.
1) Ricci Adam’s musictheory.net
Trains identification in note, key signature, intervals, chords. Also offers ear training.
2) Speednote Reading Tutor
Identify notes as fast as possible. You can Read the rest of this entry »
Posted in music | Tagged: notes, piano, sight reading, training | Leave a Comment »
Posted by Ed on October 4, 2010
One part of theoretical computer science deals with formal languages and complexity theory. Formal languages is important for understanding how compilers work, for example if you program in Java the compiler must be able to tell whether your code is correct. For these topics I can recommend the following books:
1. Introduction to the Theory of Computation (by Michael Sipser)
This book has very good ratings on amazon and is indeed nice. I particularly like the chapter on Turing machines. You will quickly get an intuitive understanding. It also has nice little pictures, e.g. one picture illustrates how a multitape Turing machine can be simulated by a single tape Turing machine.
2. Automata and Computability (Undergraduate Texts in Computer Science) (by Dexter C. Kozen)
Kozen starts with automatons and fortunately very easy examples. I like how he explains a nondeterministic automaton by using pebbles. The book also has a chapter on the Myhill-Nerode relation, a topic I haven’t found elsewhere. You’ll quickly get the meaning of different languages, e.g. Kozen explains that a context free language can be produced by a context free grammar but also can be recognized by a push-down automaton. And as a sort of bonus it contains a chapter on Lambda calculus.
Update (November 07, 2010):
Shai Simonson gave excellent lectures on the “Theory of Computation” at the ArsDigita University (ADU). His lectures are published under the Creative Commons Attribution-ShareAlike license. The videos are also on youtube.
Posted in computer science | Tagged: computation, formal languages, Myhill Nerode, Turing machine | Leave a Comment »