*
The moose likes Java in General and the fly likes Algorithms and my burst bubble of programmers bliss Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Algorithms and my burst bubble of programmers bliss" Watch "Algorithms and my burst bubble of programmers bliss" New topic
Author

Algorithms and my burst bubble of programmers bliss

David Crossett
Ranch Hand

Joined: Feb 05, 2003
Posts: 102
I've been developing with Java 2 for around 6 months now. I fell in love with programming and spend hours every night working through more books and examples (no real/professional experience yet). However, I've stumbled upon a discovery that has me disheartened. I'm learning that - while writing code is fun and satisfying - I OFTEN don't know how the HECK to solve particular problems. From what I've read, this has everything to do with developing working algorithms to solve particular 'real world' problems. Is this frustrating time a lack of experience/knowledge of Java, or do I need to pick up some 'theory' books on how to write algorithms?
P.S. I'm using the word 'algorithm' as a general term for 'how' to solve problems...(leap year, sorting, finding myself buried in "if's" and "for's"...)
David Crossett
~haven't figured out anything cute to say yet~


David Crossett
-nothing important to say, but learnin' plenty-
Shashi Kanta
Ranch Hand

Joined: May 08, 2002
Posts: 89
Ya, u need to have a look at some books describing common algorithms. Also u need to have a look at Data Structures. If u can study Design Patterns too, then u'll master any programming language!
Shashi
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
Hi David, welcome to JavaRanch.
Yes, learning a programming language is just like buying a dandy screwdriver. If you don't know what screws do what and how much to turn them, having a screwdriver is not going to get you very far.
I would suggest that you take a look at a few books that are a bit more practical. For example the Deitel and Deitel "How to program" series. Or the book featured here Objects-First. They are not necessarily the easiest or the best but they are practical.
-Barry


Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
You have discovered why every CS major is required to take a course on "Data Structures and Algorithms".
http://www.coderanch.com/t/93462/Book-Reviews/Data-Structures-Algorithms-Java-Robert


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
In my humble opinion, this has something to do with computer theoretical background, but it also has more to do with experience and analysis skill. You have to practise more to gain the skill, which gives you an almost instant 'algorithm' to the problem, starting from there, you revise the algorithm, apply your programming skill to make it a program.
HTH.
David Crossett
Ranch Hand

Joined: Feb 05, 2003
Posts: 102
Thanks, guys... I took a look at Data Structures and Algorithms, and think I'll be getting that this week. I teaching myself using Deitel How to Program Java 2 Third Edition, Core Java Volume I, and Teach Yourself Java in 21 Days...This looks like a great book to add to the shelf...thanks!!
David
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
Originally posted by Don Liu:
In my humble opinion, this has something to do with computer theoretical background, but it also has more to do with experience and analysis skill. [...]
I respectfully disagree. Yes, there's analysis and design skills, and they too will take time and effort to acquire. But you do need to start with the "theoretical" background. That background, in this case, is not theoretical but thoroughly practical. If you don't have it, you will spend many painful hours re-inventing the wheel, most likely coming up with an inferior wheel at that. Moreover in engineering, as in art, originality starts with imitation for most of us. If you haven't seen the great and beatiful structures, algorithms, and patterns that the field has produced, you are much less likely to come up with good and well-crafted solutions of your own.
It all has to do with professionalism. There are (still, despite the IT downturn) plenty of clowns that call themselves "software developers" and even manage to make a seemingly successful career out of their incompetence; in the worst cases, that incompetence is exceeded only by the inflationary pressure on their ego. One can only respect the fact that David clearly wants to be a professional rather than a clown.
Phew. It was good to let off steam In case you think I'm exaggerating or overly offensive, try doing a fixed-price, fixed-deadline project with the type.
Don, let me hasten to add that I do certainly not want to imply in any way that you are a "clown". To the contrary; your very active participation in the 'ranch alone would disqualify you as one Although the .sig does remain very long and loud
David, you might enjoy the following links -- some of them you might not be ready for now, others will blow your mind -- Data Structures and Algorithms with OO Design Patterns in Java, Algorithm Links, Bruce Eckel's site and books, the Stony Brook Algorithm Repository, The Road, Christopher Alexander, and Good Software Design, The Portland Pattern Repository. Be sure to read Knuth's Art of Computer Programming, the Gang of Four pattern book, Fowler's Refactoring and Hunt et al's Pragmatic Programmer someday.
- Peter
[ Corrected the first link ]
[ February 13, 2003: Message edited by: Peter den Haan ]
Gopi Balaji
Ranch Hand

Joined: Jan 23, 2003
Posts: 84
Originally posted by Peter den Haan:

<snipped>The Road, Christopher Alexander, and Good Software Design
<snipped>

