You are not logged in.

#1 2010-02-28 17:20:33

timetrap
Member
From: Here and There
Registered: 2008-06-05
Posts: 342
Website

A Sysadmin Reading The Art of Computer Programming

I am a sysadmin by trade, I do a little programming on the side, and I find myself wanting to learn more about the science of computing. So, I started to read The Art of Computer Programming (TAoCP) by Donald Knuth. I am amazed and humbled by everything that I do not know.

If you have a concept of general algebra, you can use these books (3 volumes and counting). I never made it past Algebra I in high-school, but seeing the application of mathematics to something that I know (computers and programming) makes it vastly easier. It's not as hard as it seems, TAoCP was expressly written to explain the math in the simplest manner possible:

TAoCP wrote:

A few words are in order about the mathematical content of this set of books.
The material has been organized so that persons with no more than a knowledge
of high-school algebra may read it, skimming briefly over the more mathematical
portions; yet a reader who is mathematically inclined will learn about many
interesting mathematical techniques related to discrete mathematics. This dual
level of presentation has been achieved in part by assigning ratings to each of the
exercises so that the primarily mathematical ones are marked specifically as such,
and also by arranging most sections so that the main mathematical results are
stated before their proofs. The proofs are either left as exercises (with answers
to be found in a separate section) or they are given at the end of a section.

More interesting is the use of an emulator for machine code. All of the code examples are given in an idealized machine language built for a RISC style chip. Emulators are called MIX Machines and can be found for virtually any platform. Extending the life and the usefulness of this work.

I am a sysadmin, I deal with the practical rather than the ideal. But being able to formally explain myself is becoming more important to me on a daily basis. Understanding the difference between O(n) and O(n^2) is a practical matter. I believe that sysadmin* need to play a larger role in the development of software and the effect that it has on the organization.

I am not too sure where this will take me, if anywhere, but I am sure that this is a surmountable goal (teaching myself computer science), and a worthwhile one.

Has anyone else read TAoCP? Do you have any tips?


* Ideally every sysadmin should be a computer scientist, a MBA, a programmer, a security expert, a psychiatrist, and a facilities manager.

Offline

#2 2010-02-28 17:46:58

Barrucadu
Member
From: York, England
Registered: 2008-03-30
Posts: 1,158
Website

Re: A Sysadmin Reading The Art of Computer Programming

I started reading volume 1 but found it a bit heavy going and stopped. I've also started reading Structure and Interpretation of Computer Programs, which I find much easier to read; perhaps I'll go back to TAoCP after it.

Offline

#3 2010-03-01 01:24:31

timetrap
Member
From: Here and There
Registered: 2008-06-05
Posts: 342
Website

Re: A Sysadmin Reading The Art of Computer Programming

SICP is excellent as well. Have you seen the video course lectures?

Offline

#4 2010-03-01 05:49:47

tss
Member
From: UIUC
Registered: 2008-08-27
Posts: 17
Website

Re: A Sysadmin Reading The Art of Computer Programming

I always love it when I hear people are tackling TAoCP and/or SICP.  Both are fundamental texts for Computer Science; if you understand them, you're light-years ahead of other programmers.  For those struggling with certain aspects of SICP, I recommend How to Design Programs (HtDP) [1].  The authors wrote it as an "alternative to the SICP approach that overcomes SICP's problems while retaining the essence of Scheme and functional programming" [2].  SICP is still the classic, but the paper I linked to presents some valid criticisms of SICP that can get in the way of actually learning the material.

[1] http://www.htdp.org/

[2] http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf


Code is everything I thought poetry was... Clean, expressive, urgent, all-encompassing. Fourteen lines can open up to fill the available universe.
Teach Yourself Programming | Learn To Ask Questions | Fight Lost Productivity

Offline

#5 2010-03-01 10:24:17

SiC
Member
From: Liverpool, England
Registered: 2008-01-10
Posts: 430

Re: A Sysadmin Reading The Art of Computer Programming

I've read both, from the perspective of a Mathematician who writes computer software, they are very interesting, yes they are hard going compared to other computing texts, but they really do provide you with a perspective and understanding of the fundamentals that you would be hard pressed to find elsewhere.

Worth reading for anyone who writes software.

Offline

#6 2010-03-02 21:20:29

mikazo
Member
From: Canada
Registered: 2010-03-02
Posts: 2
Website

Re: A Sysadmin Reading The Art of Computer Programming

I got the box set of TAoCP for Christmas one year, still haven't really read any significant chunk of them. Will definitely move them up on my reading list though. Are volumes 4 and 5 also useful? From what I can tell, they are later additions to the series.

Offline

#7 2010-03-03 12:05:05

timetrap
Member
From: Here and There
Registered: 2008-06-05
Posts: 342
Website

Re: A Sysadmin Reading The Art of Computer Programming

Wow. I just used something I learned in TAoCP. I was having trouble visualizing how a function would ... function. So I created a simple equation (with pencil and paper) ... and it worked!

That's really cool. Math is so much easier when I can relate it to programming and programming is much easier when related to math.

So the answer for (n) is: Yes there are practical applications for learning computer science. Now to find (n + 1).

Offline

#8 2010-03-03 12:07:41

timetrap
Member
From: Here and There
Registered: 2008-06-05
Posts: 342
Website

Re: A Sysadmin Reading The Art of Computer Programming

Also for you pythoneers out there I found Practical Programming: An Introduction to Computer Science Using Python to be a very good introduction to compsci (and python).

Not on the same level as SICP or TAoCP, but still very good (and in python).

Last edited by timetrap (2010-03-03 12:08:28)

Offline

Board footer

Powered by FluxBB