Core CS / Essential Reading List [Continuously Updated]

How to Solve it; Polya
How to Prove It: A Structured Approach by Velleman

Introduction to Logic, 2nd Edition by Harry J. Gensler
Applied Math for Computer Scientists;Vol 1 and 2
Street Fighting Mathematics
Mathematics for Computer Science;MIT Course;
http://courses.csail.mit.edu/6.042/fall11/
Applied Math for the Database Professional

Algorithm Design Manual;Steven Skiena;2010
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne;algs4.cs.princeton.edu/
Algorithms Unplugged
Data Structures and Algorithms: The Basic Toolbox

Introduction to Programming in Java: An Interdisciplinary Approach;introcs.cs.princeton.edu/
Programming: Principles and Practices;B Stroustrup

Computer Systems: A Programmer’s Perspective, 2nd Edition;Randal R Byrant;2011
Elements of Computer Systems;Technion University, Israel
Introduction to Computing Systems: From bits & gates

Operating Systems Essentials;Silberschatz
Unix in ANSI C;Berkeley Course
Linux Kernel Programming;Robert Love

The Definitive Guide to SQLite Internals

Packet guide to Core Network Protocols
Packet guide to Routing and Switching
Linux Kernel Networking

Others:
———-
What every Programmer needs to know about memory;Ulrich Depper
http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice
Structure and Interpretation of Computer Programs

Rationale:
————–
http://matt.might.net/articles/what-cs-majors-should-know/

Tomboy notes

I have started using tomboy notes to organize my notes.
I am pretty impressed by the core features

  • Search features
  • Hotkeys
  • Linking
  • Notebook functionality
  • Insert timestamp
  • Synchronization
  • Add-ins
    • Reminder (buggy)

So far so good. My experience with tomboy has been nice Smile

Writing has its advantages

I can see that writing provides a host of benefits like

- Discover more in the process of writing
- Bring clarity to your thought’s
- Improve your communication skills
- Comments and Criticisms show how you think
- Make a public commitment to finish something
- Increase your productivity
- Track your progress

Peace

Lines can change lives

These words changed the life of pattinathaar for ever

“காதற்ற ஊசியும்  வாராது  காண்  கடைவழிக்கே” 
“Kaadhatra Oosiyum Vaaraadhu Kaan Kadaivazhikkae”

Best Practices for learning

Try to explore the different courses offered for a subject by the world-class universities like Stanford, MIT, etc. They also offer the most popular courses through initiatives. One such example is Stanford Engineering Everywhere  Some courses are very innovative. Many courses have a rationale behind its design and pedagogy. These courses are tailored for specific audience. So you can choose which one to follow. For ex. At Stanford there are some courses like

o“The Game of Go: Strategy, Theory, and History”
o“Speedcubing: History, Theory, and Practice”

More important is the fact that you can choose to learn subjects of an entirely different discipline according to your interest.

There are courses for an advanced audience too. Given sufficient amount of courage, discipline and drive, one need not attend college to master a subject of his choice. After all they have invested millions of dollars and time to serve those who are starving intellectually.

There also maintain very interesting sites like Nifty Projects, which are real assignments to students, some of which are innovative and popular.

The research divisions of many corporates post interesting problems to be solved. Some interesting ones are

*Ponder This by IBM
*ITA Software

and many others maintain such challenges. You need to look out for them

Moreover there are popular websites like Programming Praxis , CodeKata, which will help you sharpen your programming skills.

Go Explore. Workout, Sharpen your skills, Apply and Serve others.

Loose app

I was recently looking at this web-app, which claimed to treat your addiction to twitter and other social networking sites. Each time you resist the temptation, you click on the button and score a point…. and wait… you can post that score to twitter!!!

resist_fun

Moral of the story: Pills are effective against ills but not against more pills!!!

Agile Software and Common Sense

It is very funny to note that after so many years of frustration we have come up with The Agile Manifesto At first sight they seem to be nothing more than common sense. How did a bunch of facts become the guiding principles of Agile? We have realized these facts of life, the hard way. So, one the best ways of introducing “Agile” in a project/team rests on the Project Manager such that he introduces these facts and the reasons behind them without mentioning “Agile” or some other cool name. :)

Stackless Brain

Why we should suspect that the brain has a limited ability to recurse, but prefers to daisy-chain instead:

The house the malt the rat the cat the dog the cow with the crumpled horn the maiden all forlorn the man all tattered and torn the priest all shaven and shorn the cock that crowed in the morn the farmer sowing his corn kept waked married kissed milked tossed worried killed ate lay in was built by Jack.

200MB for “Smartness” you don’t possess

image

Recently tested smartgit.

Excel is buggy!

I was evaluating some options for buying an LCD TV. I found this!

excel_bug

Just consider the plight of those using excel for applications involving money in their day to day lives. How much moolah have they lost! May be M-crosoft is responsible for the recent economic downturn. Who knows ;)