Computing: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

RAM (Random Access Memory) is a hardware component

Computing is usually defined as the activity of using and improving computer technology, computer hardware and software. It is the computer-specific part of information technology. Computer science (or computing science) is the study and the science of the theoretical foundations of information and computation and their implementation and application in computer systems.

Computing Curricula 2005[1] defined computing:

In a general way, we can define computing to mean any goal-oriented activity requiring, benefiting from, or creating computers. Thus, computing includes designing and building hardware and software systems for a wide range of purposes; processing, structuring, and managing various kinds of information; doing scientific studies using computers; making computer systems behave intelligently; creating and using communications and entertainment media; finding and gathering information relevant to any particular purpose, and so on. The list is virtually endless, and the possibilities are vast.

A computer is a machine that manipulates data according to a set of instructions called a computer program. The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-readable source code form, enables a programmer to study and develop the algorithm. Because the instructions can be carried out in different types of computers, a single set of source instructions converts to machine instructions according to the central processing unit type.

The execution process carries out the instructions in a computer program. Instructions express the computations performed by the computer. They trigger sequences of simple actions on the executing machine. Those actions produce effects according to the semantics of the instructions.

Computer programming in general is the process of writing, testing, debugging, and maintaining the source code and documentation of computer programs. This source code is written in a programming language, which is an artificial language, restrictive, demanding, and unforgiving to humans but easily translated by the computer. The purpose of programming is to invoke the desired behaviour (customization) from the machine. The process of writing high quality source code requires knowledge of both the application's domain and the computer science domain. The highest quality software is thus developed by a team of various domain experts, each person a specialist in some area of development. But the term programmer may apply to a range of program quality, from hacker to open source contributor to professional. And a single programmer could do most or all of the computer programming needed to generate the proof of concept to launch a new "killer" application.



The term computing, more commonly known as computer science, has sometimes been narrowly defined, as in a 1989 ACM report on Computing as a Discipline[2]:

The discipline of computing is the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all computing is 'What can be (efficiently) automated?

Computing Curricula 2005[1] also recognizes that the meaning of computing depends on the context:-

Computing also has other meanings that are more specific, based on the context in which the term is used. For example, an information systems specialist will view computing somewhat differently from a software engineer. Regardless of the context, doing computing well can be complicated and difficult. Because society needs people to do computing well, we must think of computing not only as a profession but also as a discipline.

The term computing is also synonymous with counting and calculating. In earlier times it was used in reference to mechanical computing machines.

A computer is an electronic device that sends and receives data. The most common examples are microcomputers, minicomputers and mainframe computers. Other examples include mobile phones, mp3 players, satellites, video game consoles, virtually anything that can send and receive data.

Science and theory


See information processor for a high-level block diagram.

Instruction-level taxonomies

After the commoditization of memory, attention turned to optimizing CPU performance at the instruction level. Various methods of speeding up the fetch-execute cycle include:


History of computing

Business computing

Human factors

Computer network

Wired and wireless computer network

Computing technology based wireless networking (CbWN)

The main of goal of CbWN is to optimize the system performance of the flexible wireless network.

Computer security


Numeric data

Character data

Other data topics


Classes of computers

Companies - current

Companies - historic



Standards bodies

See also: Standardization and Standards organization

Open standards

See also Open standard

See also


  1. ^ a b The Joint Task Force for Computing Curricula 2005. Computing Curricula 2005: The Overview Report (pdf)
  2. ^ Computing as a Discipline (pdf)


Up to date as of January 14, 2010
(Redirected to Computers article)

From Wikiquote