Excellent one. Thank you, Peter.
-GB.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Peter is 100% correct. Think of other skill professions. How does a carpenter learn his trade? Through reading? Yes to some extent. Through practice? Yes. But most importantly, a carpenter goes through an apprenticeship where he works with other skilled carpenters learning how they do the job. My brother is an electrician. He apprenticed for four years before he was qualified to do work on his own. Sometimes I think we should have a similar requirement for computer professionals.
David Crossett
Ranch Hand

Joined: Feb 05, 2003
Posts: 102
I didn't know where the best place to post this would be, but I wanted to let someone know that I have the .zip file of Instructor Answers for Deital Java How to Program (both 3rd and 4th edition)...these have been a HUGE help to me trying to learn Java using their book. Technically, only instructors should have them, but...well, but nothing. You do what you gotta do to make a living, eh?
David
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Originally posted by Peter den Haan:
Don, let me hasten to add that I do certainly not want to imply in any way that you are a "clown". To the contrary; your very active participation in the 'ranch alone would disqualify you as one Although the .sig does remain very long and loud


As I said in my previous post, that is just my <B>humble</B> opinion. Here we only discuss about Java, let's be professional. So please don't get personal.
Meanwhile, you have the right to think me as a "clown". I don't care. As I have the right to think you as a "clown" too. But I do have the legal right to protect my reputation.
Ellen Zhao
Ranch Hand

Joined: Sep 17, 2002
Posts: 581
Hi David,
Come on, you are right on the start point of the real stuff which is called "computation". What a good book Mr.Paul recommended! I used this book last semester along with my data structure course, it helped a lot! My note here is: the stuff in this book is only some basic and just as Dr. den Haan said: pretty pratical. Be patient and try to do more exercise, understand the underlying math essence and also read a lot of code( The code provided in the book Mr. Paul mentioned are implemented very well. I borrowed a lot from this book for my homework.) and you will find it's not that difficult or complex as it appeared, no lie.
If you want to pursuit further, there are far more fascinating yet tougher stuff ahead. From then on comes the theoretical material. Discrete mathematics plays a dominate role. You may try Cormen: Introduction to Algorithmsfirst, this book still represents algorithms in a not-so-abstract way. Knuth's bible-like algorithms book is more advanced but not for a beginner. You might ask: why should a cs people know those? Okay, let me put it this way: Have you ever wondered how superbly the Google performs? Algorithm magic. Why does Nikon Coolpix DC serial record scene better than some brands else? They have some unique algorithm to process the colours and lights(their lens might also count though)in their chip. And, if you could proove you were actually given an NP-hard problem, your boss wouldn't blame you if you couldn't eventually make the project. Here is a list of books I have used and found very nice so far. Hope you could find that helpful to you too.

Regards,
Ellen
[ February 12, 2003: Message edited by: Ellen Zhao ]
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
Don, the only personal comment in Peter's post was the reference to your sig. The clown reference was explicitly not directed at you. Peter saw that what he wrote might have been interpreted as an insult to you (even though it was not intended that way) and so he added a paragraph explicitly stating that he wasn't calling you a clown. There's no reason to get offended here.


"I'm not back." - Bill Harding, Twister
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
Don, I have nothing to add to Jim's post. No offense was intended, and I added a paragraph specifically in an attempt to ensure that you'd take none. I apologise for not being clear enough.
- Peter
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
My first link to Data Structures and Algorithms with Object-Oriented Design Patterns in Java didn't work. It does now. Apologies.
- Peter
Ellen Zhao
Ranch Hand

Joined: Sep 17, 2002
Posts: 581
Originally posted by Peter den Haan:
My first link to Data Structures and Algorithms with Object-Oriented Design Patterns in Java didn't work. It does now. Apologies.
- Peter

Another nice book! Thank you so much, Dr. den Haan. I was thinking of submitting a post " What's the difference between the two heaps ?" and wanted to ask how could it be possible to handle all the objects in memory just with priority queues( the heap in my conception ) . From this page in the book you recommended, now the picture is clear to me.
Best Regards,
Ellen
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Peter, no apologise is necessary. I know you are discussing java. Me too. That is also majority of people come here for. But this is not an ideal world. I don't care you said that, but some people may be mis-lead and start to do something silly, and good people got bothered. Trust me, I have that experience.
Just like terrorism, to deal with it, you have to exerise terroism. Once again, I think professionaism is the key to all the problem. Thanks for you help. I really appreciate your posts!
James Chegwidden
Author
Ranch Hand

Joined: Oct 06, 2002
Posts: 201

