# CACS/Printable version

The current, editable version of this book is available in Wikibooks, the open-content textbooks collection, at
https://en.wikibooks.org/wiki/CACS

# Preface

The Wikibook Introduction to computers and communications technology.

## Scope and Audience

This textbook is intended to provide a comprehensive overview of the field, useful to those who will practice in it, and those who need to deal with it peripherally. While it is not a technical work it does deal with technology and describes its structure, background, content, and business in some detail. This means that it while it can be a general survey, it cannot be necessarily simple. Every attempt is made to add no more complex details than are necessary to place a part of the field in context. But context here also means having a general understanding of the internals of an area, and so some complexity is unavoidable.
Thus there are three goals established:
* To be comprehensive and complete in terms of the areas covered.
* To provide enough detail for each area so that the reader can understand what work is accomplished by its practitioners and how that area relates to the rest of the field.
* To avoid enough technical detail so that a reader who isn't involved in an area does not get trapped in it.
These goals may at first seem contradictions, but they are not mutually exclusive. Instead they serve as boundaries to identify the material included for each topic. Another limit is imposed with respect to large or mainframe computers. The mainframe environment and history are briefly discussed in the introducyion to each part, but most material is based on the now ubiquitous personal or desktop computer environment.

### Professional Readers

Those who actively work in computers and communications tend to increase the depth of their knowledge and skills within a limited domain. As they accumulate greater experience and skill, their viewpoint tends to become increasingly that of a single role or area within the discipline. While this text can serve them for an initial survey of the field, its greatest value will be as a continued reference and context to provide a higher level view of those areas outside of their specialty.
An online, collaborative text may be particularly valuable in this second role. All of the areas, disciplines, roles, and uses of this technology are changing. Indeed, the rate of change seems to increase geometrically, while the number of areas or specialties increases exponentially. Unlike a paper text, an online one can be maintained rapidly and constantly. Once the reader is familiar with the format and content of the work, future reference is easier. So when presented with a new feature, function, or technology there is an updated textbook that's just like the one they used before. While some may prefer a paper copy for initial use, an updated copy may be continually available.

### Non-Professional Readers

Very few professions today escape being affected by the application of computers and the related communication technology. For those who work in other disciplines an up to date survey and reference may also be valuable when they must deal with the impact of the technology within their own field. When forced to interact with the high priests of technology, they need not compete to get their viewpoint recognized while ignorant of the goals, practices, and terminology of the ordained. When a piece of these technologies interacts with your own business, this will not replace a user manual, or even the level of the Topic X for Dummies. What it does is to provide the background and context that make those materials more useful.

## Terminology

There are four words used in this work that require some explanation. The words platform, entity, element, and component are used loosely, but with some intent. Generally the term entity is used to describe the thing being considered or addressed by a topic, element is used to describe a feature or function of the entity being discussed, and component is used to describe a unit that is considered as a whole, and stands alone for some functions, while platform refers to the group of components that are prerequisite to the entity under discussion. Each term frequently represents the specific being discussed and its peers or similar units that operate at the same level.
A specific area or topic may be treated at all four levels. Consider a single Web Page as an example. When describing the Client–Server model of the Internet, it is a component. When considering HTML it is a part of the platform. In a part of the discussion of Web Site Construction it is first an element of the site, and then an entity since there are several topics that directly discuss Web Pages.

## Structure

The question of how to organize a comprehensive technology overview is both fundamental and complex. You can probably think of ways to improve the organization chosen (I know I do every time I look at it). This section outlines of the survey's major organization into parts and briefly identifies the main subject for each part.
The overview is organized into a decomposition hierarchy. The hierarchy is presented two layers at a time. Subject definitions are always presented twice, once with their parent subject and again in their own introduction.
For full detail, see the: CACS:Contents
Subject areas and major parts are listed below:
* Hardware – The machines that are computers and their supporting attachments.
** Computing Machines – The fundamental engines of the revolution.
** Peripherals – The things that tie the computers to worthwhile work.
** Architectures – The structure that ties things together.
** Communications – The hardware that couples computers and components.
* Software – The program components that make the computer world accessible.
** Platforms – Operating Systems and basic Tool Suites.
** Middleware – The attachment layer.
** Construction Tools – Languages, Environments, and builders of all kinds.
** Applications – Tool sets that are used to do real work.
** Architecture – Structures for coupling components.
* Communications – Things that let computers and people connect to each other.
** Architecture – In communications, the Structure comes first.
** Networks – Computers and users coupled to gain processing power and leverage.
** Internet – The virtual structure that ties networks together.
** Content – The information that makes the structure worth having.
* Applications – Applying the computer world to get things done.
** Desktop – Direct support of human efforts.
** Departmental – Those applications that support a single function or functional area.
** Process – Applications that support a broader work effort.
** Platforms – Generic applications, structures, and architectures for all kinds of work.
** Vertical – Organizing applications by Industry Group.
* Services – How work gets done.
** Skills, specialties, and expertise.
** Methods and Life Cycles.
** Analysis and Programming – Specialties, Languages.
** Education and training, certification.
** Related functions: project management, business planning, consulting.
* Business – How computers, software, and applications are bought and sold.
** Manufacturers –
** Software Vendors –
** Support Structures –
** Service Providers –
** Newly Enabled Functions – Call centers, knowledge base, Supplier-company-customer integration.
** Packaging – Retailing, OEM, Integrators, Alliances.
Some things fell off this hierarchy, and are contained in other areas of topics. These are:
* History –
* Miscellaneous Topics – Stray interesting topics that affect multiple areas.
* Lists –
** Glossary – An industry full of buzzwords, a consolidated glossary.
** Reference Data –
** Companies –
** Organizations –
** Index –