A computer is a machine for manipulating data according to a list of instructions. Computers take many forms, from early room-sized complexes to modern personal computers (PCs) and personal digital assistants (PDAs) to tiny embedded systems that add sophisticated capabilities to other devices like toys and appliances.



  • Dare to be gorgeous and unique. But don't ever be cryptic or otherwise unfathomable. Make it unforgettably great.
    • Robert J. Mical, Amiga Intuition Reference Manual, 1986, (ISBN 0201110768), p. 231
  • Mr. McKitrick, after careful consideration I have come to the conclusion that your defense system sucks.
  • Trust The Computer. The Computer is your friend.
  • "So computers are tools of the devil?" thought Newt. He had no problem believing it. Computers had to be the tools of somebody, and all he knew for certain was that it definitely wasn't him.
  • Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.
  • The simple fact is that without supporting directives or a mechanism for feedback, security is defined differently by each person and verified by no one. There is no metric for compliance with a "culture", and a "culture of security" is overridden by a culture of "get the job done" every time. If there are rules, write them down. If technology is put in place to implement or monitor the rules, write that down too. If people break the rules, follow up. If the rules prevent legitimate business from getting done, change them. It's that simple.
  • It used to be said of a man who had suffered a catastrophic setback in his line of work that he had been handed his head on a platter. We are being handed our heads with tweezers now.
  • I have bought this wonderful machine- a computer. Now I am rather an authority on gods, so I identified the machine- it seems to me to be an Old Testament god with a lot of rules and no mercy.


  • Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?
    • "Epigrams in Programming", SIGPLAN, Association for Computing Machinery, September 1982
  • Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
  • A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year.
  • Interviewer: Is studying computer science the best way to prepare to be a programmer? Bill Gates: No. the best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system. You got to be willing to read other people's code, then write your own, then have other people review your code. You've got to want to be in this incredible feedback loop where you get the world-class people to tell you what you're doing wrong.
    • "Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry", Tempus, by Susan Lammers (Editor)

Computer games



  • Your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of Minix.
  • Will journalling become prevalent in the Unix world at large? Probably not. After all, it's nonstandard.
    • The UNIX Hater's Handbook, 1994, ISBN 1568842031, unidentified chapter/page
  • Linux users think Abraham was ordered to sacrifice Linus as a burnt offering, GNU users think Abraham was ordered to sacrifice Stallman as a burnt offering. Linux users believe in the holy trinity of GNU/Linux/NvidiaBlobs, BSD users believe in the one and only UNIX. Linux users are fine with Tux toys and stickers, BSD users believe in no graven images. Linux users are subdivided into those that argue about interpretations of freedom and whether the establishment is corrupt, BSD users are subdivided according to which BSD is the true descendant of UNIX(pbuh).
  • UNIX is user-friendly, it just chooses its friends.


  • If you think you can solve your security problems, then you don’t understand the problems and you don’t understand the technology.
  • The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.
  • Computer games don't affect kids, I mean if Pac Man affected us as kids, we'd all be running around in darkened rooms, munching pills and listening to repetitive music.
  • Quantum mechanic Seth Lloyd says the universe is one giant, hackable computer. Let's hope it's not running Windows.
  • On two occasions I have been asked [by members of parliament!], "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" I am not rightly able to apprehend the kind of confusion that could provoke such a question.
  • Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done.
  • Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network.
  • [Software are among the] things which can be copied infinitely over and over again, without any further costs.
  • A world full of computers which you can't understand, can't fix and can't use [because it is controlled by inaccessible proprietorial software] is a world controlled by machines.
  • .HELP SEX: This system is a computer and as such is not able to help with enquiries of this nature. For details on reproduction, see the Xerox documentation.
    • Famous Help text from Essex Dec 10
  • Computers are useless. They can only give you answers.
  • Don't trust a computer you can't throw out a window.
  • A computer is like air conditioning; it becomes useless when you open Windows.
  • "I'm not afraid of computers taking over the world. They're just sitting there. I can hit them with a two by four."


  • I think there is a world market for maybe five computers.
    • Commonly attributed to Thomas J. Watson (1874–1956), general manager and chairman of IBM, but there is no evidence he ever said or wrote this. The earliest known citations occurred in the 1980s.[2]

See also

External links

Wikipedia has an article about:

Study guide

Up to date as of January 14, 2010
(Redirected to Portal:Computer Science article)

From Wikiversity


The Computer Science Portal

Telephony multiplexer system.gif

Welcome to the Computer Science Portal. This Portal is a directory of Computer Science pages at Wikiversity. This directory page provides links to Computer Science learning resources that have been developed by the various Wikiversity Computer Science content development projects. The main content development project is the School of Computer Science. This portal features exciting examples of Computer Science learning resources. Wikiversity participants who are interested in Computer Science are invited to create and participate in learning projects and learning resources and help organize them by developing this portal. We're just starting, but we already have some good materials. The Computer Science Portal serves to provide quick access to everything in the Computer Science category.


Featured learning resource

This month's featured resource is Computer Networks


Featured development projects


Selected research

Building an artificial neural network using reinforcement learning strategies
This project is devoted to making a neural network model of hippocampal place cells and simulating the activity of model neurons under conditions that model when a laboratory animal is in a Morris water maze.

What is happening in an animal's brain as it learns to swim consistently straight to a target? At this point, science can't really answer this question in full detail. One can only speak of spatial learning, place learning, cognitive maps formation and memory in general. This project tries to explore a mathematical model of these processes by making use of computers.


