Welcome to Dream.In.Code
Getting Help is Easy!

Join 136,318 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,653 people online right now. Registration is fast and FREE... Join Now!




Book: Algorithmic Reasoning

 
Reply to this topicStart new topic

Book: Algorithmic Reasoning

LowWaterMark
2 Sep, 2008 - 01:13 AM
Post #1

D.I.C Head
**

Joined: 30 Jul, 2008
Posts: 119



Thanked: 1 times
My Contributions
I would appreciate recommendations from this forum for an introductory book on algorithmic reasoning.

I think I would benefit from deductive versus inductive reasoning. I say that only because I am a novice. If the text were premised on my understanding observations of code in different languages, different algorithmic formats and building up from there, my premise might be a bit unsteady. I think I need a top-down approach. If you disagree, please comment.

I'm most interested in your personal thoughts regarding books you've read. Additionally, if you have time, please check out the following links and tell me if you agree with their common recommendations. I've read all the enclosed reviews and opinions in the following two lists.

1. ACCU :: Book Reviews Database - focused on the "highly recommended" works under the search subject: algorithm.

2. Amazon.com database - I used the search: "introduction to algorithms" › Computers & Internet › Programming › Algorithms › 4 Stars & Up.

Three books jump out at me:

1. "Introduction to Computing and Algorithms" by Russel L. Shackelford
2. "Algorithms" by Sanjoy Dasgupta
3. "Introduction to the Design and Analysis of Algorithms" by Anany V. Levitin

Any thoughts?

This post has been edited by LowWaterMark: 2 Sep, 2008 - 02:02 AM
User is offlineProfile CardPM
+Quote Post

Programmist
RE: Book: Algorithmic Reasoning
3 Sep, 2008 - 08:08 PM
Post #2

Four-letter word
Group Icon

Joined: 2 Jan, 2006
Posts: 1,179



Thanked: 6 times
Dream Kudos: 100
Expert In: Java

My Contributions
I'd go with the MIT standard book, which is pretty much the standard algorithm book for many top CS programs. If you're weak in areas like inductive reasoning and recurrences, then you'd be well served to brush up on your discrete math before getting started. Check out Amazon for books on the subject.

On a side note, if you end up choosing the algorithms book I mentioned, you can also take the corresponding MIT online course, complete with videos of all lectures, homework sets, and quizzes.
User is offlineProfile CardPM
+Quote Post

LowWaterMark
RE: Book: Algorithmic Reasoning
3 Sep, 2008 - 11:00 PM
Post #3

D.I.C Head
**

Joined: 30 Jul, 2008
Posts: 119



Thanked: 1 times
My Contributions
Programmist, thank you for taking the time to reply.

My anxiety with the Corman book is that it appears to classify algorithms according to a problem type (most typical format). With separate chapters on sorting, searching, graphs etc., these books are like a toolbox for knowledgeable programmers. It certainly presupposes a certain facility with coding. Or pseudocoding. That ain't me. The competing format classifies algorithms according to design. That sounds better.

As a person just teaching himself programming, I fear that Corman's tome would leave me in the dust. I have a similar fear of Knuth's three-volume boxed set. I think it's the box. I have this boxed 8-volume anatomical atlas from med school that I've probably looked at four times. I wonder if a conceptual, top down approach might be better for me. That's why I was drawn to Introduction to the Design and Analysis of Algorithms. From the product description: "The author emphasizes conceptual understanding before the introduction of the formal treatment of each technique. Popular puzzles are used to motivate readers' interest and strengthen their skills in algorithmic problem solving". Russel L. Shackelford's book is similarly described.

What are your thoughts?

Regarding school, I've got an M.D. from Tufts Med. In college, I stopped after a year of calculus which I enjoyed and was good at. I'm pretty good at logic and probability (at least epidemiological probability) and just finished Introduction To Discrete Structures, an online course (text plus exercises). Not that it's comparable to a rigorous college course, but I did pretty well with it. Basically, I have this savant capacity where school type stuff is concerned. My weakness is time; I graduated from college fifteen years ago.