## Authors

Any work with the broad and inclusive scope proposed cannot succeed without the contributions of many individuals, both experts and generalists. If this text is to be useful to the general audience, it also needs a lot of amateurs to insure that it stays readable. Thanks in advance to all contributors.
As in any good Wiki, details of contribution will be kept for each subject on the page history. Major contributors who wish to be identified will be acknowledged on the CACS/Authors page.
There is to be a separate page about writing sections of this book, and it is kept on the CACS/Author Guidelines page. To comment on direction or structure please use the Talk page of the part, chapter, section or topic.

# Authors

This Wikibook is a the result of a collaborative effort by a number or contributors. All of them are gratefully acknowledged, and thanked for their good work.
The only ones identified here are those who have chosen to share the blame for its shortcomings. You can contact any of them through their Wikibook user talk page or by eMail. --- Contributors in alphabetic order are:
* LouI - just a start up of the work. (instigator, nag, and critic).

# Hardware Introduction

This part contains a survey of the world of computer hardware. This chapter introduces computer hardware and provides a very short history of computing. This section introduces the computing environment thrugh a brief history of computers and an overview of the subjects within hardware.

## Outline of computer history

There is some disagreement about when the digital age began. After all, the Babylonians used a kind of abacus about 500 BC. If we call it the computer age, we can get a much cleaner mark. 1951 was a watershed year, and two events identify it as the beginning. The UNIVAC became the first commercially available digital computer. That same year a research team at MIT completed the first user-interactive computer (named Whirlwind) that used a keyboard and a television screen or CRT. Considering developments by decades gives a pretty clear picture of the evolution of computers.
* 1950s the vacuum tube decade - introduction of computers and their use in business and major scientific research;
* 1960s the mainframe decade - transistor-based computers used in business;
* 1970s the PC decade - the first CPU on a chip to widely available personal computers;
* 1980s the software decade - windows, games, and spreadsheets make the PC useful;
* 1990s the internet decade - creation and then commercialization of the Web.

### Vacuum tubes

computer hardware notes

### World Wide Web
## Computer Hardware

All notes of Computer hardware

# User Conundrum

Wiki Note
This note will be removed later. The entire essay may become a secion within an Introduction Chapter. Or, it might remain here and just have an assigned reading on the introduction. Please use the Talk page for this entry for additional discussion. Thanks. LouI

# The Myth of the User

There are several terms widely used in the computer industry that are not clearly defined. The result is that everyone understands them and uses them, but the use may tend to complicate rather than illuminate a discussion. This outline looks just two of these terms in the context of an application within a fairly large corporation. Then it draws some conclusions about the impact of context on the use of terminology.
Consider the terms User and Application. The User is defined as the person who uses a computer. The Platform is the hardware or software that supports an application or a system. The suggested application is one of monitoring and use of a particular resource pool across an area of the company.

## The Application

Project and unit managers share a common resource pool. They budget and track the use of the pool in their area. They use a series of spreadsheets that show their planned vs. actual use of many resources. The data is extracted for their status reports. The data is also uploaded through the company's networks for use in other summaries of the effective use of the resource pool. These support the manager and planning staff that are responsible for the pool.
To make this work, a set of spreadsheet macros are in place to ensure data validity and consistency. These templates are put in place by the corporate IT staff. The end-user needs to record their work results, using the spreadsheets by an arbitrary cutoff time on Friday.

## The Software Hierarchy