Did you know...

Wikiversity screen saver prototype 0.04en - 2007-Oct-01.OGG
Watch a video preview of the screen saver in Ogg file format,
only 320x240 view).

Did you know that Wikiversity has its own screen saver?


Related portals


Content development projects





"To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge." Grace Hopper,


Computer Science learning projects

Anthropomorphic Robotics - Computer science program - Introduction to Computer Science - Introduction to Programming in Java - A Hands-On Introduction to Game Design and Production Processes - C Source Codes - Operating Systems - Operate a personal computer - Checking open proxies - Configuring and administering a network operating system - Conway's Game of Life - Cryptography - Data Structures and Algorithms - Distributed P2P search engine - Embedded System Engineering - Websites Qualification - Information management using open source - Introduction to SQL - Introduction to algorithms - Introduction to boolean logic - Markerless Tracking - Massive Multiplayer Online Role Playing Game Research Project - OpenMoko - Python Operators - Quantum computing - Reinforcement learning - Remote Learning Development - Wikiversity computer skills - Software testing/Introduction - Unsolved problems in software engineering - Wikiversity screen saver


Things you can do

Stock post message.svg To-do list for Portal:Computer Science: edit · history · watch · refresh

Here are some tasks you can do:

Computer Science news

  • Always looking for new contributors and participants!
  • August 9, 2007: Introduction to Technical Writing welcomes contributors and editors
  • January 19, 2007: computer science portal
  • August 16, 2006: - School of Computer Science founded!

Purge server cache


Up to date as of January 23, 2010
(Redirected to Wikibooks:Computing department article)

From Wikibooks, the open-content textbooks collection


Biology | Computer Science | Computer Software | Education | Health science | History | Humanities | Language and Literature | Languages | Law | Mathematics | Natural Sciences | Physics | Programming Languages | Social Sciences | Study Guides | Misc. | Wikibooks Help

Computer Science

GENERAL TOPICS - A-level Computing Development stage: 00% (as of Jan 22, 2006) - Algorithms Development stage: 50% (as of Jan 24, 2005) - Algorithms From THE BOOK Development stage: 00% (as of May 10, 2007) - Advanced Data Structures and Algorithms Development stage: 00% (as of Jan 24, 2005) - Basic Computer Security Development stage: 00% (as of July 19, 2006) - Cryptography Development stage: 00% (as of ) - Technology Certifications Development stage: 00% (as of ) - Data Structures Development stage: 25% (as of Jan 24, 2005) - Open Source Development stage: 00% (as of ) - Operating System Design - Reverse Engineering Development stage: 25% (as of Oct 24, 2005) - The Computer Revolution Development stage: 25% (as of ) - The Design and Organization of Data Centers Development stage: 25% (as of ) - THEORY - Computability and Complexity Development stage: 50% (as of May 9, 2007) - Logic for Computer Scientists - Parallel Processing Theory and Application Development stage: 00% (as of Jan 16, 2005) - Self-Replicating Automata Development stage: 25% (as of Jan 16, 2005) - PROGRAMMING - Active Server Pages Development stage: 25% (as of ) - ASP.NET Development stage: 50% (as of Jan, 01 0000) - Cocoa Development stage: 50% (as of Jan, 01 0000) - Compiler Construction Development stage: 25% (as of Jan, 01 0000) - GNU C Compiler Internals Development stage: 50% (as of Jan, 05 0000) - Computer Programming Development stage: 25% (as of ) - Object Oriented Programming Development stage: 00% (as of ) - Procedural programming Development stage: 00% (as of Apr 21, 2007) - Software Engineering Development stage: 25% (as of Jan, 01 0000) - Struts Development stage: 25% (as of Jan, 01 0000)PROGRAMMING LANGUAGES BOOKSHELFDOMAIN-SPECIFIC LANGUAGES BOOKSHELFCOMPUTATIONAL INTELLIGENCE - Artificial Intelligence Development stage: 25% (as of Jan 27, 2005) - Programming AI with Leaf Development stage: 00% (as of Nov 25, 2006) - Neural Networks Development stage: 00% (as of ) - Robotics Development stage: 25% (as of Jan, 01 0000) - COMMUNICATIONS AND NETWORKING - Internet Technologies Development stage: 25% (as of ) - CORBA Development stage: 00% (as of ) - Ports and Protocols Cross-Reference Development stage: 00% (as of ) - Communication Systems - Voice over IP Development stage: 00% (as of Sept, 20 2005) - Semantic web - XForms Tutorial and Cookbook - COMPUTING IN INDUSTRY - Collected Real-life Experiences Development stage: 00% (as of ) - Database Management System Development stage: 25% (as of )