If you have a minute, would you take a moment to look at the above link on my discrete math class and tell me if it is too cursory for an appropriate grounding to begin the study of algorithms? That would be immensely helpful. I've got this "leaf in the wind" dilemma going on. I'm determined to teach myself programming and basic computer science and integrate it with medicine without returning to school. I love learning but seriously, I've had enough school. Compared to twenty years ago when there would have been a paucity of available information and choices, I'm now faced with a plethora. Makes it tough to formulate a targeted syllabus and plan.

This post has been edited by LowWaterMark: 4 Sep, 2008 - 12:27 AM
User is offlineProfile CardPM
+Quote Post

LowWaterMark
RE: Book: Algorithmic Reasoning
4 Sep, 2008 - 04:46 AM
Post #4

D.I.C Head
**

Joined: 30 Jul, 2008
Posts: 119



Thanked: 1 times
My Contributions
QUOTE(Programmist @ 3 Sep, 2008 - 09:08 PM) *

If you're weak in areas like inductive reasoning and recurrences, then you'd be well served to brush up on your discrete math before getting started.


With respect to your point (above), I read through this sample chapter from Rosen's book on discrete math. I'm interested in your opinion, if this is enough info with which to form one.

thanks.
User is offlineProfile CardPM
+Quote Post

Programmist
RE: Book: Algorithmic Reasoning
4 Sep, 2008 - 05:10 AM
Post #5

Four-letter word
Group Icon

Joined: 2 Jan, 2006
Posts: 1,179



Thanked: 6 times
Dream Kudos: 100
Expert In: Java

My Contributions
I'm no expert on the different algorithm books or teaching methods, so I can't really speak to the other books. If you think the Cormen and Knuth books would "leave you in the dust", then it might be best to start with a more gentle introduction to the subject. Unfortunately, I really can't recommend any books for that case since my experiences have been of the sink or swim variety. The downside to the Cormen book is that it provides no solutions to exercises, which really sucks. The author is also kind of a a$$ about it too. Luckily, the online MIT course provides solutions to the exercises it poses. During lectures, the instructors also work out many problem on the board. But, other than that, you are on you own. Ask around and read reviews on books to see if you can fine one that better suits your learning style. Also, you discrete structures course looks like a decent intro. I did not see recurrence relations, so if your course did not cover it, you might see if you can find an online tutorial for modeling with and solving recurrence relations. RR's are useful for solving many types of counting problems that cannot otherwise be solved.

Edit: Let me revise my statement about the Cormen book. You can find the instructors manual online, which includes instructor lecture notes and answers to some problems.

This post has been edited by Programmist: 4 Sep, 2008 - 05:20 AM
User is offlineProfile CardPM
+Quote Post

Programmist
RE: Book: Algorithmic Reasoning
4 Sep, 2008 - 05:22 AM
Post #6

Four-letter word
Group Icon

Joined: 2 Jan, 2006
Posts: 1,179



Thanked: 6 times
Dream Kudos: 100
Expert In: Java

My Contributions
I missed your question about the Rosen book. I own a previous version and I would recommend it for a through treatment of discrete math.
User is offlineProfile CardPM
+Quote Post

LowWaterMark
RE: Book: Algorithmic Reasoning
7 Sep, 2008 - 02:57 AM
Post #7

D.I.C Head
**

Joined: 30 Jul, 2008
Posts: 119



Thanked: 1 times
My Contributions
Programmist, thank you for your replies.

I just finished the first two MIT lectures by Prof. Charles Leiserson (2nd authour of the Corman book). At 2:55 into the first lecture of the MIT course (from link you provided me), Dr. Leiserson goes into prerequisites. In addition to Discrete Math, Probability, and Digital Signal Processing he states unequivocally the need for programming experience in the student's background to sit for the class let alone comprehend the text.

This sort of divides up the world of algorithmic instruction. Part of the world wants to teach algorithms to programmers. The other part wants to teach algorithmic theory and design to folks before they embark upon their study of programming.

Practically speaking, I fall into the latter camp, which is a drag as I found the answers to the text exercises and you provided me with the MIT link.

This swings me around to my original query. Is there a great algorithm book designed to prepare smart folks for the study of programming (not the other way around)?

Take care.
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 12/2/08 07:12AM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month