Jump to content

Reading Material - General Computing not PHP


GingerRobot

Recommended Posts

Just wondering if anyone has any suggestions for any particularly good books on anything in and around the subject of computing. Obviously i appreciate this is a huge field, but im not too fussy.

 

Im looking to do some background reading during my last year before university, which'll also help with the application process. Being able to talk about things you know and have read will help with the interview quite a lot.

 

So far ive read a couple books on artificial intelligence, which i think were good introductions to the field as they weren't too technical:

 

On intelligence - Jeff Hawkins

Creation: Life and how to make it - Steve Grand

 

And ive just ordered "The Emperor's New Mind" by Roger Penrose, which looks rather more complicated, but its got to be worth a try.

 

So yeah, any suggestions would be very welcome.

Link to comment
Share on other sites

I'd recommend any resource that deals with the basics of abstract data types and algorithms.  You won't need to know them to program PHP, but learning about them will teach you to think effectively about implementing solutions to problems.

 

The best example of where this pays off that I can think of is this thread:

http://www.phpfreaks.com/forums/index.php/topic,155891.0.html

 

Any programmer, through sheer determination, can create a program that parses and then evaluates an expression.  I can guarantee that any implementation that doesn't use a tree will be messy and difficult to maintain though.

 

I can't recommend any resources that don't read like text books, but here are some general data types / concepts I think every programmer should be vaguely familiar with:

 

linked lists

queues

priority queues

hash tables

binary search trees

 

Those are some basic data structures, but you can accomplish quite a bit with them.  They also lead into more complicated structures such as red-black trees, oct-trees, or graphs.

 

Other topics I would recommend:

 

algorithm analysis (big-O)

discrete mathematics

languages / grammars

software development processes / methods (test driven, uml, test cases, that sort of thing)

 

That's all I can think of right now.  Inevitably there is always one individual that says, "None of that stuff applies to web development so don't waste your time."  It's still good to know IMO.

Link to comment
Share on other sites

Thanks a lot for the input - certainly gives me some topics to look for.

 

Inevitably there is always one individual that says, "None of that stuff applies to web development so don't waste your time."  It's still good to know IMO.

 

Haha. Im now waiting for the inevitable post that says exactly that. Or perhaps no-one will now ive said this. Perhaps ive changed the future...

 

Perhaps i should shut up and go to bed.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.