(edit template)
All Computer Science books...
Computer software

GENERAL GUIDESChoosing The Right File Format Development stage: 25% (as of unknown)How To SearchUsing AsUnitERP Internals Development stage: 25% (as of January 26, 2007)SOFTWARE GUIDESUsing Firefox Development stage: 50% (as of March 8, 2005)Geospatial Data in SQL Server Development stage: 25% (as of December 17, 2007)Gmail Development stage: 75% (as of Nov 5 2005)Using GNOME Development stage: 25% (as of unknown)Excel Development stage: 25% (as of unknown)Microsoft Excel Programming Recipes Development stage: 25% (as of September 26, 2005)Using Development stage: 25% (as of unknown)Paint.NET Development stage: 25% (as of February 15, 2007)Using PHPEclipse Development stage: 25% (as of unknown)phpMyVisites Documentation Development stage: 75% (as of July 12, 2005)Pro Engineer Development stage: 25% (as of January 11, 2005)The GIMP Development stage: 25% (as of unknown)Learning the vi editor Development stage: 75% (as of January 11, 2005)Question Writer 3 ManualDevelopment stage: 100% (as of 13:37, 3 July 2008 (UTC))OPERATING SYSTEM GUIDESAros Development stage: 50% (as of unknown)Operating System Design Development stage: 25% (as of unknown)How To Backup Operating Systems Development stage: 25% (as of unknown)Guide to UNIX Development stage: 25% (as of October 2, 2005)Mac OS X Tiger Development stage: 25% (as of December 3, 2005)UNIX Computing Security Development stage: 00% (as of November 5, 2005)LINUXKnowing Knoppix Development stage: 100% (as of October 20, 2005)Linux For Newbies Development stage: 50% (as of December 17, 2007)Linux Guide Development stage: 50% (as of October 20, 2005)WINDOWSBasic Computing Using Windows Development stage: 75% (as of September 29, 2005)Computers for Beginners Development stage: 75% (as of October 20, 2005)FREE AND OPEN SOURCE SOFTWARE (FOSS) BOOKSFOSS Licensing Development stage: 75% (as of {{{2}}})FOSS Government Policy Development stage: 75% (as of {{{2}}})FOSS Education Development stage: 75% (as of {{{2}}})FOSS A General Introduction Development stage: 75% (as of {{{2}}})FOSS Localization Development stage: 75% (as of {{{2}}})FOSS Open Standards Development stage: 75% (as of {{{2}}})

(edit template)
All Computer software books...
Information technology

GENERAL GUIDESThe Computer RevolutionDevelopment stage: 25% (as of unknown)A Technician’s Guide to MS Vista Software/Hardware Compatibility IssuesDevelopment stage: 00% (as of Feb 09, 2007)Dealing with calling tech supportDevelopment stage: 75% (as of April 22, 2006)Reverse EngineeringDevelopment stage: 50% (as of April 22, 2006)SECURITYCERTIFICATIONA+ CertificationDevelopment stage: 50% (as of April 22, 2006)AQA Information and Communication TechnologyDevelopment stage: 25% (as of unknown)CCNA CertificationDevelopment stage: 00% (as of Aug 2, 2006)GCSE Short Course ICTDevelopment stage: 00% (as of January 11, 2005)LPI Linux CertificationDevelopment stage: 25% (as of unknown)Network+ – SCDJWSDevelopment stage: 25% (as of unknown) – Weblogs:An IntroductionDevelopment stage: 00% (as of 01. Aug 2005)HARDWAREComputer HardwareDevelopment stage: 25% (as of unknown)EmulationDevelopment stage: 25% (as of unknown)WIRELESSUMTSDevelopment stage: 00% (as of March 8, 2007)WifiDevelopment stage: 25% (as of unknown)Wireless Mesh NetworksDevelopment stage: 00% (as of March 1, 2007)Wireless Mesh SensorsDevelopment stage: 00% (as of March 2, 2007)SERIAL COMMUNICATIONSHistory of Serial CommunicationsDevelopment stage: 00% (as of unknown)Serial Data CommunicationsDevelopment stage: 50% (as of unknown) – Modems and AT CommandsDevelopment stage: 50% (as of unknown) – RS-232 Technical ManualDevelopment stage: 00% (as of unknown) – RS-422 Technical ManualDevelopment stage: 00% (as of unknown) – RS-423 Technical ManualDevelopment stage: 00% (as of unknown) – RS-449 Technical ManualDevelopment stage: 00% (as of unknown) – RS-485 Technical ManualDevelopment stage: 00% (as of unknown) – MIL-STD-188 Technical ManualDevelopment stage: 00% (as of unknown) – Serial ATA Technical ManualDevelopment stage: 00% (as of unknown) – USB Technical ManualDevelopment stage: 25% (as of unknown)COMPUTER SOFTWARE BOOKSHELFICT4D BOOKSThe Information Age Development stage: 75% (as of {{{2}}})Genes, Technology and Policy Development stage: 75% (as of {{{2}}})ICT in Education Development stage: 75% (as of {{{2}}})E-government Development stage: 75% (as of {{{2}}})E-Commerce and E-Business Development stage: 75% (as of {{{2}}})Internet Governance Development stage: 75% (as of {{{2}}})Legal and Regulatory Issues in the Information Economy Development stage: 75% (as of {{{2}}})Nets, Webs and the Information Infrastructure Development stage: 75% (as of {{{2}}}) Information and Communication Technologies for Poverty Alleviation Development stage: 75% (as of {{{2}}})

