Preview (6 of 17 pages)

Chapter 2 Computers: The Machines behind Computing Learning Objectives Define a computer system, and describe its components. Discuss the history of computer hardware and software. Explain the factors distinguishing the computing power of computers. Summarize computer operations. Discuss the types of input, output, and memory devices. Explain how computers are classified. Describe the two major types of software. List the generations of computer languages. Detailed Chapter Outline I. Defining a Computer A computer is defined as a machine that accepts data as input, processes data without human intervention by using stored instructions, and outputs information. The instructions, also called a program, are step-by-step directions for performing a specific task, written in a language the computer can understand. If data is erroneous, the information the computer provides is also erroneous. This rule is sometimes called GIGO: garbage in, garbage out. Many computer languages are available; the language an individual selects depends on the problem being solved and the type of computer he or she is using. Regardless of the language, a program is also referred to as the source code. This source code must be translated into object code—consisting of binary 0s and 1s. Binary code—a set of instructions used to control the computer—uses 0s and 1s, which the computer understands as on or off signals. A. Components of a Computer System A computer system consists of hardware and software. Hardware components are physical devices, such as keyboards, monitors, and processing units. The software component consists of programs written in computer languages. Input devices, such as keyboards, are used to send data and information to the computer. Output devices, such as monitors and printers, display the output a computer generates. The central processing unit (CPU) is the heart of a computer. It is divided into two components: the arithmetic logic unit (ALU) and the control unit. Some computers have a single processor; other computers, called multiprocessors, contain multiple processors. Multiprocessing is the use of two or more CPUs in a single computer system. In recent years, multicore processors have been introduced. A quad-core processor contains four cores, a hexa-core processor contains six cores, and an octa-core processor contains eight cores. These new chips are making computers faster than their predecessors. Another component that affects computer performance is a bus, which is the link between devices connected to the computer. A bus can be parallel or serial, internal (local) or external. Other factors that affect computer performance include the processor size and the operating system (OS). A disk drive is a peripheral device for recording, storing, and retrieving information. A CPU case is the enclosure containing the computer’s main components. A motherboard is the main circuit board containing connectors for attaching additional boards. In addition, it usually contains the CPU, Basic Input / Output System (BIOS), memory, storage, interfaces, serial and parallel ports, expansion slots, and all the controllers for standard peripheral devices, such as the display monitor, disk drive, and keyboard. A serial port is a communication interface through which information is transferred one bit at a time; a parallel port is an interface between a computer and a printer that enables the computer to transfer multiple bits of information to the printer simultaneously. II. The History of Computer Hardware and Software Computers are often categorized into “generations” that mark technological breakthroughs. Beginning in the 1940s, first-generation computers used vacuum tube technology. They were bulky and unreliable, generated excessive heat, and were difficult to program. Second-generation computers used transistors and were faster, more reliable, and easier to program and maintain. Third-generation computers operated on integrated circuits, which enabled computers to be even smaller, faster, more reliable, and more sophisticated. Remote data entry and telecommunications were introduced during this generation. Fourth-generation computers continued several trends that further improved speed and ease of use: miniaturization, very-large-scale integration (VLSI) circuits, widespread use of personal computers, and optical discs (discs written or encoded and read using a laser optical device). The current fifth-generation computers include parallel processing (computers containing hundreds or thousands of CPUs for rapid data processing), gallium arsenide chips that run at higher speeds and consume less power than silicon chips, and optical technologies. Computer designers have concentrated on technology using gallium arsenide because silicon cannot emit light and has speed limitations. However, the major problems with gallium arsenide are difficulties in mass production. This material is softer and more fragile than silicon, so it breaks more easily during slicing and polishing. In October 2012, IBM announced that it will start using carbon nanotubes (CNTs) instead of silicon in its computer chips. It is one of the methods that should keep chip sizes shrinking after the current silicon-based technology has reached its limit. Optical computing is in its infancy, and more research is needed to produce a full-featured optical computer. Nevertheless, storage devices using this technology are revolutionizing the computer field by enabling massive amounts of data to be stored in very small spaces. Computer languages and software have also developed through five generations. III. The Power of Computers Computers draw their power from three factors that far exceed human capacities: speed, accuracy, and storage and retrieval capabilities. A. Speed Computers process data with amazing speed. Today’s high-speed computers make it possible for knowledge workers to perform tasks much faster than with the slower computers of the past. Typically, computer speed is measured as the number of instructions performed during the following fractions of a second: Millisecond: 1/1,000 of a second Microsecond: 1/1,000,000 of a second Nanosecond: 1/1,000,000,000 of a second Picosecond: 1/1,000,000,000,000 of a second B. Accuracy Unlike humans, computers do not make mistakes. To understand computer accuracy more clearly, take a look at these two numbers: 4.0000000000000000000000001 4.0000000000000000000000002 To humans, these two numbers are so close that they are usually considered equal. To a computer, however, these two numbers are completely different. This degree of accuracy is critical in many computer applications. On a space mission, for example, computers are essential for calculating reentry times and locations for space shuttles. A small degree of inaccuracy could lead the space shuttle to land in Canada instead of the United States. C. Storage and Retrieval Storage means saving data in computer memory, and retrieval means accessing data from memory. Computers can store vast quantities of data and locate a specific item quickly, which makes knowledge workers more efficient in performing their jobs. In computers, data is stored in bits. A bit is a single value of 0 or 1, and 8 bits equal 1 byte. A byte is the size of a character. Every character, number, or symbol on the keyboard is represented as a binary number in computer memory. A binary system consists of 0s and 1s, with a 1 representing “on” and a 0 representing “off.” Computers and communication systems use data codes to represent and transfer data between computers and network systems. The most common data code for text files, PC applications, and the Internet is American Standard Code for Information Interchange (ASCII), developed by the American National Standards Institute. IV. Computer Operations Computers can perform three basic tasks: arithmetic operations, logical operations, and storage and retrieval operations. All other tasks are performed using one or a combination of these operations. Computers can add, subtract, multiply, divide, and raise numbers to a power (exponentiation). Computers can perform comparison operations by comparing two numbers. For example, a computer can compare x to y and determine which number is larger. Computers can also store massive amounts of data in very small spaces and locate a particular item quickly. V. Input, Output, and Memory Devices To use a computer and process data, three major components are needed: input, output, and memory devices. A. Input Devices Input devices send data and information to the computer. They are constantly being improved to make data input easier. Examples of input devices include: Keyboard—this is the most widely used input device. Originally, keyboards were designed to resemble typewriters, but several modifications have been made to improve their ease of use. Mouse—this pointing device moves the cursor on the screen, allowing fast, precise cursor positioning. With programs that use graphical interfaces, such as Microsoft Windows or Mac OS, the mouse has become the input device of choice. Touch screen—this is a combination of input devices, usually working with menus. Some touch screens rely on light detection to determine which menu item has been selected; others are pressure sensitive. Light pen—this is a light-sensitive stylus connected to the monitor with a cable. When it is placed on an on-screen location, the data in that spot is sent to the computer. Trackball—this is kept in a stationary location, but it can be rolled on its axis to control the on-screen cursor. Trackballs occupy less space than a mouse, so they are ideal for notebook computers. Data tablet—this consists of a small pad and a pen. Menus are displayed on the tablet, and one can make selections with the pen. Barcode reader—this is an optical scanner that uses lasers to read codes in bar form. These devices are fast and accurate and have many applications in inventory, data entry, and tracking systems. Optical character reader (OCR)—this works on the same principle as a barcode reader but reads text instead. OCRs must be able to recognize many special characters and distinguish between uppercase and lowercase letters. Magnetic ink character recognition (MICR) system—this reads characters printed with magnetic ink and is used primarily by banks for reading the information at the bottom of checks. Optical mark recognition (OMR) system—this is sometimes called a “mark sensing” system because it reads marks on paper. B. Output Devices Many output devices are available for both mainframes and personal computers. Output displayed on a screen is called “soft copy.” The most common output devices for soft copy are cathode ray tube (CRT), plasma display, and liquid crystal display (LCD). The other type of output is “hard copy,” for which the most common output device is a printer. Inkjet and laser printers are standard printers used today. Inkjet printers produce characters by projecting onto paper electrically charged droplets of ink that create an image. High-quality inkjet printers use multicolor ink cartridges for near-photo quality output and are often used to print digital photographs. Laser printers use laser-based technology that creates electrical charges on a rotating drum to attract toner. The toner is fused to paper using a heat process that creates high-quality output. Other output devices include plotters for converting computer output to graphics and voice synthesizers for converting computer output to voice. C. Memory Devices Two types of memory are common to any computer: main memory and secondary memory. Main memory stores data and information and is usually volatile, meaning its contents are lost when electrical power is turned off. Secondary memory, which is nonvolatile, holds data when the computer is off or during the course of a program’s operation. It also serves as archival storage. Main memory plays a major role in a computer’s performance; to some extent, the more memory a computer has, the faster and more efficient its input/output (I/O) operations are. Main Memory Devices The most common type of main memory is a semiconductor memory chip made of silicon. A semiconductor memory device can be volatile or nonvolatile. Volatile memory is called random access memory (RAM), although one could think of it as “read-write memory.” A special type of RAM, called cache RAM, resides on the processor. Because memory access from main RAM storage generally takes several clock cycles (a few nanoseconds), cache RAM stores recently accessed memory so the processor is not waiting for the memory transfer. Nonvolatile memory is called read-only memory (ROM); data cannot be written to ROM. The type of data usually stored in ROM includes BIOS information and the computer system’s clock. There are two other types of ROM: Programmable read-only memory (PROM) and Erasable programmable read-only memory (EPROM). Secondary Memory Devices Secondary memory devices are nonvolatile and used for storing large volumes of data for long periods. There are three main types: magnetic disks, magnetic tape, and optical discs. Large enterprises also use storage area networks and network-attached storage for storing massive amounts of data in a network environment. A magnetic disk, made of Mylar or metal, is used for random-access processing. In other words, data can be accessed in any order, regardless of its order on the surface. Magnetic tape, made of a plastic material, resembles a cassette tape and stores data sequentially. Records can be stored in a block or separately, with a gap between each record or block, called the inter-record gap (IRG). Optical discs use laser beams to access and store data. Optical technology can store vast amounts of data and is durable. Three common types of optical storage are CD-ROMs, WORM discs, and DVDs. CD-ROMs are easy to duplicate and distribute and are widely used in large permanent databases, such as for libraries, real estate firms, and financial institutions. They are sometimes used for multimedia applications and to distribute software products. However, because of its larger capacity, digital versatile disc read-only memory (DVD-ROM) is used more often now, particularly for software distribution. A write once, read many (WORM) disc is also a permanent device. Information can be recorded once and cannot be altered. A major drawback is that a WORM disc cannot be duplicated. Other secondary memory devices include hard disks, USB flash drives, and memory cards. A redundant array of independent disks (RAID) system is a collection of disk drives used for fault tolerance and improved performance, and is typically found in large network systems. Data can be stored in multiple places to improve the system’s reliability. Cloud storage has become a popular option for many organizations and individuals in recent years. Used for online storage and backup, it involves multiple virtual servers that are usually hosted by third parties. Storage Area Networks and Network-Attached Storage A storage area network (SAN) is a dedicated high-speed network consisting of both hardware and software used to connect and manage shared storage devices, such as disk arrays, tape libraries, and optical storage devices. A SAN network makes storage devices available to all servers on a local area network (LAN) or wide area network (WAN). SANs speed up data access performance, and despite their cost, they are more economical than having storage devices attached to each server. A SAN’s capacity can be extended easily, even to hundreds of terabytes. Network-attached storage (NAS), on the other hand, is essentially a network-connected computer dedicated to providing file-based data storage services to other network devices. Software on the NAS handles features such as data storage, file access, and file and storage management. When choosing between a SAN and a NAS system, consider the following factors: Hybrid solutions (combining a SAN and a NAS) might be available. A SAN offers only storage; a NAS system offers both storage and file services. NAS is popular for Web servers and e-mail servers because it lowers management costs and helps make these servers more fault tolerant. It is also becoming a useful solution for providing large amounts of heterogeneous data for consumer applications. The biggest issue with NAS is that, as the number of users increases, its performance deteriorates. However, it can be expanded easily by adding more servers or upgrading the CPU. Current trend in I/O devices could be summarized as: Thinner and lighter laptops and tablets Faster and larger memory Widespread applications of wireless devices Increased applications of interactive computing using gesture, touch, and voice VI. Classes of Computers Usually, computers are classified based on cost, amount of memory, speed, and sophistication. Using these criteria, computers are classified as subnotebooks, notebooks, personal computers, minicomputers, mainframes, or supercomputers. Supercomputers are the most powerful; they also have the highest storage capabilities and the highest price. Mainframe computers are usually compatible with the IBM System/360 line introduced in 1965. Systems that are not based on System/360 are referred to as “servers” or supercomputers. Supercomputers are more expensive, much bigger, faster, and have more memory than personal computers, minicomputers, and mainframes. Applications for computers include anything from doing homework (subnotebook, notebook, and personal computer) to launching space shuttles (supercomputer). Because all computers are steadily increasing in speed and sophistication, delineating different classes of computers is more difficult now. Experts believe that the era of wearable, ubiquitous computing is fast approaching. A. Server Platforms: An Overview A server is a computer and all the software for managing network resources and offering services to a network. Many different server platforms are available for performing specific tasks, including the following: Application servers store computer software, which users can access from their workstations. Database servers store and manage vast amounts of data for access from users’ computers. Disk servers contain large-capacity hard drives and enable users to store files and applications for later retrieval. Fax servers contain software and hardware components that enable users to send and receive faxes. File servers contain large-capacity hard drives for storing and retrieving data files. Mail servers are configured for sending, receiving, and storing e-mails. Print servers enable users to send print jobs to network printers. Remote access servers (RAS) allow off-site users to connect to network resources, such as network file storage, printers, and databases. Web servers store Web pages for access over the Internet. VII. What is Software? Software is all the programs that run a computer system. It can be classified broadly as system software and application software. For example, Microsoft Windows is the OS for most PCs and belongs to the system software group. This type of software works in the background and takes care of housekeeping tasks, such as deleting files that are no longer needed. Application software is used to perform specialized tasks. Microsoft Excel, for example, is used for spreadsheet analyses and number-crunching tasks. A. Operating System Software An operating system (OS) is a set of programs for controlling and managing computer hardware and software. It provides an interface between a computer and the user and increases computer efficiency by helping users share computer resources and by performing repetitive tasks for users. Control programs manage computer hardware and resources by performing the following functions: Job management—control and prioritize tasks performed by the CPU. Resource allocation—manage computer resources, such as storage and memory. In a network, control programs are also used for tasks, such as assigning a print job to a particular printer. Data management—control data integrity by generating checksums to verify that data has not been corrupted or changed. Communication—control the transfer of data among parts of a computer system, such as communication between the CPU and I/O devices. The supervisor program, also known as the kernel, is responsible for controlling all other programs in the OS, such as compilers, interpreters, assemblers, and utilities for performing special tasks. In addition to single-tasking and multitasking OSs, time-shared OSs allow several users to use computer resources simultaneously. OSs are also available in a variety of platforms for both mainframes and personal computers. Two new operating systems for smartphones and other handheld devices have attracted much attention in recent years: iOS and Android. B. Application Software A personal computer can perform a variety of tasks by using application software, which can be commercial software or software developed in house. In-house software is usually more expensive than commercial software but is more customized and often fits the users’ needs better. The following sections gives an overview of common categories of commercial application software for personal computers. In addition to these, many other categories of software are available, such as information management software, Web-authoring software, and photo and graphics software. Word-Processing Software One is probably most familiar with word-processing software used to generate documents. Typically, this includes editing features, such as deleting, inserting, and copying text. Advanced word-processing software often includes sophisticated graphics and data management features. Word-processing software saves time, particularly for repetitive tasks, such as sending the same letter to hundreds of customers. Spreadsheet Software A spreadsheet is a table of rows and columns, and spreadsheet software is capable of performing numerous tasks with the information in a spreadsheet. One can even prepare a budget and perform a “what-if” analysis on the data. Common spreadsheet software includes Microsoft Excel, IBM’s Lotus 1-2-3, and Corel Quattro Pro. Database Software Database software is designed to perform operations such as creating, deleting, modifying, searching, sorting, and joining data. A database is essentially a collection of tables consisting of rows and columns. Database software makes accessing and working with data faster and more efficient. For example, manually searching a database containing thousands of records would be almost impossible. With database software, users can search information quickly and even tailor searches to meet specific criteria, such as finding all accounting students younger than 20 who have GPAs higher than 3.6. Popular database software for personal computers includes Microsoft Access, FileMaker Pro, and Alpha Software’s Alpha Five. High-end database software used in large enterprises includes Oracle, IBM DB2, and Microsoft SQL Server. Presentation Software Presentation software is used to create and deliver slide shows. Microsoft PowerPoint is the most commonly used presentation software. One can include many types of content in slide shows, such as bulleted and numbered lists, charts, and graphs. Individuals can also embed graphics as well as sound and movie clips. Presentation software also offers several options for running slide shows, such as altering the time interval between slides. In addition, one can usually convert presentations into other formats, including Web pages and photo albums with music and narration. Another option in some presentation software is capturing what is on the computer screen and then combining several screen captures into a video for demonstrating a process, which can be useful in educational settings or employee training seminars, for example. Graphics Software Graphics software is designed to present data in a graphical format, such as line graphs and pie charts. These formats are useful for illustrating trends and patterns in data and for showing correlations. Graphics are created with integrated packages, such as Excel, Lotus 1-2-3, and Quattro Pro, or dedicated graphics packages, such as Adobe Illustrator and IBM Freelance. Desktop Publishing Software Desktop publishing software is used to produce professional-quality documents without expensive hardware and software. This software works on a “what-you-see-is-what-you-get” concept, so the high-quality screen display gives one a good idea of what one will see in the printed output. Desktop publishing software is used for creating newsletters, brochures, training manuals, transparencies, posters, and even books. Many desktop publishing packages are available; three popular ones are Adobe InDesign, QuarkXPress, and Microsoft Office Publisher. Financial Planning and Accounting Software Financial planning software, which is more powerful than spreadsheet software, is capable of performing many types of analysis on large amounts of data. These analyses include present value, future value, rate of return, cash flow, depreciation, retirement planning, and budgeting. A widely used financial planning package is Intuit Quicken. Using this package, one can plan and analyze all kinds of financial scenarios. In addition to spreadsheet software, dedicated accounting software is available for performing many sophisticated accounting tasks, such as general ledgers, accounts receivable, accounts payable, payroll, balance sheets, and income statements. Some popular accounting software packages include Intuit QuickBooks, a small-business accounting software, and Sage Software’s Peachtree. Project Management Software A project, such as designing a Web site or setting up an order entry system, consists of a set of related tasks. The goal of project management software is to help project managers keep time and budget under control by solving scheduling problems, planning and setting goals, and highlighting potential bottlenecks. One can use such software to study the cost, time, and resource impact of schedule changes. There are several project management software packages on the market, including Microsoft Project and Micro Planning International’s Micro Planner. Computer-Aided Design Software Computer-aided design (CAD) software is used for drafting and design, and it has replaced traditional tools, such as T-squares, triangles, paper, and pencils. It is used extensively in architecture and engineering firms, but because of major price reductions and increases in PC power, small companies and home users can now afford this software. Widely used CAD software includes Autodesk AutoCAD, Cadkey, and VersaCAD. VIII. Computer Languages The first generation of computer languages, machine language, consists of a series of 0s and 1s representing data or instructions. Machine language depends on the machine, so code written for one type of computer does not work on another type of computer. Assembly language, the second generation of computer languages, is a higher-level language than machine language but is also machine dependent. It uses a series of short codes, or mnemonics, to represent data or instructions. Writing programs in assembly language is easier than in machine language. Third-generation computer languages are machine independent and are called high-level languages. Three of the most widely used languages are C++, Java, and VB.NET. These languages are used mostly for Web development and Internet applications. High-level languages are more like English, so they are easier to learn and code. Fourth-generation languages (4GLs) are the easiest computer languages to use. The commands are powerful and easy to learn, even for people with little computer training. Sometimes, 4GLs are called nonprocedural languages, which means one does not need to follow a rigorous command syntax to use them. Instead, 4GLs use macrocodes that can take the place of several lines of programming. Fifth-generation languages (5GLs) use some of the artificial intelligence technologies such as knowledge-based systems, natural language processing (NLP), visual programming, and a graphical approach to programming. Codes are automatically generated and designed to make the computer solve a given problem without a programmer or with minimum programming effort. These languages are designed to facilitate natural conversations between an individual and the computer. Programming languages used for Internet programming and Web development include ActiveX, C++, Java, JavaScript, Perl, Python, PHP, Visual Basic, and Extensible Stylesheet Language (XSL). The most important Web development languages are Hypertext Markup Language (HTML) and Extensible Markup Language (XML). Both languages are markup languages, not full-featured programming languages. Key Terms A computer is a machine that accepts data as input, processes data without human intervention by using stored instructions, and outputs information. (P.25) The central processing unit (CPU) is the heart of a computer. It is divided into two components: the arithmetic logic unit (ALU) and the control unit. (P.27) The arithmetic logic unit (ALU) performs arithmetic operations (+, –, *, /) as well as comparison or relational operations (, =); the latter are used to compare numbers. (P.27) The control unit tells the computer what to do, such as instructing the computer which device to read or send output to. (P.27) A bus is a link between devices connected to the computer. It can be parallel or serial, internal (local) or external. (P.27) A disk drive is a peripheral device for recording, storing, and retrieving information. (P.27) A CPU case is also known as a computer chassis or tower. It is the enclosure containing the computer’s main components. (P.27) A motherboard is the main circuit board containing connectors for attaching additional boards. It usually contains the CPU, Basic Input / Output System (BIOS), memory, storage, interfaces, serial and parallel ports, expansion slots, and all the controllers for standard peripheral devices, such as the display monitor, disk drive, and keyboard. (P.27) Input devices send data and information to the computer. Examples include a keyboard and mouse. (P.31) An output device is capable of representing information from a computer. The form of this output might be visual, audio, or digital; examples include printers, display monitors, and plotters. (P.32) Main memory stores data and information and is usually volatile; its contents are lost when electrical power is turned off. It plays a major role in a computer’s performance. (P.33) Secondary memory, which is nonvolatile, holds data when the computer is off or during the course of a program’s operation. It also serves as archival storage. (P.33) Random access memory (RAM) is volatile memory, in which data can be read from and written to; it is also called read-write memory. (P.33) Cache RAM resides on the processor. Because memory access from main RAM storage takes several clock cycles (a few nanoseconds), cache RAM stores recently accessed memory so the processor is not waiting for the memory transfer. (P.33) Read-only memory (ROM) is nonvolatile; data cannot be written to ROM. (P.33) A magnetic disk, made of Mylar or metal, is used for random-access processing. In other words, data can be accessed in any order, regardless of its order on the surface. (P.33) Magnetic tape, made of a plastic material, resembles a cassette tape and stores data sequentially. (P.33) Optical discs use laser beams to access and store data. Examples include CD-ROMs, WORM discs, and DVDs. (P.34) A redundant array of independent disks (RAID) system is a collection of disk drives used for fault tolerance and improved performance, and is typically found in large network systems. (P.34) Used for online storage and backup, cloud storage involves multiple virtual servers that are usually hosted by third parties. Customers buy or lease storage space from third parties based on their current or future needs. (P.34) A storage area network (SAN) is a dedicated high-speed network consisting of both hardware and software used to connect and manage shared storage devices, such as disk arrays, tape libraries, and optical storage devices. (P.35) Network-attached storage (NAS) is essentially a network-connected computer dedicated to providing file-based data storage services to other network devices. (P.35) A server is a computer and all the software for managing network resources and offering services to a network. (P.38) An operating system (OS) is a set of programs for controlling and managing computer hardware and software. It provides an interface between a computer and the user and increases computer efficiency by helping users share computer resources and by performing repetitive tasks for users. (P.38) Application software can be commercial software or software developed in house and is used to perform a variety of tasks on a personal computer. (P.39) Machine language, the first generation of computer languages, consists of a series of 0s and 1s representing data or instructions. It is dependent on the machine, so code written for one type of computer does not work on another type of computer. (P.42) Assembly language, the second generation of computer languages, is a higher-level language than machine language but is also machine dependent. It uses a series of short codes, or mnemonics, to represent data or instructions. (P.42) High-level languages are machine independent and part of the third generation of computer languages. Many languages are available, and each is designed for a specific purpose. (P.42) Fourth-generation languages (4GLs) use macro codes that can take the place of several lines of programming. The commands are powerful and easy to learn, even for people with little computer training. (P.42) Fifth-generation languages (5GLs) use some of the artificial intelligence technologies, such as knowledge-based systems, natural language processing (NLP), visual programming, and a graphical approach to programming. These languages are designed to facilitate natural conversations between you and the computer. (P.42) Instructor Manual for MIS Hossein Bidgoli 9781305632004, 9781337625999, 9781337625982, 9781337406925

Document Details

Related Documents

Close

Send listing report

highlight_off

You already reported this listing

The report is private and won't be shared with the owner

rotate_right
Close
rotate_right
Close

Send Message

image
Close

My favorites

image
Close

Application Form

image
Notifications visibility rotate_right Clear all Close close
image
image
arrow_left
arrow_right