Now consider the hierarchy of software engineering that puts this application in place.
* The Spreadsheet application has a programming team that work for the software vendor. They assume an Intel Pentium running Windows NT as their platform. They produce a set of software that integrates the work of the Visual Basic for Applications team with the next release of the operating system software and their own code (written in C++) to produce a working application.
* The vendors packaging team puts this together with the other desktop embedded applications to produce an integrated version or release of the composite operating system.
* The corporate IT department takes this software, along with the company standard network, Operating System,, and desktop applications as their platform. They add the VBA macros with upload and reporting utilities that will make the aggregate set of applications work. Then they lock the results to ensure that no bad input comes from the end-users. They deliver their work to the system administrators.
* The system administrators in each division install the results. Some of these are on department servers, and some on individual desktops. The entire assembled application is their platform, and the desktops of the affected staff the target domain for their work.
* The individual manager now uses the entire work product as a seamless platform to do their work.
The example could be extended further. The extensions in Step 3 could be produced by an outside Value Added Reseller to produce a resource planning system. Step 1 could look into the earlier history in Hardware for PC Configuration, BIOS, Operating Systems, The C++ compiler, etc. But these 5 layers are quite complex enough to illustrate the terminology problems.
For those who are have never worked in this situation, this is NOT an uncommon example. Millions of people work in this environment every day at your bank, your university, or the manufacturer of your automobile.

## The Confusion

The above example is fine when it works. But, what about when it fails? As the end-user, I've got a problem in my spreadsheet, and an error message. I find something from the 1st level, the User's Guide, and try to find a solution. But it is a hopeless quest. I can't use most of the options they discuss. I can't even inspect the VBA code that the guide says my error message comes from. The usually helpful System Admin who put this new update on my desk is equally puzzled, and other users haven't reported a problem. So, what went wrong?
Every layer in the hierarchy has their own viewpoint. Everything in the layers above them is viewed as a Platform and constitutes a given. Every participant in the layers below them is the User and is considered with the same monolithic view.
In some cases, the monolithic view is correct, but even then it is usually distorted. When I buy a new PC for home use, I have the seemingly unfiltered copy of the spreadsheet. But even here, the software was preinstalled by the people I bought the PC from. They chose certain options left by the 1st level spreadsheet team to make the installed software work with this particular configuration. Certain other options may be precluded by their choices.
A really good practitioner working in the hierarchy will be partially aware one layer above and below their own level. They can influence the layer above them, through user groups or other methods. They can consider the needs of those one layer below them, and improve their product and documentation to help out, but only as limited by budgets and competitive factors.

## Conclusions

If you begin to understand the problem, then Welcome to the world of Computers!. But you can also understand how many niches in this world open opportunities for integrators and vendors. How a Peoplesoft vendor can package and sell an integrated solution for a business function. How a high-powered consulting firm can charge high prices to help corporate management try to cope. Why the industry keeps looking for something like an XML magic wand to make it fit together.
And most of all, how some kind of mental framework is needed before you can see how the pieces fit together. This kind of a framework is called an Architecture, and several of them are needed to see how the pieces fit together.

# Glossary

Glossary of Computer and Communications Terms
For each term in the Glossary, there is a single data page. When a term is usually known by its acronym, it is defined on a page with that title. When needed, redirect pages will be used to get to that data page from any other frequently used names.
Many terms contained here have more information than is displayed in a simple definition. When a word or phrase within a definition is shown in italics, that word or phrase is also expected to appear in the glossary. A list of All terms is contained at the bottom of this page.
Terms in the Glossary include: processes, languages, terms of art, acronyms, hardware devices, software package names, companies and organizations. Every effort is made to note those that are trademarks or proprietary names. All such use is intended to be made under fair use conditions and should not reduce the owner's rights or the terms of the GNU/GFDL license applied to this work as a whole. The full text of the free use license that applies here is located at Wikipedia License.
The following is Subject to Change. Currently each term is being set up on a subpage of the Glossary. This is mandated by their intended use in pop-up windows when reading the book.

## List of Terms
### A

Active Server Page - Actual Cost of Work Performed - ACWP - Adobe - ADP - Aldus - ANI - Animated Cursor - Apache - Apache Software Foundation - ASP - Application - Application Service Provider - Assembler - Assembly - Assembly Language

### B

Basic - Binary - Borland

### C

Computer - CSS

### G

General Routing Encapsulation - GRE - HTML - Hypertext Markup Language

### I

ISOC

### M

MPLS - Multiprotocol Label Switching

### P

PKI - Public Key Infrastruture

### T

Tunneling

### U

Unary Operator - Unicode - Uniform Resource Identifier - Uniform Resource Locator - Uniform Resource Name - URI - URL - URN

### V

Virtual Private Network - VPN

# Index

This page is not yet a normal Index. The capabilities of search engines now satisfy some of the needs formerly addressed by a paper index. That means that as this volume nears completion, the content or use of this page may need redesign.
Currently the page is more of a notepad or guide for an author than it is an aid to the ultimate reader. For any index entry, there is simply a list of those pages, by full name, that have some bearing on the subject. Having this cross reference will aid in updating topics that involve several pages as well as reviewing them to ensure consistency.
Please Direct comments and suggestions for the format and content of this page to its Talk Page.

## Index Subjects
### component

    (as used in the book) CACS/Preface#Terminology

### HTML

    CACS/Glossary/HTML

### Hypertext Markup Language

    CACS/Glossary/HTML