(edit template)
All Information technology books...
Programming languages

MULTI PARADIGMAda Programming Development stage: 75% (as of Jul 27, 2005)C++Common Lisp Development stage: 25% (as of Feb 01, 2005)Objective-C Development stage: 25% (as of Jan, 01 0000)Perl Development stage: 50% (as of Jan, 01 0000)Python Development stage: 50% (as of Jan, 01 0000)Tcl Development stage: 75% (as of Oct, 10 2005)Visual Basic Development stage: 50% (as of Oct 24, 2005)JavaScript Development stage: 50% (as of Nov 04, 2005)IMPERATIVEBourne Shell Scripting Development stage: 50% (as of October 10, 2005)CFortran Development stage: 25% (as of Sep, 09 2005)PHP Development stage: 75% (as of Oct, 31 2005)Icon Development stage: 25% (as of Jan, 01 0000)QBasic Development stage: 25% (as of Jan, 01 0000)ActionScript Development stage: 25% (as of Jan, 18 2007)Turing Development stage: 25% (as of Jan, 01 0000)DECLARATIVEApache Ant - Development stage: 75% (as of Feb 26, 2007)(Feb 26, 2007)XForms - Development stage: 75% (as of Feb 26, 2007)(Feb 26, 2007)OBJECT ORIENTEDC# Programming Development stage: 50% (as of May 9, 2007)Delphi Programming Development stage: 25% (as of August 1, 2008)Java Programming Development stage: 25% (as of Nov 23, 2005)Ruby Development stage: 25% (as of Jan, 01 0000)Visual Basic .NET Development stage: 25% (as of Oct, 30, 2005)Objective-JLOGICProlog Development stage: 50% (as of Jan, 01 0000)FUNCTIONALErlang Development stage: 50% (as of Aug, 20 2008)Haskell Development stage: 50% (as of Jun, 18 2006)ASSEMBLY LANGUAGESx86 Assembly Development stage: 50% (as of {{{2}}})MIPS Assembly Development stage: 25% (as of {{{2}}})SPARC Assembly Development stage: 25% (as of {{{2}}})360 Assembly Development stage: 25% (as of {{{2}}})

(edit template)
All Programming language books...
Domain-specific languages

TEXT PROCESSINGAWK Development stage: 00% (as of Oct 10, 2005)Regular Expressions Development stage: 00% (as of Jun 2, 2006)MARKUPCSS – HTML – XHTML – XForms Development stage: 50% (as of Sep, 13 2006) – XML: Managing Data Exchange — CONFIGURATION MANAGEMENT – Ant- Development stage: 25% (as of Oct, 05 2005)TYPESETTINGLaTeXPostScript FAQTeXHARDWARE PROGRAMMINGProgrammable LogicDATABASE – MySQL – SQL – XQuery

(edit template)
All Domain-specific language books...

Electronic Games (see also StrategyWiki)


(edit template)
All electronic game books...
Associated Wikimedia for Computing
Wikibook Development Stages
Sparse text 00%.svg Developing text 25%.svg Maturing text 50%.svg Developed text 75%.svg Comprehensive text: 100%.svg

Got something to say? Make a comment.
Your name
Your email address