Running head: COMPUTER OPERATIONS, SOLVING PROBLEMS, AND Computer Operations, Solving Problems, and Algorithms your name class date instructor 1 COMPUTER OPERATIONS, SOLVING PROBLEMS, AND 2 Computer Operations, Solving Problems, and Algorithms Basic computer operations There are various operations, performed by the computer. Some of these operations are as follow. 1. Receive information: From other sources computers receive information for instance keyboard, cameras, modems, scanners. Now this can be done by the input component of the computer. 2. Output information and data: A computer is the source of giving information. Like you save information in the computer because it has the ability to "save" information, a computer can send information to other sources, using output devices that act as input and output, such as modems and printers. For instance when you want to send a picture or text message from your cell phone you are using your mini "computer's" ability to output. This can be done by using the output components. 3. Perform mathematics and logical calculations: With the help of computer we can perform calculations. Computer Programmers can create mathematical calculations for a computer and the computer can do the calculations whether it is simple or hard. These calculations can be done by processing component of the computer. 4. Store data: Computer can store the data on a memory disk. A computer can assign a value to a memory location such as "=". When you install a program into your computer that COMPUTER OPERATIONS, SOLVING PROBLEMS, AND 3 program is stored to a memory location chosen by you or the computer. These tasks are performed by processing component. 5. Process data: “Computers can easily repeat different actions and to process data. Computers can repeat entire groups of actions utilizing a sequence of steps. Your computer takes the information you put into it and "processes" it to create the information/data you put out of it” (Alba, 2009). A computer, can also run the various software programs or application with help of processing component. 6. Follow commands: A computer carries out commands and can compare two variables. A variable is a place in your computers memory to store information. Your computer can translate or "decode" commands into action and can choose between two alternative actions by comparing data. This operation is also categorized into processing component. Process and methods for problem recognition and problem solutions There are various process and methods of problem recognition. One of them is three-stage model of problem recognition model is used within an organizations. Which describes such recognition as being either automatic or requiring further research? The stages involved in problem recognition processes are: 1. The gestation or latency stage, during which the problem is scanned, 2. The categorization stage, in which problems are determined to be urgent, persistent or actually not problematic, and 3. The diagnosis stage, in which the problem is defined, prioritized and possibly solved. COMPUTER OPERATIONS, SOLVING PROBLEMS, AND 4 Eleven propositions related to problem recognition are identified and discussed. The model developed can help individuals within organizations to understand their group's problem recognition process, which should in turn facilitate problem-solving techniques. Process of algorithm development A program is an expression of an idea. A programmer starts with a general idea of a task for the computer to perform. Presumably, the programmer has some idea of how to perform the task by hand, at least in general outline. The problem is to flesh out that outline into a complete, unambiguous, step-by-step procedure for carrying out the task. Such a procedure is called an algorithm. Development process of algorithms contains following steps: Pseudocode and Stepwise Refinement “When programming in the small, you have a few basics to work with: variables, assignment statements, and input/output routines. You might also have some subroutines, objects, or other building blocks that have already been written by you or someone else” (Vajtersic, 1993). (Input/output routines fall into this class.) You can build sequences of these basic instructions, and you can also combine them into more complex control structures such as while loops and if statements. Suppose you have a task in mind that you want the computer to perform. One way to proceed is to write a description of the task, and take that description as an outline of the algorithm you want to develop. Then you can refine and elaborate that description, gradually COMPUTER OPERATIONS, SOLVING PROBLEMS, AND 5 adding steps and detail, until you have a complete algorithm that can be translated directly into programming language. This method is called stepwise refinement, and it is a type of top-down design. As you proceed through the stages of stepwise refinement, you can write out descriptions of your algorithm in pseudocode -- informal instructions that imitate the structure of programming languages without the complete detail and perfect syntax of actual program code. Coding It would be nice if, having developed an algorithm for your program; you could relax, press a button, and get a perfectly working program. Unfortunately, the process of turning an algorithm into Java source code doesn't always go smoothly. And when you do get to the stage of a working program, it's often only working in the sense that it does something. Testing After program plan comes coding: translating the plan into a program written in Java or some other language. Frequently, no matter how cautious you are, a few syntax errors will creep in from anywhere, and the Java compiler will refuse your program with some type of mistake message. When your program compiles without error, you are still not done. You have to test the program to create sure it works properly. The objective is a program that will work correctly for all rational inputs. Ideally, when faced with an difficult input, it will react by gently chiding the user rather than by crashing. Test your program on a broad variety of inputs. Try to find a set of inputs that will test the full range of functionality that you've coded into your program. As you begin writing better programs, write them in stages and test each stage along the way. You might COMPUTER OPERATIONS, SOLVING PROBLEMS, AND 6 even have to write some extra code to do the testing -- for example to call a subroutine that you've just written. Debugging The point of testing is to locate bugs -- semantic mistakes that illustrate up as wrong performance rather than as compilation errors. And the sad detail is that you will most likely find them. Again, you can reduce bugs by cautious plan and cautious coding, but no one has establish a method to keep away from them altogether. Once you've detected a bug, it's time for debugging. You have to track down the reason of the bug in the program's foundation code and remove it. Debugging is a talent that, like other elements of programming, needs practice to master. The golden rule of debugging is; if you are absolutely sure that everything in your program is correct, and if it still doesn't work, then one of the things that you are totally certain of is wrong. COMPUTER OPERATIONS, SOLVING PROBLEMS, AND References Alba, E. (2009), Optimizing techniques for solving complex problems. Retrieved from Google books. Vajtersic, M. (1993), Alogorithms for elliptic problems: efficient sequential. Retrieved on November 13, 2010. 7