JavaRanch Home    
This page:         last edited 18 February 2008         What's Changed?         Edit

Searching For Solutions Has Repercussions   

While the folks at the Java Ranch will try hard at nudging you to DoYourOwnHomework, we can't stop you from using a search engine (such as Yahoo or Google) to get complete solutions to your homework problems. In fact, there are many sites that provide complete examples for many common homework assignments.

However, searching for solution is not without repercussions. In the classic example, you are given an easy homework assignment, which you can solve "the hard way" by actually doing the assigment (with some hints from the good folks at the Java Ranch). Or you can solve it "the easy way" by using a search engine. The second way is obviously faster too, but...

With your next assignment, the problem becomes harder. With the next next assignment, it will be harder still. It will get to the point where a search engine won't provide a complete solution, and you won't have the skills or experience of working through the easier problems, to be able to solve the assignment. In fact, you may not even have the skills or experience to even modify the examples which are found by the search engines.

This is why it is not recommended to search for solutions to homework assignments. Doing so is no different than pasting the question into Java Ranch in hopes of getting your work done for you. Please DoYourOwnHomework.

  • What is wrong with having the solutions? Isn't it easier to learn the correct solution from the answers?

Professional programming is not as simple as knowing a set of solutions. (Patterns, Architectures, Best-Practices, etc.) After you graduate, you will likely be facing problems which haven't been solved before. After you graduate, you will likely be facing complex problems, which doesn't easily fit into a menu of patterns. They probably do fit, but how will you recognize it?

Your homework problem is more than just learning the correct solution. It is learning how to arrive at that correct solution. It is learning to recognize that it is the correct solution. It is learning to test code. It is to get you into good programming habits. It is to get you comfortable with brainstorming possible solutions. But most importantly, it is to give you the confidence (comfort level) to tackle more complex problems.

  • Unfortunately, I don't have enough time. This is URGENT!! I don't want to fail the course!

Believe it or not, we understand your pain. We also understand the pain that you will likely encounter in the future. Even if you were able to pass the course, what about the next course? Programming knowledge is not in isolation. Stuff that you learn in Data Structures, will be needed in Algorithms. Stuff that you learn in Algorithms may be used in Artifical Intelligence, Graphics, Databases, etc.

You are not doing yourself any favors by cheating through a course -- even if you regard the subject as something that you will never use. And what if you were able to cheat your way to the degree. Besides the obvious argument that you wasted money on an education, how will you perform your duties as a professional programmer?

See: DoYourOwnHomework, NotACodeMill

Also take a look at our other tips on HowToAskQuestionsOnJavaRanch!

JavaRanchContact us — Copyright © 1998-2014 Paul Wheaton