Main » Articles » ITGS » 2013

chapter 13-chapter 14

End of Chapter Summary

Computer programming is a specialized form of problem solving that involves developing an algorithm for solving a problem. Most programmers use stepwise refinement to break a problem repeatedly into smaller, more easily solvable problems. An algorithm typically is developed in pseudocode, which describes the logic of the program before being translated into a programming language. A translator program—either a compiler or an interpreter— checks for syntax errors (language errors) and, if it finds none, translates the program into machine language so the computer can execute the instructions. Logic errors might not surface until the translated program is run, and maybe not even then. The programming process isn’t completed until the program is thoroughly tested for errors.

Computer languages have evolved through several generations, with each generation being easier to use and more powerful than the one that came before. Machine language—the original computer language of 0s and 1s—is primitive and difficult to program. Assembly language uses a translator called an assembler to turn alphabetic codes into the binary numbers of machine language, but in every other way it is identical to machine language.

High-level languages, such as FORTRAN, COBOL, BASIC, and C++, are more like English and, therefore, easier to work with than either machine or assembly language. What’s more, they generally can be transported between computers with a minimum of rewriting. Most modern languages encourage structured programming, a technique that involves combining subprograms using only the three fundamental control structures: sequence, selection, and repetition. Structured programming produces programs with fewer logic errors. Still, when program efficiency is critical, many programmers use languages such as C that enable them to work at a lower level of machine logic.

Many applications contain built-in macro languages, scripting languages, and query languages that put programming power in the hands of users. Query languages are representative of fourth-generation languages (4GLs), which are nonprocedural; that is, they enable the programmer to focus on defining the task rather than outlining the steps involved in accomplishing the task. Visual programming tools enable the programmer to use icons, drawing tools, menus, and dialog boxes to construct programs without writing code. Object-oriented programming (OOP) tools enable programmers to construct programs from objects with properties and provide the ability to send messages to each other; many believe that OOP represents the future of programming.

Programs are part of larger information systems. An information system has a life cycle that starts with the initial investigation of the problem; proceeds through analysis, design, development, and implementation phases; and lingers in an ongoing maintenance phase until the system is retired. A systems analyst manages a typical information system with the help of a team of programmers and other computer professionals. Systems analysts use a variety of tools and techniques to help them develop and manage systems, including data collection techniques, modeling tools, and CASE technology.

Computer scientists are responsible for the software tools and concepts that make all other software development possible. Computer science focuses on the process of computing through several areas of specialization, including theory, algorithms, data structures, programming concepts and languages, computer architecture, management information systems, artificial intelligence, and software engineering.

One of the most challenging problems facing computer science is the problem of software reliability. Current software development techniques provide no assurance that a software system will function without failure under all circumstances. Because testing cannot prove that no bugs exist, software manufacturers cannot provide strong warranties for their products. Instead, computer users must accept the possibility that the programs they use may be less than 100 percent reliable. As more and more human institutions rely on computer systems, it becomes increasingly important for computer scientists to find ways to make software that people can trust.

Category: 2013 | Added by: Jerry (17/05/2012)
Views: 379 | Rating: 0.0/0
Total comments: 0
Only registered users can add comments.
[ Registration | Login ]
Section categories
2013 [52]
2014 [25]
Statistics
Map
Login form