Problem Solving

 

computer science problem solving

Problem Solving. Quality Computer Science Resources for Hardworking Teachers. To access this page, you must purchase 1 Year Membership. Introduction to Computer Science Using Python: A Computational Problem–Solving Focus introduces readers to programming and computational problem–solving via a back–to–basics, step–by–step, objects–late approach that makes this book easy to teach and learn from. Home» Courses» Electrical Engineering and Computer Science» Introduction to Computer Science and Programming» Unit 1» Problem Solving Problem Solving Course Home.


Why Study Computer Science? - DePauw University


Solving problems is the core of computer science. Programmers must first understand how a human solves a problem, then understand how to translate this "algorithm" into something a computer science problem solving can do, and finally how to "write" the specific syntax required by a computer to get the job done.

It is sometimes the case that a machine will solve a problem in a completely different way than a human. Computer Programmers are problem solvers. In order to solve a problem on a computer you must:. Determine the steps to transform the information from one representation into another. A computer, at heart, is really dumb. It can only really know about a few things See Data Types.

Everything else must be "approximated" by combinations of these data types. A good programmer will "encode" all the "facts" necessary to represent a problem in variables See Variables. Further, computer science problem solving, there are "good ways" and "bad ways" to encode information. Good ways allow the computer to easily "compute" new information. An algorithm see Algorithm is a set of specific steps to solve a problem. Think of it this way: if you were to tell your 3 year old neice to play your favorite song on the piano assuming the neice has never played a pianoyou would have to tell her where the piano was, and how to sit on the bench, and how to open the cover, and which keys to press, and which order to press them in, etc, etc, etc.

The core of what good programmers do is being able to define the steps necessary to accomplish a goal. Unfortunately, a computer, only knows a very restricted and limited set of possible steps. For example a computer can add two numbers. But if you want to find the average of two numbers, this is beyond the basic capabilities of a computer.

To find the average, you must:. Computer scientists like to use the fancy word "Encapsulation" to show how smart we are. This is just a term for things we do as humans every day. It is combined with another fancy term: "Abstraction". Abstraction is the idea of "ignoring the details". For example, a forest is really a vastly complex ecosystem containing trees, animals, water paths, etc, etc, etc. But to a computer scientist and to a normal personits just "a forest".

For example, if your professor needs a cup of coffee, and asks you the single item: "Get me a cup of coffee", he has used both encapsulation and abstraction. The number of steps required to actually get the coffee are enumerable. Including, getting up, computer science problem solving, walking down the hall, getting in your car, driving to a coffee stand, paying for the coffee, etc, etc, etc. Further, the idea of what a cup of coffee is, is abstract.

Do you bring a mug of coffee, computer science problem solving, or a Styrofoam cup? Is it caffeinated or not? Is it freshly brewed or from concentrate? Does it come from Africa or America? Thus we "abstract away" the details and only remember the few important items.

This brings us to the idea of "Complexity Hiding". Complexity hiding is the idea that most of the times details don't computer science problem solving. In a computer program, as simple an idea as drawing a square on the screen involves hundreds if not thousands of low level computer instructions.

Again, a person couldn't possible create interesting programs if computer science problem solving time they wanted to do something, they had to re-write correctly every one of those instructions. By "ecapsulating" what is meant by "draw square" and "reusing" this operation over and over again, computer science problem solving, we make programming tractable. The idea behind encapsulation is to store the information necessary to a particular idea in a set of variables associated with a single "object".

We then create functions to manipulate this object, computer science problem solving, regardless of what the actual data is. From that point on, we treat the idea from a "high level" rather than worry about all the parts data and actions functions necessary to represent the object in a computer. Brute force is a technique for solving problems that relies on a computers speed how fast it can repeat steps to solve a problem. For example, if you wanted to know how many times the number 8 goes into the numbercomputer science problem solving, you could do the following:.

Of course this is a silly way computer science problem solving a computer or a human to solve this problem. The real way we would do it is:. When in doubt, you can often use "brute force" to solve a problem, but it often saves time at least computer time to think about the problem and solve it in an elegant manner.

Problem Solving Solving problems is the core of computer science. Problem Solving Computer Programmers are problem solvers, computer science problem solving. In order to solve a problem on a computer you must: Know how to represent the information data describing the problem.

Information Representation A computer, at heart, is really dumb. Algorithm An algorithm see Algorithm is a set of specific steps to solve a problem, computer science problem solving. To find the average, you must: First: Add the two numbers and save this result in a variable Then: Divide this new number the number two, and save this result in a variable. Finally: provide this number to the rest of the program or print it for the user. Encapsulation and Abstraction and Complexity Hiding Computer scientists like computer science problem solving use the fancy word "Encapsulation" to show how smart we are.

Encapsulation The idea behind encapsulation is to store the information necessary to a particular idea in a set of variables associated with a single "object". Brute Force Brute force is a technique for solving problems that relies on a computers speed how fast it can repeat steps to solve a problem. Back to Topics List.

 

 

computer science problem solving

 

Computer Science (CS) is a vibrant subject with academic depth, enormous growth, and universal economic impact. Computers are now ubiquitous in society and influence the way we learn, the way we do science and business, and the way we interact with and understand our world. Edsgar Dijkstra (a. Problem Solving. Quality Computer Science Resources for Hardworking Teachers. To access this page, you must purchase 1 Year Membership. Courses. Take a guided, problem-solving based approach to learning Computer Science. These compilations provide unique perspectives and applications you won't find anywhere else.