didn't know where the best place to post this would be, but I wanted to let someone know that I have the .zip file of Instructor Answers for Deital Java How to Program (both 3rd and 4th edition)...these have been a HUGE help to me trying to learn Java using their book. Technically, only instructors should have them, but...well, but nothing. You do what you gotta do to make a living, eh?
David

That's Ok but do not let everyone else outthere no it. I teach java with Deitels 5th newest edition.


Author and Instructor, my book
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937

Don Liu wrote:

But this is not an ideal world. I don't care you said that, but some people may be mis-lead and start to do something silly, and good people got bothered.
--------------------
DON LIU
oca,ibm-uml,xml,mcsd,mcse-w2k,mcdba,scjp,scjd,scwcd,scea
Creator of 100% correct answer to IBM 486 sample test
Co-creator of 100% correct answer to IBM 141 sample test
Creator of JavaRanch's first post of 2003 (January 01, 2003 12:16 AM)
The true logic of this world is in the calculus of probabilities.
--James Clerk Maxwell


At the risk of ceasing to belong to the category of the "good people", I feel like doing something silly. Here it is:
--------------------
EUGENE KONONOV
fbi,cia(per-diem),kgb,stasi,securitate(for a short time only),abcde,efghi-jklm, and &^!%#
Creator of 99% correct answer to PHIL-101 sample test (couldn't answer correctly "What's the meaning of life?")
Co-creator of 100% of my children (the other 3 parties involved were an in-vitro specialist, my wife, and God)
Creator of JavaRanch's 23,987th off-topic post (February 15, 2003 11:36 PM, 12 days before the apocalipse)
"There is no wrong way to spell Nietzsche."
--Matt Groenig (not sure about the author's middle name)

[ February 16, 2003: Message edited by: Eugene Kononov ]
Chad McGowan
Ranch Hand

Joined: May 10, 2001
Posts: 265
Don, I'm not calling you a clown or anything, but do you really have all these Sun certifications? You don't seem to be an expert on java... I have noticed that most of your posts are either bad advice, wrong answers or "Thanks" for someone elses answer.
I have even noticed that you say "Thanks" in posts that you haven't even participated in. Is this just to increase your post count?
I apologize if you really are an expert, maybe I have just noticed your wrong answers only. They just struck me as being odd answers for someone with such credentials. Here are a couple of examples:
Maybe you can add these to your signature:
Creator of 100% wrong Java IDE advice
Creator of 100% wrong regular expression answer
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
What should I put in my signature?
NCAA certified final four specialist?
Roseanne Zhang
Ranch Hand

Joined: Nov 14, 2000
Posts: 1953
Creator of one-line-only Don Liu's homepage.
Sorry, I don't remember when I asked last time, probably at least 6-7 months ago. It still looks the same...
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Hi Roseanne:
Thanks for the message. I tried to work on my homepage. But neve got chance. And I also notice you have a very nice group there, I was interested for a long time.
I just got an offer, so in the next couple of months, I will be working in Mountain View, Tokyo, and Shanghai. Things get even busier.
Well, it is a small world. I will keep in touch. Good luck with everything!
Best Regards,
Don
Roseanne Zhang
Ranch Hand

Joined: Nov 14, 2000
Posts: 1953
Good, I'd like to go to those places too...
I know you are very smart person, and it has been proved in many occasions.
At least, there is one thing you can do quick and easy. Scan all your certificates into some reduced-size gif files, and put on your website. Then nobody should waste their time to express their doubt and ask the same question again and again!
A good suggestion from Roseanne. Isn't it?
John Smith
Ranch Hand

Joined: Oct 08, 2001
Posts: 2937

At least, there is one thing you can do quick and easy. Scan all your certificates into some reduced-size gif files, and put on your website. Then nobody should waste their time to express their doubt and ask the same question again and again!

That's a good suggestion. It's no coincidence that the most qualified and helpful people here are those who do not list their titles in their signatures. If you want to list your titles, do it on your resume, -- that's the place for it.
Eugene.
[ March 18, 2003: Message edited by: Eugene Kononov ]
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Thanks for the suggestion! I really appreciate it! I will work on it as soon as I get chance!
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
Don? Is that really you? I don't recognise you...
- Peter
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Yes, it is me.
I really thought about taking picture of my certs, I even thought how to do it: I like to put all my certs on top of the hood of my vehicle, then take one big picture to have them all in it.
But one big problem: I have to use ftp to send file from my computer to the server. It takes long time, and often get disrupted. I guess that is price of free lunch. Besides, I am not even sure I still remember my password by now.
Don
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Algorithms and my burst bubble of programmers bliss
 
Similar Threads
Fatigue and boredom From programming
Common or well-known algorithms?
Does one need Experience ?
Procedural programming shortcuts in OOD?
The satisfaction of learning